Convert your speech to British, American, Australian, or Indian accent. Powered by ElevenLabs Speech-to-Speech.
Record your voice → pick an accent → get back a converted MP3. That's it.
- Desktop shell — Tauri 2 (Rust, ~10 MB binary)
- Frontend — Next.js 15 (static export, runs in webview)
- UI — shadcn/ui + Tailwind CSS
- Backend — Node 20 + Fastify (proxies to ElevenLabs, holds your API key)
- Audio — ElevenLabs
eleven_multilingual_sts_v2Speech-to-Speech
| Requirement | Version |
|---|---|
| Node.js | 20+ |
| pnpm | 10+ |
| Rust | 1.80+ |
| ElevenLabs account | — |
Linux — install webkit2gtk and related deps first:
# Ubuntu / Debian
sudo apt install libwebkit2gtk-4.1-dev libsoup-3.0-dev libssl-dev \
build-essential curl wget file libxdo-dev libayatana-appindicator3-dev \
librsvg2-devmacOS — Xcode Command Line Tools:
xcode-select --installWindows — Microsoft C++ Build Tools + WebView2 (pre-installed on Windows 11).
git clone <repo-url>
cd accent_ai
# copy env template and fill in your ElevenLabs API key
cp .env.example .env
# edit .env → set ELEVENLABS_API_KEY=sk_...
pnpm install
# starts api + desktop together
pnpm devThe desktop app opens automatically. The API runs on http://localhost:3001.
# api only
pnpm --filter @accent-ai/api dev
# desktop (Next.js dev server only, no Tauri shell)
pnpm --filter @accent-ai/desktop dev
# desktop with Tauri shell
pnpm --filter @accent-ai/desktop tauri:dev
# run all tests
pnpm test
# typecheck everything
pnpm typecheckThe app ships with placeholder voice IDs. To pick real voices for each accent:
pnpm --filter @accent-ai/api curate-voicesThis fetches available ElevenLabs voices, downloads previews, and lets you pick 1 male + 1 female per accent. Selected IDs get written to apps/api/src/lib/voice-catalog.ts.
Set NEXT_PUBLIC_API_URL to your deployed backend URL (defaults to http://localhost:3001):
NEXT_PUBLIC_API_URL=https://api.your-domain.com pnpm build:desktopOutput lands in apps/desktop/src-tauri/target/release/bundle/.
See docs/build.md for per-platform prerequisites, debug builds, and a CI example.
note: code signing is not set up yet. users will see OS security warnings on first launch — see the workarounds below.
macOS
Right-click the .app → Open → click Open in the dialog. Or from terminal:
xattr -d com.apple.quarantine /Applications/AccentAI.appWindows
SmartScreen will block the .msi installer. Click More info → Run anyway.
Linux
AppImage: just chmod +x AccentAI.AppImage && ./AccentAI.AppImage.
.deb: sudo dpkg -i accentai_*.deb.
- Audio is sent to your own backend (which you host), which proxies to ElevenLabs.
- No analytics, no telemetry, no third-party tracking.
- Local history stays on your machine in the app data directory.
- Your ElevenLabs API key never leaves your backend.
MIT — see LICENSE (to be added).