VoiceStudio: The 82k-Star Open-Source ElevenLabs Alternative That Runs Fully Local
VoiceStudio: The 82k-Star Open-Source ElevenLabs Alternative That Runs Fully Local — Voice Cloning, Dubbing & 646 Languages You've used ElevenLabs. You know the quality. You also know the bill: per-character pricing, rate limits, and your audio data leaving your machine. What if you could get comparable voice cloning, video dubbing, transcription, and audiobook creation — across 646 languages — running entirely on your own hardware, with zero API costs and zero data egress? VoiceStudio (debpalash/VoiceStudio, 82.2k ⭐) is exactly that. It's an Electron desktop app backed by a local Python backend that bundles multiple state-of-the-art open TTS engines. You install it once. It runs offline. Your voice data never leaves your machine. What It Actually Does VoiceStudio isn't a thin wrapper around one model. It's a multi-engine orchestration layer that lets you switch TTS backends from the UI — only one loads at a time to keep memory low: Engine Size Voices Cloning License Best For VibeVoice-1.5B (default) ~5.4 GB Up to 4 speakers ✅ MIT Multi-speaker podcasts, long-form Kokoro-82M ~350 MB Built-in EN/JA/ZH ❌ Apache-2.0 Fast, lightweight, CPU-friendly Kitten TTS Mini ~79 MB 8 EN voices ❌ Apache-2.0 Runs on anything, ONNX, no GPU Chatterbox Multilingual V3 ~500 MB Zero-shot ✅ (23 langs) MIT Quick cloning, cross-lingual OmniVoice (k2-fsa) ~3.3 GB 600+ langs ✅ Clone/Design/Auto Apache-2.0* Maximum language coverage VoxCPM2 (OpenBMB) ~5 GB 30 langs ✅ Controllable/Ultimate Apache-2.0 High-quality controllable cloning Qwen3-TTS CustomVoice ~3.5 GB 9 premium + style ✅ Apache-2.0 Style-prompted generation *OmniVoice license: verify the LICENSE in k2-fsa/OmniVoice before commercial use. Plus Whisper large-v3-turbo (~1.6 GB) for in-process transcription (99 languages, .srt/.vtt export) and M2M-100 / Argos Translate for offline translation powering cross-language dubbing. Four Project Modes, One App Mode What It Does Podcast Editor Multi-segment scripts, multiple speakers, per-segment generation, cache-aware regeneration, joined WAV export Text-to-Voice Single textarea, char/word/duration counts, voice selection, instant preview Transcribe Drop audio → editable transcript → copy / send to TTS / export subtitles Dub Drop audio → transcribe → tidy segments → pick any voice → re-voice entire clip with original timing preserved (same-language or cross-language via offline translation) The per-segment cache is a subtle but critical detail: re-running the same text + voice + config uses the cached WAV (models are deterministic). A "Regenerate" button forces a fresh take when you want variation. Architecture: Electron Frontend + Isolated Python Backends ┌─────────────────────────────────────────────────────────────┐ │ Electron Frontend (React/TypeScript, Vite) │ │ - UI for all four modes, voice management, model picker │ │ - Communicates with backend via local HTTP/WebSocket │ └──────────────────────────┬──────────────────────────────────┘ │ ┌───────────────┼───────────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Main env │ │ Isolated │ │ Isolated │ │ (VibeVoice, │ │ env: │ │ env: │ │ Kokoro, │ │ Chatterbox │ │ OmniVoice, │ │ Kitten, │ │ │ │ VoxCPM2, │ │ Whisper) │ │ │ │ Qwen3-TTS │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └───────────────┼───────────────┘ ▼ ┌─────────────────────────┐ │ Disk Cache (survives │ │ restarts, model swaps) │ │ cache/ & cache/ │ │ downloads/ │ └─────────────────────────┘ Key architectural decisions: Only one heavy model loads at a time — the main environment holds VibeVoice/Kokoro/Kitten/Whisper; the "isolated-environment" engines (Chatterbox, OmniVoice, VoxCPM2, Qwen3-TTS) spin up their own Python venvs on demand, download weights, and shut down when you switch. This keeps VRAM/RAM usage predictable. Model Manager handles the lifecycle — install / download weights / delete weights / uninstall — all from the UI with a live progress log. No manual pip install or Hugging Face CLI needed. Built-in voices + custom uploads — drop .wav/.mp3/.flac/.ogg files into backend/voices/ (picked up on boot) or upload 1–60s mono clips from the UI with name/gender/language metadata. Stored in backend/uploads/. Reference transcripts for ultimate cloning — VoxCPM's "ultimate cloning" uses a per-voice reference transcript (editable via the pencil icon next to any voice) for higher fidelity. Hardware Reality Check Hardware Support NVIDIA GPU (Windows/Linux) CUDA acceleration — ~3 GB VRAM for VibeVoice fp16, up to ~8 GB for VoxCPM2 Apple Silicon Metal (MPS) acceleration — experimental but functional No dedicated GPU (Intel/AMD integrated, older PCs) Fully usable on CPU — installs small CPU build of PyTorch (~5 GB disk), slower but works Windows on ARM (Snapdragon X) Experimental: native ARM64 app, x64 Python backend under emulation, CPU only Intel Mac App UI only; must connect to a remote backend Disk budget (models auto-download on first use): Kitten: ~79 MB Kokoro: ~350 MB Chatterbox: ~500 MB Whisper: ~1.6 GB OmniVoice: ~3.3 GB Qwen3-TTS: ~3.5 GB VoxCPM2: ~5 GB VibeVoice: ~5.4 GB One-Command Install (macOS / Linux) # Latest Electron release curl -fsSL https://voicestudio.sh/install | sh # Specific version curl -fsSL https://voicestudio.sh/install | sh -s -- --version X.Y.Z # Build current main and install curl -fsSL https://voicestudio.sh/install | sh -s -- --main # Uninstall (keeps your data) curl -fsSL https://voicestudio.sh/install | sh -s -- --uninstall Windows: irm https://voicestudio.sh/install | iex in PowerShell. Or download from Releases (macOS .dmg, Windows .exe, Linux .AppImage/.deb, Docker). The Workflow That Replaces Your ElevenLabs Subscription Voice cloning (30 seconds): Open Voice Cloning tab Choose a voice or add a clean reference recording (10–30s) Enter your text Generate — model downloads on first use, then cached Video dubbing (cross-language): Open Dub mode Drop source audio/video Whisper transcribes it (editable segments, preserves pauses) Pick target voice (any engine, any language) Optional: translate segments offline via M2M-100/Argos Generate — output audio matches original timing, no time-stretch artifacts Audiobook / long-form (VibeVoice): Open Podcast Editor Add multiple speakers, assign different voices Write/paste chapters as segments Generate per segment (cached), play through, export joined WAV Local API & MCP for agents — VoiceStudio exposes a local REST API and MCP server so your AI agents can call TTS/STT tools without leaving your machine. The same voices, the same zero-cost, zero-egress guarantee. License & Responsible Use The application is AGPL-3.0 (covers commercial use under its conditions). Model weights, tokenizers, voices, and generated-output conditions are separate — a paid app license does not grant those rights. Clone voices only with permission. The Model Manager now shows versioned model-source notices, evidence links, and unresolved review gaps from a shared inventory. An optional reviewed-file preview exists but does not enforce ordinary downloads or certify commercial permission. Why This Matters for Developers If you're building: Voice-enabled agents — local MCP server means your agent's voice stack has zero latency, zero cost, zero privacy risk Content pipelines — batch audiobook generation, multi-language dubbing, podcast automation without per-minute billing Accessibility tools — offline TTS/STT for air-gapped or privacy-sensitive environments Learning / experimentation — swap 7 engines in one UI, compare quality/speed/VRAM tradeoffs instantly VoiceStudio proves that "ElevenLabs-grade" voice AI doesn't require a cloud subscription. The models exist. The orchestration exists. The desktop app exists. The only thing missing was a unified, polished, multi-engine package that respects your hardware and your data. VoiceStudio is that package. 82.2k stars agree. Links: GitHub: https://github.com/debpalash/VoiceStudio Homepage: https://voicestudio.sh License: AGPL-3.0 (app), model-specific for weights
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to