TL;DR

VoiceStudio is a desktop app that bundles 16 local text-to-speech engines and 11 speech-recognition engines behind one UI, plus an OpenAI-compatible API on localhost:3900. It does voice cloning, voice design, video dubbing, dictation, and audiobook production without an account, an API key, or a usage meter.

  • Repo: debpalash/VoiceStudio21,026 stars, 2,618 forks, Python + TypeScript, AGPL-3.0, created April 9, 2026.
  • Momentum: roughly 7,900 stars in the last week, which is what put it near the top of GitHub Trending.
  • Formerly: OmniVoice-Studio. The rename is recent, so search results and forks still carry the old name.
  • Latest release: v0.5.1 (August 28, 2026). The README labels the project an active beta in a warning box.
  • The catch nobody mentions: the app is AGPL-3.0, but the default model weights are CC-BY-NC. Commercial use requires switching engines. More on this below.

Quick Reference

ItemDetail
Repogithub.com/debpalash/VoiceStudio
App licenseAGPL-3.0 (commercial license on request)
Default model licenseCC-BY-NC weights (Apache-2.0 code)
StackTauri v2 (Rust) + React/Vite + FastAPI + SQLite
Backend port127.0.0.1:3900 (loopback only)
TTS engines16
ASR engines11
Language catalogue646 (engine-dependent)
PlatformsmacOS 13.3+ (Apple Silicon), Windows 10/11 x64, Linux x86_64 glibc 2.39+, Docker
ComputeCUDA · MPS/MLX · ROCm (Linux) · CPU
Data diromnivoice_data/

The Problem VoiceStudio Actually Solves

The local TTS ecosystem in 2026 is not short of models. It is short of plumbing.

If you want to clone a voice on your own hardware today, the usual path looks like this: clone a model repo, fight a PyTorch version, discover the weights need a Hugging Face token, write a script to chunk long text, write another to stitch WAVs, then realise the model cannot do the language you need and start over with a repo that has entirely different conventions.

Every one of those models is good. The glue between them is what nobody ships.

VoiceStudio’s actual contribution is the glue: a registry-based engine interface where 16 TTS backends and 11 ASR backends expose the same capabilities to the same UI and the same API. You switch engines from the status bar with Ctrl/Cmd+E. The app handles the Python environment, model downloads, GPU routing, and disk accounting.

That reframing matters when you judge it. VoiceStudio is not competing with OmniVoice or CosyVoice — it ships them. It is competing with the afternoon you would otherwise spend wiring them together.


Installation

The one-command installer covers every desktop OS:

# macOS / Linux / WSL
curl -fsSL https://voicestudio.sh/install | sh
# Windows
irm https://voicestudio.sh/install | iex

Prebuilt packages are on the releases page: an Apple Silicon DMG, a Windows x64 MSI (with a current-user build that skips admin rights), and a Linux AppImage. Docker works if you would rather keep it contained:

docker run -d -p 127.0.0.1:3900:3900 \
  -v omnivoice-data:/app/omnivoice_data \
  --name voicestudio \
  palashdeb/omnivoice-studio:stable

From source it is Bun-based (bun install && bun run desktop, or bun run dev for the browser UI). First launch builds a managed Python environment via uv and pulls the default model. Budget time and disk for that — the stated minimum is 10 GB free, with 20 GB+ SSD recommended.

The macOS footnote that will bite someone: Intel Macs cannot run the local Python backend at all, because current PyTorch wheels are unavailable for them. Intel Mac owners have to point the app at a remote backend. Apple Silicon gets MPS and MLX paths.


Your First Clone

The documented flow is three steps: open Voice Cloning, drop in a reference clip, generate. The interesting detail is in the FAQ, and it corrects the most common user assumption — longer reference audio does not reliably produce a better clone:

Cloning is zero-shot: the clip is a prompt, not training data. Use 5 to 15 seconds of one speaker, close to the microphone, without music, noise, or reverb.

Three seconds works; five to fifteen is the sweet spot. Feeding it two minutes of podcast audio is not “more training data” — it is a longer prompt with more chances to include a cough. If you genuinely want a trained voice rather than a zero-shot prompt, the repo has separate data-preparation and training docs.


The API Is the Real Story

For anyone building rather than clicking, the OpenAI-compatible endpoint is the headline feature. It is a one-line base-URL swap:

- base_url="https://api.openai.com/v1"
+ base_url="http://localhost:3900/v1"
from openai import OpenAI

client = OpenAI(base_url="http://localhost:3900/v1", api_key="local")

with client.audio.speech.with_streaming_response.create(
    model="tts-1",
    voice="<profile-id>",
    input="Made on my own hardware.",
    response_format="wav",
) as response:
    response.stream_to_file("speech.wav")

Or without an SDK at all:

curl http://localhost:3900/v1/audio/speech \
  -H "Content-Type: application/json" \
  -d '{"model":"tts-1","input":"Made on my own hardware.","voice":"default","response_format":"wav"}' \
  --output speech.wav

The surface covers more than synthesis:

EndpointPurpose
POST /v1/audio/speechTTS to mp3, opus, aac, flac, wav, pcm
POST /v1/audio/transcriptionsSTT to json, text, verbose_json, srt, vtt
WS /v1/audio/transcriptions/streamLive PCM/WebM transcription with partial + final events
GET /v1/audio/voicesList local voice profiles and engines
GET /.well-known/voicestudio-speechTransport discovery (HTTP, WS, MCP, dictation)

There is also an MCP server mounted at http://localhost:3900/mcp, exposing generate_speech, clone_voice, and transcribe to Claude Desktop, Cursor, and other agent clients:

{
  "mcpServers": {
    "voicestudio": { "url": "http://localhost:3900/mcp" }
  }
}

And agent skills, if your harness speaks skills.sh:

npx skills add debpalash/VoiceStudio

Security posture is sane by default. The backend binds loopback only. Loopback calls need no key; anything non-local requires a share PIN or API key. Non-loopback ASR endpoints must be HTTPS and redirects are explicitly not followed. Analytics is off until you consent, and when enabled sends allowlisted, content-free metadata — never text, audio, filenames, or projects.


Picking an Engine

Sixteen engines is a lot of choice, which is its own kind of problem. The README’s hardware table is the shortcut:

HardwareRecommended TTSRecommended ASR
Apple Silicon (M1–M4)MLX-Audio · OmniVoice (MPS)MLX Whisper · Parakeet MLX
NVIDIA GPU (8 GB+ VRAM)OmniVoice · CosyVoice 3WhisperX
Low VRAM / CPU-onlyPocketTTS · Sherpa-ONNX · KittenTTSMoonshine · Faster-Whisper (int8)

The engine roster spans licenses and capabilities unevenly, and that unevenness is the thing to check before committing:

  • OmniVoice (default) — 600+ languages, cloning, instruct. Apache-2.0 code, CC-BY-NC weights.
  • CosyVoice 3 — 9 languages + 18 dialects, cloning, instruct, Apache-2.0. The best all-round permissive option.
  • VoxCPM2 — 30 languages, cloning, instruct, Apache-2.0, runs on MPS.
  • MOSS-TTS-v1.5 — 31 languages, cloning, Apache-2.0.
  • GPT-SoVITS — 5 languages, cloning, MIT, but no macOS support.
  • KittenTTS — English only, CPU only, no cloning, MIT.
  • IndexTTS 2.5 — 5 languages, cloning, under a Bilibili model license that requires a separate written agreement above 100 million MAU or RMB 1 billion annual revenue.

One design decision deserves credit: engines without cloning support cannot preserve a reference speaker in dubbing or pinned-voice batch jobs, and VoiceStudio rejects those jobs rather than silently swapping engines. Failing loudly beats quietly producing the wrong voice, and plenty of tools get this wrong.


Beyond Cloning

The feature list is wider than “ElevenLabs alternative” implies:

  • Video dubbing — transcribe, translate, preserve speakers, synthesize, export. Completed dubs flag timing issues for review, plus a glossary for term consistency.
  • Stories and audiobooks — multi-voice scripts, EPUB/PDF import, chapter rendering, .m4b export.
  • Dictation widget — system-wide shortcut, live transcription, optional local-LLM cleanup.
  • Vocal isolation — Demucs speech/background separation.
  • Speaker diarization — Pyannote and WhisperX speaker assignment.
  • Batch queue — large job sets with per-job progress, or watch a folder for new videos.
  • AudioSeal watermarking — imperceptible synthetic-speech watermarking, on by default.

That last one is worth pausing on. Zero-shot voice cloning on consumer hardware is genuinely dual-use, and the project enables Meta’s AudioSeal watermarking by default rather than hiding it behind a checkbox nobody finds. Not a complete answer to misuse, but a better default than most of the field.


What the Community Says

The underlying OmniVoice model has strong word of mouth. From r/LocalLLaMA:

“It’s way better than Qwen3, Chatterbox or any other local TTS that I was able to use.”

The same commenter supplied the useful number: on an RX 590, roughly 15 seconds of audio takes 25–30 seconds to generate at 32 inference steps. Slower than realtime on old hardware — fine for audiobooks and dubbing, not fine for a live conversational agent.

The counterweight comes from r/TextToSpeech, where someone who tested echoTTS, Chatterbox, VibeVoice, Qwen3-TTS, IndexTTS2, Fish Audio, MOSS-TTS, and OmniVoice concluded:

“Once in a while, one model will outperform the other. So is there one best? I would not say so.”

Which is, incidentally, the strongest argument for VoiceStudio. If no single model wins across languages, voices, and speed, then the app that lets you switch between sixteen of them behind a stable API is worth more than any individual model choice.


Honest Limitations

The license trap is the big one. The application is AGPL-3.0 and does not restrict selling generated audio. But the default OmniVoice weights are CC-BY-NC — non-commercial. Anyone who installs VoiceStudio, records a demo, and ships it in a client project has a problem they probably do not know they have. The fix is straightforward: switch to CosyVoice 3, VoxCPM2, or MOSS-TTS-v1.5, all Apache-2.0. But the default is the trap, and “read the model terms” in a footnote is not a loud enough warning for how easily this goes wrong.

AGPL matters if you host it. Modify VoiceStudio and offer that version as a network service, and AGPL requires you to publish your source. A commercial license for VoiceStudio-owned code exists on request — it does not relicense the third-party models.

It is beta, and the release notes prove it. v0.5.1’s highlights are a catalogue of crash fixes: fatal MPS memory exits taking down the backend on Apple Silicon, a Windows 0xC0000005 access violation from overlapping WhisperX calls, remounts stacking native jobs. These are all fixed — the maintainer is clearly responsive, and several fixes credit outside contributors. But 91 open issues and that changelog shape say pre-1.0 loudly. Issue #315 is representative: on Windows, the first voice-clone render is perfect and every render afterward in the same session comes out with static and slowed playback.

Cold-start latency is real. The v0.5.1 notes measure first synthesis on a cold filesystem at roughly 42 seconds, three seconds short of a 90-second client timeout — which is why the AudioSeal watermark generator now warms on a background thread ~35s after boot, and cloned voice references persist to disk (~10 KB each) so the first generation of a session skips the re-encode. Good fixes that exist because the cold path was genuinely painful.

Hardware reality check. 8 GB RAM and CPU-only technically works, but the default multi-stage workflow wants 8 GB+ VRAM and large optional engines want 12–16 GB. ROCm is Linux-only; Windows AMD and Ryzen AI fall back to CPU.

646 languages is a catalogue number, not a quality claim. The README says so directly: coverage and quality depend on the engine. Only the OmniVoice family reaches 600+. CosyVoice 3 does 9. KittenTTS does English.


Who Should Use This

Good fit: volume work where per-character cloud billing hurts — audiobook production, multilingual dubbing, dataset generation. Privacy or compliance constraints that keep audio on the machine. Agents needing a local voice via MCP or the OpenAI-compatible endpoint. A/B testing several TTS models without maintaining several repos.

Bad fit: realtime conversational agents on modest GPUs — the latency is not there yet. Intel Mac owners. Teams that need commercial rights and will not audit which engine is loaded. Anyone who needs a hosted API with an SLA.


FAQ

Is VoiceStudio really free? The software is, with no paid tier and no usage meter for the local workflow. You supply the hardware, and development is donation-funded. The cost that is not money is disk, VRAM, and setup time.

Can I sell audio I generate with it? Not with the default engine, realistically. The AGPL-3.0 application license does not restrict generated audio, but the default OmniVoice weights are CC-BY-NC and the bundled audio tokenizer carries separate Boson Higgs Audio 2 and Meta Llama community terms. For commercial work, switch to an Apache-2.0 engine — CosyVoice 3, VoxCPM2, or MOSS-TTS-v1.5 — and confirm the terms of the specific weights you download.

How is this different from just running OmniVoice directly? OmniVoice is one model. VoiceStudio is the application layer around 16 TTS and 11 ASR engines: managed Python environment, model catalogue, GPU auto-detection, batch queue, dubbing pipeline, diarization, watermarking, an OpenAI-compatible API, and an MCP server. If you only ever want OmniVoice and you are comfortable in Python, run it directly. If you want to compare engines or expose speech to other apps, the wrapper is the point.

Does it work without a GPU? Yes. CPU mode is supported and some engines target it specifically — PocketTTS, Sherpa-ONNX, KittenTTS for synthesis, Moonshine and Faster-Whisper at int8 for transcription. Expect substantially slower generation with the heavier engines, and expect low-VRAM systems to offload to CPU automatically.

Does it phone home? Not by default. Analytics is off until you opt in, and skipping the consent prompt keeps it off. When enabled it sends allowlisted, content-free usage metadata — never text, audio, filenames, voices, or projects. The backend is loopback-only. The exceptions are all explicit opt-ins: remote workers, external OpenAI-compatible ASR endpoints, and the Colab notebook, which is remote compute by definition.

Can other apps and agents drive it? Yes, through several transports: REST, SSE, WebSocket, JSON-RPC, a CLI, and an MCP server at localhost:3900/mcp. A bundled Rust control sidecar lets coding agents, VS Code, desktop apps, and TUIs trigger the system-wide dictation flow or reuse its native text insertion. Read the API auth doc before exposing the backend beyond loopback.


Verdict

VoiceStudio is the most complete local voice stack currently packaged as a single install, and the OpenAI-compatible API plus MCP server make it useful as infrastructure rather than just a desktop toy. 21,000 stars in five months is not noise — the plumbing problem it solves is real, and the maintainer is shipping fixes fast.

Two caveats decide whether it fits you. It is beta, and the crash-fix-heavy changelog means you should track releases rather than run main. And the default engine’s CC-BY-NC weights make the out-of-box configuration non-commercial — check which engine is loaded before you invoice anyone for the output.

For personal projects, privacy-constrained work, and high-volume audio where cloud billing stings, it is an easy recommendation. For commercial pipelines, it is an easy recommendation after you have deliberately switched engines.


Sources