MCPcopy Create free account
hub / github.com/debpalash/VoiceStudio

github.com/debpalash/VoiceStudio @v0.5.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.1 ↗ · + Follow
16,601 symbols 62,405 edges 1,572 files 4,999 documented · 30%

Browse by type

Functions 15,058 Types & classes 1,240 Endpoints 303
What it actually does AI analysis from the code graph
loading…
README

VoiceStudio logo

VoiceStudio

Previously OmniVoice-Studio

Local voice cloning, dubbing, dictation, and long-form audio.

16 TTS engines · 11 ASR engines · 646-language catalogue · macOS, Windows, and Linux

Local-first. No account, API key, subscription, or usage meter for the core workflow.

<a href="#install">Install</a> ·
<a href="#features">Features</a> ·
<a href="#comparison">Compare</a> ·
<a href="#requirements">Requirements</a> ·
<a href="#engines">Engines</a> ·
<a href="#architecture">Architecture</a> ·
<a href="#api">API</a> ·
<a href="#documentation">Docs</a> ·
<a href="https://github.com/debpalash/VoiceStudio/raw/v0.5.1/README_CN.md"><strong>简体中文</strong></a>







<a href="https://github.com/debpalash/VoiceStudio/stargazers"><img src="https://img.shields.io/github/stars/debpalash/VoiceStudio?style=flat-square&color=f59e0b" alt="GitHub stars" /></a>
<a href="https://github.com/debpalash/VoiceStudio/releases"><img src="https://img.shields.io/github/downloads/debpalash/VoiceStudio/total?style=flat-square&color=8b5cf6&label=downloads" alt="Total downloads" /></a>
<a href="https://github.com/debpalash/VoiceStudio/releases/latest"><img src="https://img.shields.io/github/v/release/debpalash/VoiceStudio?style=flat-square&color=10b981" alt="Latest release" /></a>
<a href="https://github.com/debpalash/VoiceStudio/raw/v0.5.1/LICENSE"><img src="https://img.shields.io/badge/license-AGPL--3.0-blue?style=flat-square" alt="AGPL-3.0 license" /></a>
<a href="https://discord.gg/bzQavDfVV9"><img src="https://img.shields.io/badge/Discord-Community-5865F2?style=flat-square&logo=discord&logoColor=white" alt="Discord community" /></a>







<a href="https://github.com/debpalash/VoiceStudio/releases/latest"><img src="https://img.shields.io/badge/Download-macOS_·_Windows_·_Linux-10b981?style=for-the-badge" alt="Download VoiceStudio" /></a>

Switching TTS engines from the VoiceStudio status bar

[!WARNING] Active beta. Use the latest release for stable work or main for current fixes. Report problems through GitHub Issues.

At a glance

VoiceStudio
Workflows Voice cloning and design, video dubbing, dictation, stories, audiobooks, batch generation
Language catalogue 646 TTS languages; actual coverage and quality depend on the selected engine
Engines 16 TTS · 11 ASR · switch in Model Catalogue or with Ctrl/Cmd+E
Platforms macOS 13.3+ on Apple Silicon · Windows 10/11 x64 · Linux x86_64 with glibc 2.39+
Compute CUDA · Apple Silicon MPS/MLX · ROCm on Linux · CPU · optional remote workers
Interfaces Desktop app · local REST/SSE/WebSocket API · OpenAI-compatible audio API · MCP Server
Storage Voices, projects, settings, and outputs stay on the machine by default
License AGPL-3.0; optional engines keep their own model licenses

Install

Platform Package Guide
macOS 13.3+ DMG, Apple Silicon Install on macOS
Windows 10/11 MSI, x64 Install on Windows
Linux AppImage, x86_64 with glibc 2.39+ Install on Linux
Docker CUDA, ROCm, or CPU; worker-only GPU profiles Run with Docker

Download packages from the latest release. First launch creates a managed Python environment and downloads the default model. Later launches reuse both.

[!NOTE] On macOS, first launch needs a one-time right-click → Open approval. Intel Macs cannot run the local Python backend; use a remote backend instead.

First voice

  1. Launch VoiceStudio and open Voice Cloning.
  2. Add a clean voice sample. Three seconds works; 5–15 seconds usually gives a better prompt.
  3. Enter text, choose a language, then select Generate.

Run from source

Install the development prerequisites, then:

git clone https://github.com/debpalash/VoiceStudio.git
cd VoiceStudio
bun install
bun run desktop

Use bun run dev for the browser UI. See Contributing for services, tests, and platform packages.

If setup fails

Features

Area Included
Voice Cloning Zero-shot synthesis from a short reference clip
Voice Design Create a voice from age, accent, pitch, style, and delivery instructions
Video Dubbing Transcribe, translate, preserve speakers, synthesize, and export video
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 Queue large sets of audio and video jobs with per-job progress
Model Catalogue Install, remove, select, and route TTS, ASR, and LLM models
Remote Model Downloads Install models on enrolled remote workers with live progress
GPU Auto-Detect CUDA, MPS, ROCm, and CPU routing with per-engine checks
AI Watermark AudioSeal embedding and detection
MCP Server Synthesis and transcription tools for MCP clients
Diagnostics Self-checks, error journal, logs, and scrubbed support bundles
Local-first Core creation stays local; network-backed features are explicit opt-ins
Extensible Registry-based TTS, ASR, and plugin interfaces
VoiceStudio Model Catalogue Saving a gallery voice as a local profile
Model Catalogue: engine, device, and install state Gallery: save a shared voice as a local profile

Comparison

VoiceStudio trades managed cloud compute for local control. This is the practical difference:

VoiceStudio Typical hosted voice service
Best fit Private, offline, self-hosted, or high-volume work Fast setup without local model management
Data path Local by default; remote features are opt-in Audio and text are processed by the provider
Cost model Free software; you supply the hardware Subscription, credits, or metered API use
Setup Install the app and model weights Create an account and use the web app or API
Performance Depends on your engine and hardware Provider manages compute and scaling
Offline use Yes, after required models are installed Usually requires a network connection
Customization Source, engines, models, API, and routing are open Limited to provider options
Maintenance You manage updates, disk, and compute Provider manages infrastructure

Requirements

Requirements vary by engine. These values cover the default local workflow.

Minimum Recommended
OS Windows 10 x64 · macOS 13.3 Apple Silicon · Linux x86_64 with glibc 2.39+ Current supported OS release
RAM 8 GB 16 GB+
Disk 10 GB free 20 GB+ SSD
GPU Optional; CPU mode is supported NVIDIA CUDA or Apple Silicon
VRAM 4 GB when using a GPU 8 GB+; large optional engines need more
Python from source 3.11+ 3.11–3.12

ROCm is Linux-only and opt-in. Windows AMD/Ryzen AI uses CPU. Systems with limited VRAM offload work to CPU when required. See performance, benchmarks, and engine disk usage.

Engines

Engine support is capability-specific. Check cloning, language, platform, memory, and license before choosing one. Full setup guides: docs/engines.

Text to speech

Engine Languages Clone Instruct Linux macOS ARM Windows License
VoiceStudio (default, powered by k2-fsa/OmniVoice) 600+ Yes Yes CUDA/CPU MPS CUDA/CPU AGPL-3.0 app · Apache-2.0 model
CosyVoice 3 9 + 18 dialects Yes Yes CUDA/CPU CPU CUDA/CPU Apache-2.0
GPT-SoVITS 5 Yes CUDA/CPU CUDA/CPU MIT
VoxCPM2 30 Yes Yes CUDA/CPU MPS CUDA/CPU Apache-2.0
MOSS-TTS-Nano 20 Yes CUDA/CPU CPU CUDA/CPU Apache-2.0
KittenTTS English CPU CPU CPU MIT
MLX-Audio Model-dependent Varies Varies MLX Varies
Sherpa-ONNX 20+ CUDA/CPU CPU CUDA/CPU Apache-2.0
IndexTTS 2.5 ZH · EN · JA · ES · AR Yes CUDA/CPU CPU CUDA/CPU Bilibili model license¹
OmniVoice GGUF 600+ Yes Yes CUDA/CPU MPS/CPU CUDA/CPU AGPL-3.0 app · Apache-2.0 model
OmniVoice (subprocess) 600+ Yes Yes CUDA/CPU MPS CUDA/CPU AGPL-3.0 app · Apache-2.0 model
PocketTTS EN · FR · DE · PT · IT · ES Yes CPU CPU CPU CC-BY-4.0, gated²
Supertonic 3 31 CPU CPU CPU OpenRAIL-M
MOSS-TTS-v1.5 31 Yes CUDA/CPU CPU CUDA/CPU Apache-2.0
dots.tts 24 Yes CUDA/CPU CPU Apache-2.0
Confucius4-TTS 14 Yes CUDA/CPU CPU CUDA/CPU Apache-2.0

⚡ Installed or registered on demand.

¹ IndexTTS 2.5 requires a separate written Bilibili license above 100 million monthly active users or RMB 1 billion annual revenue. Review the model license.

² PocketTTS shows its gated-access and CC-BY-4.0 terms before first use.

Clone-less engines cannot preserve a reference speaker in dubbing or pinned-voice batch jobs. VoiceStudio rejects those jobs instead of silently changing engines. Heavy engines have separate memory and platform limits; check their engine guide first.

Speech to text

Engine ID Languages Best fit
WhisperX (default) whisperx ~100 Dubbing, subtitles, word-level timing
Faster-Whisper faster-whisper ~100 General cross-platform transcription
Faster-Whisper (isolated) faster-whisper-isolated ~100 Crash-isolated batch transcription
MLX Whisper mlx-whisper ~100 Apple Silicon
PyTorch Whisper pytorch-whisper ~100 CUDA, MPS, and CPU fallback
Parakeet TDT nemo-parakeet English + 25 EU Fast CPU/CUDA transcription
Parakeet TDT v3 (MLX) parakeet-mlx 25 EU Apple Silicon dictation and word timestamps
Moonshine moonshine English Low-power, low-latency ONNX
FunASR funasr 50+ VAD and inline diarization
sherpa-onnx (live dictation) sherpa-onnx-asr Model-dependent Streaming CPU dictation
OpenAI-compatible ⚠️ remote openai-compat-asr Server-dependent Qwen3-ASR or another compatible endpoint; audio leaves the machine

WhisperX and Faster-Whisper retry with int8 when efficient float16 is unavailable. Pin ASR_COMPUTE_TYPE=int8 or float32 only if automatic selection still fails.

Architecture

Tauri v2 desktop shell (Rust)
        │ IPC
React + Vite UI
        │ HTTP · SSE · WebSocket on localhost:3900
FastAPI backend
        ├── TTS / ASR engine registries
        ├── dubbing / audio / long-form pipelines
        ├── OpenAI-compatible API and MCP server
        └── SQLite + Alembic → omnivoice_data/
Layer Path Responsibility
Desktop shell frontend/src-tauri/ Window lifecycle, tray, shortcuts, updater, sidecar bootstrap
Frontend frontend/src/ React UI, Zustand state, API and event clients, i18n
API backend/api/ REST routes, schemas, auth boundaries, streaming
Core services backend/services/ Generation, dubbing, audio processing, persistence
Engines backend/engines/ Isolated and optional engine adapters
Worker system backend/worker/ Authenticated remote compute and job transport
Data omnivoice_data/ Projects, voices, settings, logs, and SQLite state
Delivery scripts/, deploy/, .github/workflows/ Development, packaging, containers, releases, CI

Network boundary

  • The desktop talks to a loopback-only backend on localhost:3900.
  • Loopback API calls need no server key. Remote access requires a share PIN or API key.
  • Remote workers and OpenAI-compatible ASR are opt-in. The UI identifies when audio leaves the machine.
  • Analytics is off until consent. If enabled, it sends allowlisted, content-free usage metadata—not t

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 12,398
Method 2,660
Class 1,101
Route 303
Interface 127
Enum 12

Languages

Python81%
TypeScript15%
Rust5%

Modules by API surface

tests/test_worker_inbound_transport.py238 symbols
backend/services/asr_backend.py144 symbols
tests/test_worker_server_integrity.py132 symbols
backend/worker/transport/server.py129 symbols
backend/services/tts_backend.py124 symbols
backend/services/model_manager.py121 symbols
frontend/src-tauri/src/bootstrap.rs115 symbols
tests/test_worker_upload_server.py113 symbols
tests/test_worker_service_api.py102 symbols
backend/api/routers/settings.py99 symbols
tests/test_worker_transport.py98 symbols
tests/test_worker_scheduler.py92 symbols

Dependencies from manifests, versioned

@fontsource-variable/source-serif-45.3.0 · 1×
@fontsource/ibm-plex-mono5.3.0 · 1×
@playwright/test1.62.1 · 1×
@radix-ui/react-dialog1.1.23 · 1×
@radix-ui/react-dropdown-menu2.1.24 · 1×
@radix-ui/react-progress1.1.16 · 1×
@radix-ui/react-slot1.3.3 · 1×

For agents

$ claude mcp add VoiceStudio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page