AI News HubLIVE
In-site rewrite6 min read

Getting Started with OmniVoice-Studio

OmniVoice Studio is a free, open-source, locally-run voice AI desktop app supporting 646 languages, no API key required. This article covers the full installation process across macOS, Windows, and Linux, system requirements, Hugging Face token setup, and voice cloning.

SourceKDnuggetsAuthor: Shittu Olumide

--> Getting Started with OmniVoice-Studio - KDnuggets

-->

Join Newsletter

Introduction

You paste a paragraph of text into ElevenLabs, press Generate, and watch the character counter tick down. The free tier is gone before you finish testing. The Creator plan is $22 a month. The Pro plan is $99. And every audio file you generate leaves your machine and ends up on their servers, which matters the moment your content is sensitive, proprietary, or simply yours.

OmniVoice Studio is built on a different premise: everything runs on your hardware. Voice cloning, video dubbing, real-time dictation, voice design — all of it local, all of it free for personal use, no API key required, no usage counter. The project describes itself as "the open-source ElevenLabs alternative," and that's accurate, though the language coverage alone makes the comparison interesting: ElevenLabs supports 32 languages. OmniVoice Studio supports 646.

The project has accumulated 7.1k GitHub stars and 1.1k forks. The latest release, v0.2.7, shipped May 3, 2026, includes pre-built installers for macOS, Windows, and Linux. This article covers the full path from install to your first generated audio.

Beta notice: OmniVoice Studio is in active beta. Things can break between releases. For the most current fixes, cloning from source and running bun run desktop-prod is the recommended path over pre-built installers.

What OmniVoice Studio Is and Why It Was Built

The simplest framing is this: OmniVoice Studio gives you a professional voice AI desktop app that never phones home. No accounts, no subscriptions, no cloud calls during inference. Your reference audio, your scripts, your generated files — they stay on your machine.

Here is how the feature set and pricing compare directly to ElevenLabs:

Feature ElevenLabs OmniVoice Studio

Pricing $5–$330/month, per-character billing Free for personal use

Voice Cloning 3-second clip 3-second clip, zero-shot

Voice Design Gender, age Gender, age, accent, pitch, style, dialect

Languages 32 646

Video Dubbing Cloud-only Fully local

Data Privacy Audio sent to the cloud Nothing leaves your machine

API Keys Required Not needed

GPU Support N/A (cloud) CUDA, Apple Silicon MPS, AMD ROCm, CPU

Desktop App No macOS, Windows, Linux

Under the hood, OmniVoice Studio is a Tauri desktop application — 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 built on four open-source components that do the actual 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 model that makes cloning work from a 3-second clip across 646 languages.

Pyannote handles speaker diarization, identifying who said what in a multi-speaker recording, which is what makes automatic voice assignment in the dubbing pipeline possible.

GPU acceleration is auto-detected at launch. You don't configure anything: OmniVoice reads your hardware and routes accordingly to CUDA (NVIDIA), MPS (Apple Silicon), ROCm (AMD), or CPU. If you have under 8 GB VRAM, the TTS model offloads to the CPU automatically during transcription. The pipeline still runs, just slower.

System Requirements

Before installing, check that your machine meets the minimum specs. The app will run below these, but you will notice it.

Component Minimum Recommended

OS Windows 10 (21H2+), macOS 12+, Ubuntu 20.04+ Any modern 64-bit OS

RAM 8 GB 16 GB+

VRAM 4 GB (TTS auto-offloads to CPU if less) 8 GB+ (NVIDIA RTX 3060+)

Disk 10 GB free (models + cache) 20 GB+ SSD

Python 3.10+ (managed by uv) 3.11–3.12

GPU Optional (CPU works) NVIDIA CUDA, Apple Silicon MPS, AMD ROCm

One thing worth knowing: you do not need a GPU to use OmniVoice Studio. The entire pipeline runs on CPU. TTS synthesis is roughly 3x slower without a GPU, and transcription of long videos will take longer, but for short voice clones and dictation, the CPU path is perfectly usable. Apple Silicon Macs are the sweet spot for GPU-less users; the app automatically picks MLX-optimized Whisper and TTS backends that use the Apple Neural Engine and Metal Performance Shaders, giving roughly 2x the throughput of the CPU path.

Installing OmniVoice Studio

Pick the section for your operating system and follow it from top to bottom. The install sequence is the same across platforms: clone, install frontend dependencies with Bun, and launch. The differences are in the prerequisites.

// Installing on macOS

Prerequisites:

macOS 12 (Monterey) or newer — Apple Silicon or Intel

Python 3.11+

Bun (the JavaScript runtime used to build the frontend)

Xcode Command Line Tools

FFmpeg

Install them in order:

1. Install Python via Homebrew (or use pyenv if you manage multiple versions)

brew install [email protected]

2. Install Bun

curl -fsSL https://bun.sh/install | bash

3. Install Xcode Command Line Tools

xcode-select --install

4. Install FFmpeg (used by the dubbing and capture pipelines)

brew install ffmpeg

Then clone and run:

Clone the repository

git clone https://github.com/debpalash/OmniVoice-Studio.git cd OmniVoice-Studio

Install frontend dependencies

bun install

Launch the app

bun run desktop-prod

The first launch is slower than every subsequent one. It builds the Tauri shell, creates the Python virtual environment via uv, syncs all Python dependencies, and downloads model weights — approximately 2.4 GB. The splash screen shows live progress for each step. Once it completes, the full UI opens.

Pre-built DMG users: Download the latest DMG from the Releases page, mount it, and drag OmniVoice Studio into /Applications. If the first launch shows "app is damaged and can't be opened," that is 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:

Remove the Gatekeeper quarantine attribute.

Run this once after installing. The app is open source -- verify the

SHA-256 checksum on the Releases page against the .dmg.sha256 file

before running this if you want to confirm the download is clean.

xattr -cr "/Applications/OmniVoice Studio.app"

// Installing on Windows

Prerequisites:

Windows 10 (21H2 or newer) or Windows 11, x64

Python 3.11+

Microsoft C++ Build Tools (required by pyannote.audio and occasional torch wheel rebuilds)

Bun

FFmpeg

Install them from a regular (non-admin) PowerShell:

Install Python via winget

winget install Python.Python.3.11

Install Microsoft C++ Build Tools

Download from https://visualstudio.microsoft.com/visual-cpp-build-tools/

Select "Desktop development with C++" workload during install

Install Bun

powershell -c "irm bun.sh/install.ps1 | iex"

Install FFmpeg via winget

winget install Gyan.FFmpeg

Then clone and run (still in PowerShell):

git clone https://github.com/debpalash/OmniVoice-Studio.git cd OmniVoice-Studio bun install bun run desktop-prod

Windows-specific note (Triton/torch.compile OOM): On Windows, certain TTS engines (notably CosyVoice paths) trigger torch.compile kernel compilation on the first synthesis call. On machines with under 16 GB VRAM, this can OOM before any audio renders, surfacing as OutOfMemoryError: CUDA out of memory. The fix is in Settings → Performance: toggle "Disable torch.compile (Windows)" on. From the command line, set the environment variable before launching:

Disable torch.compile to avoid OOM on first synthesis (Windows only).

This falls back to the eager-mode kernel path -- slightly slower peak

throughput, but the engine actually loads on low-VRAM machines.

$env:TORCH_COMPILE_DISABLE = "1" bun run desktop-prod

Pre-built MSI users: Download the latest MSI from the Releases page, run the installer, and find OmniVoice Studio in the Start menu.

// Installing on Linux

Prerequisites (Debian/Ubuntu):

Install Python

sudo apt install python3.11

Install Bun

curl -fsSL https://bun.sh/install | bash

Install FFmpeg

sudo apt install ffmpeg

Install GTK/WebKit dependencies required by the Tauri desktop shell

sudo apt install \ libwebkit2gtk-4.1-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libssl-dev \ libxdo-dev \ build-essential

Prerequisites (Fedora):

sudo dnf install python3.11 ffmpeg-free curl -fsSL https://bun.sh/install | bash sudo dnf install 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 install bun run desktop-prod

Pre-built AppImage users:

Download the AppImage from the Releases page, then:

chmod +x OmniVoice.Studio_*.AppImage ./OmniVoice.Studio_*.AppImage

If you see a white screen on Fedora 44+ or Ubuntu 24.04, set this:

WEBKIT_DISABLE_COMPOSITING_MODE=1 ./OmniVoice.Studio_*.AppImage

The white screen on newer distros is a compositing regression in WebKitGTK 2.44/2.46. v0.3+ of the AppImage autodetects this and sets the flag automatically. The manual environment variable path is the fallback for source installs.

Pre-built .deb users:

sudo apt install ./OmniVoice.Studio_*.amd64.deb omnivoice-studio

Docker (backend only):

For headless server use or team deployments where the desktop GUI isn't needed, OmniVoice Studio ships a Docker path that runs just the FastAPI backend and its 97 API endpoints:

Clone the repo if you haven't already

git clone https://github.com/debpalash/OmniVoice-Studio.git cd OmniVoice-Studio

Build and start the backend container

docker compose -f deploy/docker-compose.yml up

The backend API is then available at http://localhost:8000. The full API reference lives in the repo's docs/ directory. This path is useful when integrating OmniVoice capabilities into a pipeline without running a desktop session.

Setting Up Your Hugging Face Token

This step is optional for basic use, but required for two features: speaker diarization (the pyannote/speaker-diarization-3.1 model is gated on Hugging Face) and the larger voice-design engines.

You need a free Hugging Face account and a read token. Once you have one:

Option 1 — Through the app (recommended): Open Settings → API Keys, paste your hf_... token, and save. The app writes it to OmniVoice's encrypted SQLite store and to the canonical huggingface_hub location, so every subprocess the app spawns picks it up automatically.

Option 2 — Environment variable:

macOS / Linux -- add to ~/.zshrc or ~/.bashrc

export HF_TOKEN=hf_your_token_here source ~/.zshrc

Windows PowerShell -- writes to user-scope environment

Use this, not setx. setx truncates values over 1024 chars and

doesn't propagate to the current shell session.

[Environment]::SetEnvironmentVariable("HF_TOKEN", "hf_your_token_here", "User")

You also need to accept the model terms on the Hugging Face model page before downloading. Visit pyannote/speaker-diarization-3.1 and accept the gated model access request. This is a one-time step.

Cloning a Voice

Voice cloning is the core feature and the one most people install OmniVoice for. The model powering it is OmniVoice from k2-fsa — a diffusion-based TTS system trained on 646 languages that operates zero-shot, meaning there is no fine-tuning step. You provide a reference clip at inference time, and the model adapts to the speaker's voice on the fly.

How to clone a voice:

Navigate to the Voice Clone tab. You have two options for the reference audio: record directly in the app by clicking the microphone button, or upload an existing audio file. Either way, 3 to 10 seconds of clear speech is enough.

Then:

Upload

[truncated for AI cost control]