Vibeleaderboard
Index / app
Visit github.com
Category
AI Tools
Rank

Previous survey · No. 682 ·

Pricing
Open Source
Type
APP
Use case
Design & Media
Builder
debpalash
Latest release
v0.5.7
Date

About

VoiceStudio is an open-source, fully local alternative to ElevenLabs that runs voice cloning, voice design, video dubbing, dictation, transcription, and audiobook creation entirely on-device across 646 languages, without sending audio to a cloud service.

What it does

A desktop speech studio: an Electron app on top of a local Python server that clones a voice from a short sample, designs new voices from a text description, dubs video with timed speech, transcribes, takes live dictation and builds audiobooks. The default synthesis model is OmniVoice, with other engines selectable. Each heavy engine runs in its own child process, so a stuck generation can be killed and its GPU memory reclaimed without restarting the app. The same server exposes a local HTTP API and an MCP endpoint, so coding agents can request speech directly.

Why it's ranked here

The case is breadth that stays on the machine. Speech recognition with word-level alignment, source separation, offline translation, watermarking of generated audio and several speech engines ship in one AGPL-licensed app, with installers for macOS, Windows, Linux and Docker. The engineering shows production scars: dependency pins carry comments naming the specific crash or broken import each one avoids, and the engine isolation exists because an in-process worker could not be stopped. Analytics are opt-in and off by default. The weakness is weight, not intent.

What's good

Hardware coverage is spelled out rather than implied: CUDA on NVIDIA, Metal on Apple Silicon, and a CPU path that installs a small PyTorch build needing about 5 GB of disk. Apple Silicon users get extra engines and a faster transcription path through MLX packages that are skipped elsewhere. The agent bridge is careful: it refuses to send an API key to a remote backend over plain HTTP, and it reports a dead backend with a distinct exit code. Translation and refinement can point at any OpenAI-compatible endpoint, including a local Ollama, so nothing has to leave the machine.

Tradeoffs

This is a large install. The Python side declares dozens of direct dependencies, including PyTorch, WhisperX, pyannote, Demucs and yt-dlp, several pinned below specific versions to dodge upstream breakage, which makes upgrades fragile. The AGPL covers only the app: model weights and voices carry their own licenses, and the README says the model manager does not certify commercial permission. Intel Macs get the interface only and need a remote backend, and Windows on ARM is marked experimental and CPU-only.

How to use it well

Pick it if you want ElevenLabs-style cloning, dubbing and narration on your own GPU or Apple Silicon machine, or if you want an agent to generate speech through MCP without a cloud account. Check the license of each model before commercial use, and only clone voices you have permission to use. Budget disk and setup time for the model downloads. If you only need quick English narration, the bundled lightweight English engine is the cheaper path; if you need a hosted API for a web product, this is a desktop tool, not that.

Technical notes+

backend/engines/__init__.py describes each engine as a sidecar spawned by a SubprocessBackend in the parent. backend/engines/omnivoice_subprocess/main.py speaks length-prefixed JSON (4-byte big-endian length) over stdin/stdout, caps frames at MAX_FRAME_BYTES = 64 MiB, imports torch lazily so the ready frame fits the parent's 30s spawn handshake, filters generate kwargs through _GEN_KW_ALLOWLIST, emits a progress heartbeat every 5s during cold load, and prefetches safetensors files into the page cache while imports run. backend/mcp_shim/__main__.py proxies stdio JSON-RPC to the backend's Streamable-HTTP /mcp/ endpoint, waits up to 30s on /health, and exits 0, 1 or 2 for EOF, transport error or no backend. backend/main.py patches subprocess spawning to hide Windows console windows, injects the OS trust store via truststore, and sets HF_HUB_DISABLE_XET=1 by default to keep tqdm progress working, even though pyproject.toml pulls hf-xet explicitly for fast downloads. config/app.json fixes the backend port at 3900. package.json is a bun workspace over electron/.

Observed

License
AGPL-3.0-only for the application; commercial license offered separately; model weights licensed separately
Languages
Python 3.11+ backend (FastAPI, uvicorn); Electron desktop shell in a bun workspace
Install surface
Shell installer for macOS/Linux, PowerShell installer for Windows, .dmg/.exe/.AppImage/.deb releases, Docker guide
Interfaces
Desktop app, local HTTP API, MCP server with a stdio proxy
Acceleration
CUDA on NVIDIA, Metal (MPS) on Apple Silicon, CPU fallback; Intel Mac is UI-only with a remote backend
Engine isolation
Each TTS engine runs as a child process speaking length-prefixed JSON over stdin/stdout
Analytics
PostHog, opt-in and off by default per pyproject.toml
Desktop shell
Electron only; the earlier Tauri shell has been removed

Read from README.md, pyproject.toml, package.json, backend/main.py, config/app.json, backend/engines/__init__.py, backend/engines/omnivoice_subprocess/main.py, backend/mcp_shim/__main__.py.

Tags

voice-cloningtext-to-speechdubbingtranscriptionlocal-ai

Tech Stack

Node.jsPython

Media

VoiceStudio

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.