# Introduction
You paste a paragraph of textual content into ElevenLabs, press Generate, and watch the character counter tick down. The free tier is gone earlier than you end testing. The Creator plan is $22 a month. The Professional plan is $99. And each audio file you generate leaves your machine and finally ends up on their servers, which issues the second your content material is delicate, proprietary, or just yours.
OmniVoice Studio is constructed on a distinct premise: all the things runs in your {hardware}. Voice cloning, video dubbing, real-time dictation, voice design — all of it native, all of it free for private use, no API key required, no utilization counter. The challenge describes itself as “the open-source ElevenLabs various,” and that is correct, although the language protection alone makes the comparability fascinating: ElevenLabs helps 32 languages. OmniVoice Studio helps 646.
The challenge has collected 7.1k GitHub stars and 1.1k forks. The newest launch, v0.2.7, shipped Might 3, 2026, consists of pre-built installers for macOS, Home windows, and Linux. This text covers the complete path from set up to your first generated audio.
Beta discover: OmniVoice Studio is in energetic beta. Issues can break between releases. For essentially the most present fixes, cloning from supply and working
bun run desktop-prodis the really helpful path over pre-built installers.
# What OmniVoice Studio Is and Why It Was Constructed
The only framing is that this: OmniVoice Studio offers you knowledgeable voice AI desktop app that by no means telephones residence. No accounts, no subscriptions, no cloud calls throughout inference. Your reference audio, your scripts, your generated information — they keep in your machine.
Right here is how the characteristic set and pricing examine on to ElevenLabs:
| Characteristic | ElevenLabs | OmniVoice Studio |
|---|---|---|
| Pricing | $5–$330/month, per-character billing | Free for private use |
| Voice Cloning | 3-second clip | 3-second clip, zero-shot |
| Voice Design | Gender, age | Gender, age, accent, pitch, model, dialect |
| Languages | 32 | 646 |
| Video Dubbing | Cloud-only | Absolutely native |
| Information Privateness | Audio despatched to the cloud | Nothing leaves your machine |
| API Keys | Required | Not wanted |
| GPU Help | N/A (cloud) | CUDA, Apple Silicon MPS, AMD ROCm, CPU |
| Desktop App | No | macOS, Home windows, Linux |
Underneath the hood, OmniVoice Studio is a Tauri desktop software — a Rust-based framework that wraps a React frontend and a FastAPI backend with 97 API endpoints. Persistent state lives in SQLite. The AI pipeline is constructed on 4 open-source elements that do the precise work:
- WhisperX handles transcription, word-level speech recognition, and alignment.
- Demucs (from Meta) handles vocal isolation, separating speech from music and background noise.
- OmniVoice from k2-fsa is the zero-shot diffusion text-to-speech (TTS) engine — the mannequin that makes cloning work from a 3-second clip throughout 646 languages.
- Pyannote handles speaker diarization, figuring out who stated what in a multi-speaker recording, which is what makes automated voice task within the dubbing pipeline doable.
GPU acceleration is auto-detected at launch. You do not configure something: OmniVoice reads your {hardware} and routes accordingly to CUDA (NVIDIA), MPS (Apple Silicon), ROCm (AMD), or CPU. When you have below 8 GB VRAM, the TTS mannequin offloads to the CPU routinely throughout transcription. The pipeline nonetheless runs, simply slower.
# System Necessities
Earlier than putting in, test that your machine meets the minimal specs. The app will run beneath these, however you’ll discover it.
| Element | Minimal | Really helpful |
|---|---|---|
| OS | Home windows 10 (21H2+), macOS 12+, Ubuntu 20.04+ | Any trendy 64-bit OS |
| RAM | 8 GB | 16 GB+ |
| VRAM | 4 GB (TTS auto-offloads to CPU if much less) | 8 GB+ (NVIDIA RTX 3060+) |
| Disk | 10 GB free (fashions + cache) | 20 GB+ SSD |
| Python | 3.10+ (managed by uv) | 3.11–3.12 |
| GPU | Optionally available (CPU works) | NVIDIA CUDA, Apple Silicon MPS, AMD ROCm |
One factor price understanding: you don’t want a GPU to make use of OmniVoice Studio. Your complete pipeline runs on CPU. TTS synthesis is roughly 3x slower with out a GPU, and transcription of lengthy movies will take longer, however for brief voice clones and dictation, the CPU path is completely usable. Apple Silicon Macs are the candy spot for GPU-less customers; the app routinely picks MLX-optimized Whisper and TTS backends that use the Apple Neural Engine and Steel Efficiency Shaders, giving roughly 2x the throughput of the CPU path.
# Putting in OmniVoice Studio
Choose the part in your working system and observe it from prime to backside. The set up sequence is identical throughout platforms: clone, set up frontend dependencies with Bun, and launch. The variations are within the stipulations.
// Putting in on macOS
Stipulations:
- macOS 12 (Monterey) or newer — Apple Silicon or Intel
- Python 3.11+
- Bun (the JavaScript runtime used to construct the frontend)
- Xcode Command Line Instruments
- FFmpeg
Set up them so as:
# 1. Set up Python through Homebrew (or use pyenv if you happen to handle a number of variations)
brew set up python@3.11
# 2. Set up Bun
curl -fsSL https://bun.sh/set up | bash
# 3. Set up Xcode Command Line Instruments
xcode-select --install
# 4. Set up FFmpeg (utilized by the dubbing and seize pipelines)
brew set up ffmpeg
Then clone and run:
# Clone the repository
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
# Set up frontend dependencies
bun set up
# Launch the app
bun run desktop-prod
The primary launch is slower than each subsequent one. It builds the Tauri shell, creates the Python digital atmosphere through uv, syncs all Python dependencies, and downloads mannequin weights — roughly 2.4 GB. The splash display exhibits reside progress for every step. As soon as it completes, the complete UI opens.
Pre-built DMG customers: Obtain the newest DMG from the Releases web page, mount it, and drag OmniVoice Studio into /Purposes. If the primary launch exhibits “app is broken and cannot be opened,” that’s macOS Gatekeeper reacting to an unsigned app. The developer-ID signing and notarization pipeline is tracked for v0.4. For now, clear the quarantine attribute with a single terminal command:
# Take away the Gatekeeper quarantine attribute.
# Run this as soon as after putting in. The app is open supply -- confirm the
# SHA-256 checksum on the Releases web page in opposition to the .dmg.sha256 file
# earlier than working this if you wish to verify the obtain is clear.
xattr -cr "/Purposes/OmniVoice Studio.app"
// Putting in on Home windows
Stipulations:
- Home windows 10 (21H2 or newer) or Home windows 11, x64
- Python 3.11+
- Microsoft C++ Construct Instruments (required by pyannote.audio and occasional torch wheel rebuilds)
- Bun
- FFmpeg
Set up them from a daily (non-admin) PowerShell:
# Set up Python through winget
winget set up Python.Python.3.11
# Set up Microsoft C++ Construct Instruments
# Obtain from https://visualstudio.microsoft.com/visual-cpp-build-tools/
# Choose "Desktop growth with C++" workload throughout set up
# Set up Bun
powershell -c "irm bun.sh/set up.ps1 | iex"
# Set up FFmpeg through winget
winget set up Gyan.FFmpeg
Then clone and run (nonetheless in PowerShell):
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun set up
bun run desktop-prod
Home windows-specific word (Triton/torch.compile OOM): On Home windows, sure TTS engines (notably CosyVoice paths) set off torch.compile kernel compilation on the primary synthesis name. On machines with below 16 GB VRAM, this could OOM earlier than any audio renders, surfacing as OutOfMemoryError: CUDA out of reminiscence. The repair is in Settings → Efficiency: toggle “Disable torch.compile (Home windows)” on. From the command line, set the atmosphere variable earlier than launching:
# Disable torch.compile to keep away from OOM on first synthesis (Home windows solely).
# This falls again to the eager-mode kernel path -- barely slower peak
# throughput, however the engine really hundreds on low-VRAM machines.
$env:TORCH_COMPILE_DISABLE = "1"
bun run desktop-prod
Pre-built MSI customers: Obtain the newest MSI from the Releases web page, run the installer, and discover OmniVoice Studio within the Begin menu.
// Putting in on Linux
Stipulations (Debian/Ubuntu):
# Set up Python
sudo apt set up python3.11
# Set up Bun
curl -fsSL https://bun.sh/set up | bash
# Set up FFmpeg
sudo apt set up ffmpeg
# Set up GTK/WebKit dependencies required by the Tauri desktop shell
sudo apt set up
libwebkit2gtk-4.1-dev
libayatana-appindicator3-dev
librsvg2-dev
libssl-dev
libxdo-dev
build-essential
Stipulations (Fedora):
sudo dnf set up python3.11 ffmpeg-free
curl -fsSL https://bun.sh/set up | bash
sudo dnf set up webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel openssl-devel
Clone and run:
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
bun set up
bun run desktop-prod
Pre-built AppImage customers:
# Obtain the AppImage from the Releases web page, then:
chmod +x OmniVoice.Studio_*.AppImage
./OmniVoice.Studio_*.AppImage
# When you see a white display on Fedora 44+ or Ubuntu 24.04, set this:
WEBKIT_DISABLE_COMPOSITING_MODE=1 ./OmniVoice.Studio_*.AppImage
The white display on newer distros is a compositing regression in WebKitGTK 2.44/2.46. v0.3+ of the AppImage autodetects this and units the flag routinely. The handbook atmosphere variable path is the fallback for supply installs.
Pre-built .deb customers:
sudo apt set up ./OmniVoice.Studio_*.amd64.deb
omnivoice-studio
Docker (backend solely):
For headless server use or staff deployments the place the desktop GUI is not wanted, OmniVoice Studio ships a Docker path that runs simply the FastAPI backend and its 97 API endpoints:
# Clone the repo if you have not already
git clone https://github.com/debpalash/OmniVoice-Studio.git
cd OmniVoice-Studio
# Construct and begin the backend container
docker compose -f deploy/docker-compose.yml up
The backend API is then obtainable at http://localhost:8000. The complete API reference lives within the repo’s docs/ listing. This path is helpful when integrating OmniVoice capabilities right into a pipeline with out working a desktop session.
# Setting Up Your Hugging Face Token
This step is optionally available for fundamental use, however required for 2 options: speaker diarization (the pyannote/speaker-diarization-3.1 mannequin is gated on Hugging Face) and the bigger voice-design engines.
You want a free Hugging Face account and a learn token. Upon getting one:
Choice 1 — By means of the app (really helpful): Open Settings → API Keys, paste your hf_... token, and save. The app writes it to OmniVoice’s encrypted SQLite retailer and to the canonical huggingface_hub location, so each subprocess the app spawns picks it up routinely.
Choice 2 — Surroundings variable:
# macOS / Linux -- add to ~/.zshrc or ~/.bashrc
export HF_TOKEN=hf_your_token_here
supply ~/.zshrc
# Home windows PowerShell -- writes to user-scope atmosphere
# Use this, not setx. setx truncates values over 1024 chars and
# does not propagate to the present shell session.
[Environment]::SetEnvironmentVariable("HF_TOKEN", "hf_your_token_here", "Person")
You additionally want to just accept the mannequin phrases on the Hugging Face mannequin web page earlier than downloading. Go to pyannote/speaker-diarization-3.1 and settle for the gated mannequin entry request. It is a one-time step.
# Cloning a Voice
Voice cloning is the core characteristic and the one most individuals set up OmniVoice for. The mannequin powering it’s OmniVoice from k2-fsa — a diffusion-based TTS system skilled on 646 languages that operates zero-shot, that means there is no such thing as a fine-tuning step. You present a reference clip at inference time, and the mannequin adapts to the speaker’s voice on the fly.
How one can clone a voice:
Navigate to the Voice Clone tab. You’ve two choices for the reference audio: document instantly within the app by clicking the microphone button, or add an present audio file. Both manner, 3 to 10 seconds of clear speech is sufficient.
Then:
- Add or document your reference audio clip.
- Choose the goal language from the dropdown (646 obtainable).
- Sort or paste the textual content you need synthesized within the textual content area.
- Click on Generate.
OmniVoice processes domestically, generates the audio, and performs it again for preview. You possibly can export to MP3, WAV, or FLAC from the export button.
What makes a very good reference clip: Background noise is the largest high quality killer. A clip recorded in a quiet room, with the speaker talking naturally, will clone higher than a loud excerpt from a cellphone name. Keep away from clips with background music; if that is all you could have, run it by the Vocal Isolation tab first (lined beneath) to strip the background earlier than utilizing it as a reference.
If the output sounds barely off — robotic consonants, mistaken rhythm — attempt an extended or completely different reference clip earlier than assuming an engine problem. The zero-shot mannequin is delicate to the standard of the reference audio.
# Dubbing a Video
The dubbing pipeline is essentially the most advanced factor OmniVoice Studio does, and watching it run end-to-end is genuinely spectacular. You give it a video — both a YouTube URL or a neighborhood file — and it transcribes the speech, interprets it to your goal language, clones the unique speaker voices, synthesizes the dubbed audio within the cloned voices, and muxes all the things again into an MP4. Domestically. No add.
The pipeline makes use of WhisperX for transcription, Pyannote for speaker diarization (figuring out which voice belongs to which speaker), the OmniVoice mannequin for synthesis, and Demucs to separate the unique speech from background audio so the background might be preserved below the dubbed observe.
How one can dub a video:
- Navigate to the Dub tab. Paste a YouTube URL or click on the add button to pick out a neighborhood file. Select the goal language. Click on Begin Dub.
- The progress bar exhibits every stage because it runs: obtain (for YouTube), transcription, diarization, translation, synthesis, and mux. For a 5-minute video on a machine with a GPU, the complete pipeline usually takes 8 to 12 minutes. CPU-only will take longer.
- When full, the dubbed MP4 is accessible within the Initiatives panel alongside the SRT subtitle file, the remoted stems, and the unique transcription.
- Batch queue: When you have a number of movies, drop all of them into the queue by clicking Add to Queue for every one, then click on Run All. The conductor processes them sequentially utilizing GPU execution with a reside progress bar per job. You possibly can add extra jobs whereas the queue is working.
# Designing a Voice
Voice design is for creating a brand new voice from scratch when you do not have a reference clip. Navigate to the Voice Design tab, and you will find sliders and controls for gender, age, accent, pitch, velocity, emotion, and dialect.
The design course of is iterative: alter the controls, hit Preview, pay attention, alter once more. The A/B Comparability button allows you to lock one voice configuration as model A, tune the controls additional to create model B, and toggle between them whereas the identical pattern textual content performs, so that you’re evaluating voices instantly reasonably than counting on reminiscence.
When you’re glad with a voice, reserve it to your Voice Gallery with a reputation and tags. Saved voices are then obtainable as targets within the Voice Clone tab — you possibly can synthesize new audio in a saved designed voice without having a reference clip every time.
# Utilizing the Dictation Widget
The dictation widget is a system-wide transcription software that works from any software with out switching home windows. The worldwide hotkey is Cmd+Shift+Area on macOS and Ctrl+Shift+Area on Home windows and Linux.
Press the hotkey from any app — your code editor, a browser textual content area, a notes app, wherever. A small frameless floating window seems. Begin talking. The widget streams your speech by WhisperX’s ASR engine over a neighborhood WebSocket connection, transcribes in actual time, auto-pastes the consequence into no matter software was centered earlier than the widget opened, and disappears.
Your complete circulate — set off, communicate, paste — takes a couple of seconds. There isn’t any window switching, no copy-paste step.
- Configuring the hotkey: If
Cmd+Shift+Areaconflicts with one other software in your system, open Settings → Dictation and alter the hotkey binding to any mixture that does not conflict. The brand new binding takes impact instantly with out restarting the app. - What the widget doesn’t do: It doesn’t maintain a transcription historical past. Every activation transcribes and pastes, then discards the audio. For longer transcription classes the place you wish to evaluate and edit a full transcript, use the primary Transcription tab as a substitute — that information to a file and exhibits a full editable transcript.
# Selecting a TTS Engine
OmniVoice Studio ships six TTS engines. The default, OmniVoice, covers 600+ languages and handles voice cloning and instructed technology. The others exist for particular causes, and switching takes ten seconds through Settings → TTS Engine or the OMNIVOICE_TTS_BACKEND atmosphere variable.
| Engine | Languages | Clone | Finest For |
|---|---|---|---|
| OmniVoice (default) | 600+ | Sure | The whole lot — the general-purpose engine |
| CosyVoice 3 | 9 + 18 dialects | Sure | Instructed technology with model management |
| MLX-Audio | Multi | Varies | Apple Silicon solely, most velocity on M-series |
| VoxCPM2 | 30 | Sure | Cross-platform cloning with sturdy accent protection |
| MOSS-TTS-Nano | 20 | Sure | Quick cloning on lower-powered machines |
| KittenTTS | English solely | No | Light-weight CPU-only English TTS, close to real-time |
For English-only use on a machine with out a GPU, KittenTTS and MOSS-TTS-Nano run close to real-time on CPU. For Apple Silicon, switching to MLX-Audio offers you the quickest inference obtainable on M-series {hardware} utilizing the Apple Neural Engine instantly. CosyVoice 3 is the selection while you need instructed technology — describing the voice model in pure language reasonably than dialing sliders.
Swap through the atmosphere variable if you wish to set it system-wide:
# Run OmniVoice Studio with CosyVoice 3 because the energetic TTS backend.
# Legitimate values: omnivoice, cosyvoice, mlx-audio, voxcpm2, moss-tts-nano, kittenTTS
export OMNIVOICE_TTS_BACKEND=cosyvoice
bun run desktop-prod
# Home windows equal
$env:OMNIVOICE_TTS_BACKEND = "cosyvoice"
bun run desktop-prod
Including a customized engine: OmniVoice makes use of a built-in backend registry. To plug in your individual TTS engine, subclass TTSBackend in backend/companies/tts_backend.py and add it to the _REGISTRY dictionary on the backside of that file. The README paperwork the interface as roughly 50 strains of Python. The CONTRIBUTING information covers the complete growth setup.
# Utilizing OmniVoice Studio through the MCP Server
OmniVoice Studio ships a Mannequin Context Protocol (MCP) server, which suggests you possibly can name its TTS and dubbing capabilities from Claude Desktop, Cursor, or any MCP-compatible consumer — with out opening the desktop app in any respect.
That is helpful while you wish to generate voice audio from inside an AI coding session or automate voice technology as a part of a pipeline that is already working in an MCP-capable software.
The MCP server is uncovered on localhost:8765 when OmniVoice Studio is working. To attach it to Claude Desktop, add the next to your claude_desktop_config.json:
{
"mcpServers": {
"omnivoice": {
"command": "npx",
"args": ["-y", "@omnivoice/mcp-server"],
"env": {
"OMNIVOICE_API_URL": "http://localhost:8765"
}
}
}
}
As soon as related, Claude Desktop can name OmniVoice instruments instantly. For instance, you possibly can kind “Generate audio of this paragraph in a feminine voice with a British accent,” and Claude will route the request to OmniVoice’s native API, synthesize the audio, and return the file path.
The MCP server exposes the core capabilities — TTS technology, voice cloning with a reference file, and dubbing job creation — as named instruments that any MCP consumer can uncover and invoke. See the docs/ listing within the repo for the complete software schema.
# Conclusion
OmniVoice Studio makes a sensible case for local-first voice AI. Not as a result of cloud instruments are dangerous, however as a result of 646 languages, no utilization meter, and audio that by no means leaves your machine add as much as one thing genuinely completely different. The setup — one set up sequence, a 2.4 GB mannequin obtain, and an optionally available Hugging Face token — is a one-time funding. The whole lot after that’s simply utilizing the software.
It is in energetic beta, and a few edges are tough. However the core pipeline — cloning, dubbing, dictation, design — works, the group is responsive, and releases have been coming repeatedly since launch. For builders, content material creators, and researchers who work with audio and care about the place their knowledge goes, it is price having domestically.
Shittu Olumide is a software program engineer and technical author obsessed with leveraging cutting-edge applied sciences to craft compelling narratives, with a eager eye for element and a knack for simplifying advanced ideas. You may also discover Shittu on Twitter.







