# 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: every little thing 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 mission describes itself as “the open-source ElevenLabs different,” and that is correct, although the language protection alone makes the comparability fascinating: ElevenLabs helps 32 languages. OmniVoice Studio helps 646.
The mission has amassed 7.1k GitHub stars and 1.1k forks. The newest launch, v0.2.7, shipped Could 3, 2026, contains pre-built installers for macOS, Home windows, and Linux. This text covers the total 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-prod is 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 provides you knowledgeable voice AI desktop app that by no means telephones house. 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 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
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 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 mentioned 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. If in case you have beneath 8 GB VRAM, the TTS mannequin offloads to the CPU robotically throughout transcription. The pipeline nonetheless runs, simply slower.
# System Necessities
Earlier than putting in, examine that your machine meets the minimal specs. The app will run beneath these, however you’ll discover it.
Part
Minimal
Advisable
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
Optionally available (CPU works)
NVIDIA CUDA, Apple Silicon MPS, AMD ROCm
One factor value understanding: you don’t want a GPU to make use of OmniVoice Studio. The complete pipeline runs on CPU. TTS synthesis is roughly 3x slower with no 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 robotically picks MLX-optimized Whisper and TTS backends that use the Apple Neural Engine and Metallic Efficiency Shaders, giving roughly 2x the throughput of the CPU path.
# Putting in OmniVoice Studio
Choose the part in your working system and comply with 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
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:
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:
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 surroundings by way of 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 total 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 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:
# 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 an everyday (non-admin) PowerShell:
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):
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 beneath 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 surroundings variable earlier than launching:
# 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):
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):
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:
cd OmniVoice-Studio
bun set up
bun run desktop-prod
Pre-built AppImage customers:
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 robotically. The handbook surroundings variable path is the fallback for supply installs.
Pre-built .deb customers:
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:
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 beneficial when integrating OmniVoice capabilities right into a pipeline with out operating a desktop session.
# Setting Up Your Hugging Face Token
This step is non-compulsory 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. After getting one:
Possibility 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 robotically.
Possibility 2 — Surroundings variable:
export HF_TOKEN=hf_your_token_here
supply ~/.zshrc
# Home windows PowerShell — writes to user-scope surroundings
# Use this, not setx. setx truncates values over 1024 chars and
# would 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. 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 educated on 646 languages that operates zero-shot, which means there isn’t any 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 have got two choices for the reference audio: file straight within the app by clicking the microphone button, or add an current 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 obtainable).
Sort or paste the textual content you need synthesized within the textual content discipline.
Click on Generate.
OmniVoice processes regionally, generates the audio, and performs it again for preview. You’ll be able to export to MP3, WAV, or FLAC from the export button.
What makes a superb 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’ve got, run it by means 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, incorrect 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 every little thing 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 could be preserved beneath the dubbed monitor.
How one can 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 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 total pipeline sometimes takes 8 to 12 minutes. CPU-only will take longer.
When full, the dubbed MP4 is on the market within the Initiatives 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 every one, then click on Run All. The conductor processes them sequentially utilizing GPU execution with a reside progress bar per job. You’ll be able to 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, pace, 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 slightly 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’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, anyplace. A small frameless floating window seems. Begin talking. The widget streams your speech by means of WhisperX’s ASR engine over a neighborhood WebSocket connection, transcribes in actual time, auto-pastes the outcome into no matter software was centered earlier than the widget opened, and disappears.
The complete stream — set off, converse, paste — takes a number of seconds. There isn’t any window switching, no copy-paste step.
Configuring the hotkey: If Cmd+Shift+Area conflicts 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 need to assessment and edit a full transcript, use the primary Transcription tab as an alternative — 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 era. The others exist for particular causes, and switching takes ten seconds by way of Settings → TTS Engine or the OMNIVOICE_TTS_BACKEND surroundings variable.
Engine
Languages
Clone
Finest For
OmniVoice (default)
600+
Sure
Every little thing — the general-purpose engine
CosyVoice 3
9 + 18 dialects
Sure
Instructed era with model management
MLX-Audio
Multi
Varies
Apple Silicon solely, most pace 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 no 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 obtainable on M-series {hardware} utilizing the Apple Neural Engine straight. CosyVoice 3 is the selection once you need instructed era — describing the voice model in pure language slightly than dialing sliders.
Change by way of the surroundings variable if you wish to set it system-wide:
# 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 total growth setup.
# Utilizing OmniVoice Studio by way of the MCP Server
OmniVoice Studio ships a Mannequin Context Protocol (MCP) server, which suggests you’ll be able to 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 once you need to generate voice audio from inside an AI coding session or automate voice era 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 related, 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 era, 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 total instrument 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 totally different. The setup — one set up sequence, a 2.4 GB mannequin obtain, and an non-compulsory Hugging Face token — is a one-time funding. Every little thing 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 group is responsive, and releases have been coming usually since launch. For builders, content material creators, and researchers who work with audio and care about the place their information goes, it is value having regionally.
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 can too discover Shittu on Twitter.
