
# 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: the whole lot 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 venture describes itself as “the open-source ElevenLabs various,” and that is correct, although the language protection alone makes the comparability attention-grabbing: ElevenLabs helps 32 languages. OmniVoice Studio helps 646.
The venture has accrued 7.1k GitHub stars and 1.1k forks. The most recent launch, v0.2.7, shipped Could 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 probably the most present fixes, cloning from supply and operating
bun run desktop-prodis the beneficial path over pre-built installers.
# What OmniVoice Studio Is and Why It Was Constructed
The only framing is that this: OmniVoice Studio provides you an expert voice AI desktop app that by no means telephones dwelling. No accounts, no subscriptions, no cloud calls throughout inference. Your reference audio, your scripts, your generated recordsdata — they keep in your machine.
Right here is how the characteristic set and pricing evaluate 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 | Totally 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 |
Beneath 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 parts 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 project 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. If in case 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 useful |
|---|---|---|
| OS | Home windows 10 (21H2+), macOS 12+, Ubuntu 20.04+ | Any fashionable 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 | Elective (CPU works) | NVIDIA CUDA, Apple Silicon MPS, AMD ROCm |
One factor price realizing: you do not 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
Decide the part in your working system and observe it from high to backside. The set up sequence is similar throughout platforms: clone, set up frontend dependencies with Bun, and launch. The variations are within the conditions.
// Putting in on macOS
Conditions:
- 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 by way of 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 by way of uv, syncs all Python dependencies, and downloads mannequin weights — roughly 2.4 GB. The splash display reveals reside progress for every step. As soon as it completes, the complete UI opens.
Pre-built DMG customers: Obtain the most recent DMG from the Releases web page, mount it, and drag OmniVoice Studio into /Purposes. If the primary launch reveals “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 operating this if you wish to affirm the obtain is clear.
xattr -cr "/Purposes/OmniVoice Studio.app"
// Putting in on Home windows
Conditions:
- 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 by way of 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 by way of 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 notice (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 will 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 most recent MSI from the Releases web page, run the installer, and discover OmniVoice Studio within the Begin menu.
// Putting in on Linux
Conditions (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
Conditions (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
# In case 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 crew 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 out there at http://localhost:8000. The total API reference lives within the repo’s docs/ listing. This path is helpful when integrating OmniVoice capabilities right into a pipeline with out operating a desktop session.
# Setting Up Your Hugging Face Token
This step is elective for primary 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. After getting one:
Choice 1 — By the app (beneficial): 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 — Atmosphere 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 simply 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. This can be 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, which means there isn’t a fine-tuning step. You present a reference clip at inference time, and the mannequin adapts to the speaker’s voice on the fly.
Tips on how to clone a voice:
Navigate to the Voice Clone tab. You’ve got two choices for the reference audio: file straight 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 file your reference audio clip.
- Choose the goal language from the dropdown (646 out there).
- Kind or paste the textual content you need synthesized within the textual content discipline.
- Click on Generate.
OmniVoice processes domestically, generates the audio, and performs it again for preview. You may export to MP3, WAV, or FLAC from the export button.
What makes a great reference clip: Background noise is the most important high quality killer. A clip recorded in a quiet room, with the speaker talking naturally, will clone higher than a loud excerpt from a telephone name. Keep away from clips with background music; if that is all you’ve gotten, run it by way of 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, fallacious rhythm — attempt an extended or totally 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 probably the most complicated 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 the whole lot again into an MP4. Regionally. 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 may be preserved below the dubbed observe.
Tips on how to dub a video:
- Navigate to the Dub tab. Paste a YouTube URL or click on the add button to pick a neighborhood file. Select the goal language. Click on Begin Dub.
- The progress bar reveals 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 out there within the Tasks panel alongside the SRT subtitle file, the remoted stems, and the unique transcription.
- Batch queue: If in case you have a number of movies, drop all of them into the queue by clicking Add to Queue for each, then click on Run All. The conductor processes them sequentially utilizing GPU execution with a reside progress bar per job. You may add extra jobs whereas the queue is operating.
# 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, hear, 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 straight relatively than counting on reminiscence.
When you’re glad with a voice, put it aside to your Voice Gallery with a reputation and tags. Saved voices are then out there as targets within the Voice Clone tab — you’ll be able to 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 instrument 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 discipline, a notes app, wherever. A small frameless floating window seems. Begin talking. The widget streams your speech by way of WhisperX’s ASR engine over a neighborhood WebSocket connection, transcribes in actual time, auto-pastes the outcome into no matter software was targeted earlier than the widget opened, and disappears.
Your complete movement — set off, communicate, paste — takes a number 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 preserve a transcription historical past. Every activation transcribes and pastes, then discards the audio. For longer transcription periods the place you wish to assessment and edit a full transcript, use the primary Transcription tab as a substitute — that information to a file and reveals 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 by way of 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 robust 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 provides you the quickest inference out there on M-series {hardware} utilizing the Apple Neural Engine straight. CosyVoice 3 is the selection while you need instructed technology — describing the voice model in pure language relatively than dialing sliders.
Change by way of 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 personal TTS engine, subclass TTSBackend in backend/providers/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 by way of the MCP Server
OmniVoice Studio ships a Mannequin Context Protocol (MCP) server, which implies you’ll be able to name its TTS and dubbing capabilities from Claude Desktop, Cursor, or any MCP-compatible shopper — 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 operating in an MCP-capable instrument.
The MCP server is uncovered on localhost:8765 when OmniVoice Studio is operating. 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 linked, Claude Desktop can name OmniVoice instruments straight. For instance, you’ll be able to sort “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 shopper can uncover and invoke. See the docs/ listing within the repo for the complete instrument schema.
# Conclusion
OmniVoice Studio makes a sensible case for local-first voice AI. Not as a result of cloud instruments are unhealthy, 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 totally different. The setup — one set up sequence, a 2.4 GB mannequin obtain, and an elective Hugging Face token — is a one-time funding. The whole lot after that’s simply utilizing the instrument.
It is in energetic beta, and a few edges are tough. However the core pipeline — cloning, dubbing, dictation, design — works, the neighborhood 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 keen about leveraging cutting-edge applied sciences to craft compelling narratives, with a eager eye for element and a knack for simplifying complicated ideas. You may as well discover Shittu on Twitter.















