{"id":50111551,"url":"https://github.com/debpalash/OmniVoice-Studio","last_synced_at":"2026-06-09T04:00:53.662Z","repository":{"id":350836918,"uuid":"1206390571","full_name":"debpalash/OmniVoice-Studio","owner":"debpalash","description":"The open-source ElevenLabs alternative for local voice cloning, design, create, dubbing and dictation Desktop App","archived":false,"fork":false,"pushed_at":"2026-06-02T21:08:08.000Z","size":19312,"stargazers_count":5750,"open_issues_count":2,"forks_count":860,"subscribers_count":30,"default_branch":"main","last_synced_at":"2026-06-02T23:23:30.591Z","etag":null,"topics":["asr","dubbing","dubbing-ai","elevenlabs","local-ai","omnivoice","omnivoice-studio","self-hosted","speech-recognition","speech-to-text","text-to-speech","transcription","tts","video-editing","voice-ai","voice-cloning","voice-generation"],"latest_commit_sha":null,"homepage":"https://palash.dev/omnivoice","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/debpalash.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["debpalash"]}},"created_at":"2026-04-09T21:40:26.000Z","updated_at":"2026-06-02T23:20:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/debpalash/OmniVoice-Studio","commit_stats":null,"previous_names":["debpalash/omnivoice-studio"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/debpalash/OmniVoice-Studio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debpalash%2FOmniVoice-Studio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debpalash%2FOmniVoice-Studio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debpalash%2FOmniVoice-Studio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debpalash%2FOmniVoice-Studio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/debpalash","download_url":"https://codeload.github.com/debpalash/OmniVoice-Studio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/debpalash%2FOmniVoice-Studio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34090751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asr","dubbing","dubbing-ai","elevenlabs","local-ai","omnivoice","omnivoice-studio","self-hosted","speech-recognition","speech-to-text","text-to-speech","transcription","tts","video-editing","voice-ai","voice-cloning","voice-generation"],"created_at":"2026-05-23T13:00:22.142Z","updated_at":"2026-06-09T04:00:53.656Z","avatar_url":"https://github.com/debpalash.png","language":"Python","funding_links":["https://github.com/sponsors/debpalash"],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.png\" alt=\"OmniVoice Logo\" width=\"120\" /\u003e\n  \u003ch1\u003eOmniVoice Studio\u003c/h1\u003e\n  \u003ch3\u003eThe open-source ElevenLabs alternative.\u003c/h3\u003e\n  \u003cp\u003eReal-time dictation, zero-shot voice cloning, and cinematic video dubbing — all on your desktop.\u003cbr/\u003eOpen-source, no API keys, fully local. \u003cb\u003e646 languages.\u003c/b\u003e\u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/debpalash/OmniVoice-Studio?style=flat-square\u0026color=f59e0b\" alt=\"Stars\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/debpalash/OmniVoice-Studio?style=flat-square\u0026color=10b981\" alt=\"Release\" /\u003e\u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-AGPL--3.0-blue?style=flat-square\" alt=\"License\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/debpalash/OmniVoice-Studio?style=flat-square\u0026color=ef4444\" alt=\"Issues\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/bzQavDfVV9\"\u003e\u003cimg src=\"https://img.shields.io/badge/Discord-Join_Community-5865F2?style=flat-square\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"#quickstart\"\u003eQuickstart\u003c/a\u003e ·\n    \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e ·\n    \u003ca href=\"#why-omnivoice-studio\"\u003eWhy OmniVoice Studio?\u003c/a\u003e ·\n    \u003ca href=\"#tts-engines\"\u003eTTS Engines\u003c/a\u003e ·\n    \u003ca href=\"#asr-engines\"\u003eASR Engines\u003c/a\u003e ·\n    \u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e ·\n    \u003ca href=\"https://discord.gg/bzQavDfVV9\"\u003eDiscord\u003c/a\u003e ·\n    \u003ca href=\"README_CN.md\"\u003e\u003cstrong\u003e简体中文\u003c/strong\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/releases/download/v0.2.7/OmniVoice.Studio_0.2.7_aarch64.dmg\"\u003e\u003cimg src=\"https://img.shields.io/badge/macOS-DMG_(Apple_Silicon)-000?style=for-the-badge\u0026logo=apple\u0026logoColor=white\" alt=\"Download macOS DMG\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/releases/download/v0.2.7/OmniVoice.Studio_0.2.7_x64_en-US.msi\"\u003e\u003cimg src=\"https://img.shields.io/badge/Windows-MSI_(x64)-0078D4?style=for-the-badge\u0026logo=windows\u0026logoColor=white\" alt=\"Download Windows MSI\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/releases/download/v0.2.7/OmniVoice.Studio_0.2.7_amd64.AppImage\"\u003e\u003cimg src=\"https://img.shields.io/badge/Linux-AppImage_(x64)-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black\" alt=\"Download Linux AppImage\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/debpalash/OmniVoice-Studio/releases/download/v0.2.7/OmniVoice.Studio_0.2.7_amd64.deb\"\u003e\u003cimg src=\"https://img.shields.io/badge/Debian-.deb-A81D33?style=for-the-badge\u0026logo=debian\u0026logoColor=white\" alt=\"Download Debian .deb\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003csub\u003e\u003cb\u003emacOS:\u003c/b\u003e first launch needs a one-time approval — right-click → \u003cb\u003eOpen\u003c/b\u003e (or System Settings → Privacy \u0026amp; Security → \u003cb\u003e\"Open Anyway\"\u003c/b\u003e on macOS 15). No Terminal needed. \u003ca href=\"docs/install/macos.md#gatekeeper-quarantine\"\u003eWhy?\u003c/a\u003e\u003c/sub\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\".github/assets/social-preview.png\" alt=\"OmniVoice Studio — The open-source ElevenLabs alternative\" width=\"100%\"/\u003e\n\u003c/div\u003e\n\n\u003e [!WARNING]\n\u003e **OmniVoice Studio is in active beta.** Things may break between releases. For the latest features and fixes, clone the repo and run from source rather than using pre-built installers. Bug reports and PRs are very welcome — [open an issue](https://github.com/debpalash/OmniVoice-Studio/issues) or [join Discord](https://discord.gg/bzQavDfVV9).\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"https://discord.gg/bzQavDfVV9\"\u003e\u003cimg src=\"https://img.shields.io/badge/💬_Join_the_Community-Discord-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Join Discord\" /\u003e\u003c/a\u003e\n  \u003cbr/\u003e\n  \u003csub\u003eGet setup help · Share your dubs · Vote on the roadmap · Early access to new engines\u003c/sub\u003e\n  \u003cbr/\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n## Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003ctd align=\"center\" width=\"33%\"\u003e\n    \u003ch3\u003e🎙️ Voice Cloning\u003c/h3\u003e\n    \u003cp\u003e3-second clip → mirror any voice.\u003cbr/\u003e\u003cb\u003e646 languages\u003c/b\u003e, zero-shot.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" width=\"33%\"\u003e\n    \u003ch3\u003e🎨 Voice Design\u003c/h3\u003e\n    \u003cp\u003eGender, age, accent, pitch, speed,\u003cbr/\u003eemotion, dialect — \u003cb\u003edial it in\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" width=\"33%\"\u003e\n    \u003ch3\u003e🎬 Video Dubbing\u003c/h3\u003e\n    \u003cp\u003eYouTube URL or file → transcribe →\u003cbr/\u003etranslate → re-voice → \u003cb\u003eMP4\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e⌨️ Dictation Widget\u003c/h3\u003e\n    \u003cp\u003e\u003ccode\u003e⌘+⇧+Space\u003c/code\u003e from \u003cb\u003eany app\u003c/b\u003e.\u003cbr/\u003eTranscribes, auto-pastes, disappears.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e🔊 Vocal Isolation\u003c/h3\u003e\n    \u003cp\u003eDemucs-powered. Splits speech\u003cbr/\u003efrom music, \u003cb\u003ekeeps the background\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e👥 Speaker Diarization\u003c/h3\u003e\n    \u003cp\u003ePyannote + WhisperX.\u003cbr/\u003e\u003cb\u003eAuto-identifies\u003c/b\u003e who said what.\u003c/p\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e📦 Batch Queue\u003c/h3\u003e\n    \u003cp\u003eDrop \u003cb\u003e50 videos\u003c/b\u003e, walk away.\u003cbr/\u003eProgress bars per job.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e🤖 MCP Server\u003c/h3\u003e\n    \u003cp\u003eUse OmniVoice from \u003cb\u003eClaude\u003c/b\u003e,\u003cbr/\u003eCursor, or any MCP client.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e🛡️ AI Watermark\u003c/h3\u003e\n    \u003cp\u003eAudioSeal (Meta). \u003cb\u003eInvisible\u003c/b\u003e,\u003cbr/\u003esurvives compression.\u003c/p\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e🔐 100% Local\u003c/h3\u003e\n    \u003cp\u003eNo keys, no cloud, no accounts.\u003cbr/\u003e\u003cb\u003eYour machine only\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e⚡ GPU Auto-Detect\u003c/h3\u003e\n    \u003cp\u003eCUDA · MPS · ROCm · CPU.\u003cbr/\u003e≤8 GB? \u003cb\u003eAuto-offloads\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n  \u003ctd align=\"center\" valign=\"top\"\u003e\n    \u003ch3\u003e🧩 Extensible\u003c/h3\u003e\n    \u003cp\u003eSubclass \u003ccode\u003eTTSBackend\u003c/code\u003e,\u003cbr/\u003eadd any engine in \u003cb\u003e~50 lines\u003c/b\u003e.\u003c/p\u003e\n  \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Quickstart\n\nPer-OS install guides — pick yours and follow it end-to-end:\n\n- **macOS** — [docs/install/macos.md](docs/install/macos.md)\n- **Windows** — [docs/install/windows.md](docs/install/windows.md)\n- **Linux** — [docs/install/linux.md](docs/install/linux.md)\n- **Docker** — [docs/install/docker.md](docs/install/docker.md)\n\nStuck? See [docs/install/troubleshooting.md](docs/install/troubleshooting.md)\nfor the top 10 install errors. The in-app error UI deeplinks to those entries\nwhen something breaks at runtime.\n\nFor Hugging Face token setup, see\n[docs/setup/huggingface-token.md](docs/setup/huggingface-token.md). For\ndiarization-specific gating, see\n[docs/features/diarization.md](docs/features/diarization.md).\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"docs/screenshot-clone.png\" alt=\"Voice Clone\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eVoice Clone\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eDrop a 3-second clip → mirror any voice. 646 languages, zero-shot.\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"50%\"\u003e\n      \u003cimg src=\"docs/screenshot-design.png\" alt=\"Voice Design\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eVoice Design\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eBuild new voices from scratch — gender, age, accent, pitch, style.\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/screenshot-dub.png\" alt=\"Video Dubbing\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eVideo Dubbing\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eUpload or paste a YouTube URL. Transcribe, translate, re-voice, export.\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/screenshot-gallery.png\" alt=\"Voice Gallery\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eVoice Gallery\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eSearch YouTube, browse categories, download clips, build your library.\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/screenshot-settings.png\" alt=\"Settings — Models\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eSettings → Models\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003e15 models. One-click install. Auto-detects your platform (CUDA / MPS / CPU).\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"docs/screenshot-libraryprojects.png\" alt=\"Projects\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eProjects\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eDub projects, voice profiles, generation history, exports — all searchable.\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" colspan=\"2\"\u003e\n      \u003cimg src=\"docs/screenshot-logs.png\" alt=\"Settings — Logs\" width=\"100%\"/\u003e\n      \u003cbr/\u003e\u003cb\u003eSettings → Logs\u003c/b\u003e\u003cbr/\u003e\n      \u003csub\u003eLive backend, frontend, and Tauri runtime logs. Filter, refresh, clear.\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Why OmniVoice Studio?\n\nElevenLabs charges **$5–$330/mo** and processes your audio on their servers. OmniVoice Studio runs **on your hardware, with no usage limits.**\n\n| | **ElevenLabs** | **OmniVoice Studio** |\n|---|---|---|\n| **Pricing** | $5–$330/mo, per-character billing | Free \u0026 open-source (AGPL-3.0) · [Commercial license](#license) for proprietary use |\n| **Voice Cloning** | ✅ 3s clip | ✅ 3s clip, zero-shot |\n| **Voice Design** | ✅ Gender, age | ✅ Gender, age, accent, pitch, style, dialect |\n| **Languages** | 32 | **646** |\n| **Video Dubbing** | ✅ Cloud-only | ✅ Fully local |\n| **Data Privacy** | Audio sent to cloud | **Nothing leaves your machine** |\n| **API Keys** | Required | Not needed |\n| **GPU Support** | N/A (cloud) | CUDA · Apple Silicon · ROCm · CPU |\n| **Desktop App** | ❌ | ✅ macOS · Windows · Linux |\n| **Customizable** | ❌ Closed | ✅ Fork it, extend it, ship it |\n\nOmniVoice Studio gives you professional-grade AI tools without the subscription or the cloud.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cbr/\u003e\n  \u003cb\u003eConvinced? Come build with us.\u003c/b\u003e\u003cbr/\u003e\n  \u003ca href=\"https://discord.gg/bzQavDfVV9\"\u003e\u003cimg src=\"https://img.shields.io/badge/Join_Discord-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Join Discord\" /\u003e\u003c/a\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n\u003c/div\u003e\n\n---\n\n## System Requirements\n\n| | **Minimum** | **Recommended** |\n|---|---|---|\n| **OS** | Windows 10, macOS 12+, Ubuntu 20.04+ | Any modern 64-bit OS |\n| **RAM** | 8 GB | 16 GB+ |\n| **VRAM (GPU)** | 4 GB (auto-offloads TTS to CPU) | 8 GB+ (NVIDIA RTX 3060+) |\n| **Disk** | 10 GB free (models + cache) | 20 GB+ SSD |\n| **Python** | 3.10+ (managed by `uv`) | 3.11–3.12 |\n| **GPU** | Optional — CPU works | NVIDIA CUDA · Apple Silicon MPS · AMD ROCm |\n\n\u003e [!TIP]\n\u003e On GPUs with **≤8 GB VRAM**, OmniVoice automatically offloads TTS to CPU during transcription — no config needed. A dedicated GPU is not required; the entire pipeline runs on CPU (just slower).\n\n### TTS Engines\n\nOmniVoice ships a multi-engine TTS backend. The default engine (OmniVoice) is always available; additional engines are opt-in and auto-detected. Switch engines in **Settings → TTS Engine** or via the `OMNIVOICE_TTS_BACKEND` env var.\n\n| Engine | Languages | Clone | Instruct | Linux | macOS ARM | Windows | License |\n|--------|:---------:|:-----:|:--------:|:-----:|:---------:|:-------:|:-------:|\n| **OmniVoice** (default) | 600+ | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | Built-in |\n| **CosyVoice 3** | 9 + 18 dialects | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | Apache-2.0 |\n| **MLX-Audio** (Kokoro, Qwen3-TTS, CSM, Dia, …) | Multi | Varies | Varies | ❌ | ✅ Native | ❌ | Varies |\n| **VoxCPM2** | 30 | ✅ | ✅ | ✅ CUDA/CPU | ✅ MPS | ✅ CUDA/CPU | Apache-2.0 |\n| **MOSS-TTS-Nano** | 20 | ✅ | ❌ | ✅ CUDA/CPU | ✅ CPU | ✅ CUDA/CPU | Apache-2.0 |\n| **KittenTTS** | English | ❌ | ❌ | ✅ CPU | ✅ CPU | ✅ CPU | MIT |\n\n\u003e **CUDA** = GPU-accelerated · **MPS** = Apple Silicon Metal · **CPU** = runs everywhere, slower for large models · KittenTTS and MOSS-TTS-Nano run realtime on CPU · MLX-Audio is Apple Silicon only.\n\n### ASR Engines\n\nOmniVoice ships a multi-engine ASR (speech-to-text) backend that powers dictation, video dubbing, and subtitle generation — all fully local. **WhisperX** is the cross-platform default; the rest are opt-in and auto-detected. Switch in **Settings → ASR Engine** or via the `OMNIVOICE_ASR_BACKEND` env var.\n\n| Engine | `OMNIVOICE_ASR_BACKEND` | Languages | Best for |\n|--------|-------------------------|:---------:|----------|\n| **WhisperX** (default) | `whisperx` | ~100 | Dubbing \u0026 subtitles — word-level timing via wav2vec2 forced alignment |\n| **Faster-Whisper** | `faster-whisper` | ~100 | Fast transcription on Linux / macOS / Windows (CTranslate2) |\n| **MLX Whisper** | `mlx-whisper` | ~100 | Native Apple Silicon speed (Apple MLX / Metal) |\n| **PyTorch Whisper** | `pytorch-whisper` | ~100 | CUDA / CPU fallback via 🤗 Transformers |\n| **Parakeet TDT** | `nemo-parakeet` | English + 25 EU | SOTA English accuracy, auto language detection (NVIDIA NeMo, GPU only) |\n| **Moonshine** | `moonshine` | English | Edge / low-latency, ONNX |\n| **FunASR** | `funasr` | 50+ | All-in-one multilingual — built-in VAD + inline speaker diarization (SenseVoice) |\n\n\u003e Whisper-family engines cover ~100 languages; **FunASR / SenseVoice** adds an all-in-one multilingual path with built-in voice-activity detection and inline speaker diarization. Every engine runs on-device — no API keys, no cloud.\n\n---\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────┐\n│                  Frontend (React)                │\n│  DubTab · VoicePreview · BatchQueue · Gallery    │\n├─────────────────────────────────────────────────┤\n│                Backend (FastAPI)                  │\n│  97 API endpoints · SSE streaming · SQLite       │\n├──────────┬──────────┬──────────┬────────────────┤\n│ WhisperX │  Demucs  │OmniVoice │   Pyannote     │\n│   ASR    │  Source  │   TTS    │  Diarization   │\n│          │  Sep.    │          │                │\n└──────────┴──────────┴──────────┴────────────────┘\n        CUDA / MPS / ROCm / CPU (auto-detected)\n```\n\n---\n\n## Roadmap\n\n### ✅ Shipped\n\n| Category | Features |\n|----------|----------|\n| **Dubbing** | Full pipeline (transcribe→translate→synthesize→mux), scene-aware splitting, lip-sync scoring, streaming TTS |\n| **Voice** | Zero-shot cloning, voice design, A/B comparison, voice preview widget, gallery with favorites/tags |\n| **Audio** | Demucs vocal isolation, per-segment gain, selective track export, stem/SRT/VTT/MP3 export |\n| **Multi-Lang** | Multi-language batch picker, batch dubbing queue with sequential GPU execution |\n| **Diarization** | Pyannote ML diarization, auto speaker clone extraction, per-speaker voice assignment |\n| **Infra** | Docker deployment, CUDA/MPS/ROCm auto-detect, cuDNN 8 compat, VRAM-aware model offloading |\n| **AI Provenance** | AudioSeal invisible watermarking (SynthID-like), video logo overlay, watermark detection API |\n| **UX** | Undo/redo, keyboard shortcuts, drag-and-drop, session persistence, glassmorphism design system |\n| **Real-time Events** | WebSocket event bus — instant sidebar refresh on data mutations, exponential backoff reconnect |\n| **State Management** | Zustand store migration — `uiSlice`, `pillSlice`, `dubSlice`, `generateSlice`, `prefsSlice`, `glossarySlice` |\n| **Desktop** | Cross-platform Tauri installers (macOS DMG, Windows MSI, Linux deb/AppImage), auto-update infrastructure |\n| **Windows Hardening** | Cross-platform log paths, Triton workaround, HF symlink bypass, 300s health check timeout |\n| **Dictation** | Global system-wide hotkey (`⌘+⇧+Space`), frameless floating widget, streaming ASR via WebSocket, auto-paste |\n| **Batch Pipeline** | Full batch TTS: extract → transcribe → translate → generate → mix → export, with live progress tracking |\n\n### 🔜 Up Next\n\n- 🎬 **Lip-sync v2** — visual speech timing with wav2lip\n- 📖 **Audiobook Editor** — chapter-aware long-form narration\n- 🌐 **Hosted Demo** — try OmniVoice without installing anything\n- 🔌 **Plugin Marketplace** — community-contributed TTS engines and effects\n\n---\n\n## Community\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://discord.gg/bzQavDfVV9\"\u003e\u003cimg src=\"https://img.shields.io/badge/💬_Discord-Join_Community-5865F2?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Join Discord\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n| Channel | What happens there |\n|---------|--------------------|\n| `#showcase` | Members share their dubs, clones, and voice designs |\n| `#help` | Setup issues, GPU troubleshooting, model questions |\n| `#feature-requests` | Vote on what gets built next |\n| `#dev` | Architecture discussions, PR reviews, engine integrations |\n| `#announcements` | Release notes, breaking changes, early access |\n\n**[→ Join the Discord](https://discord.gg/bzQavDfVV9)** — we respond to setup questions within hours, not days.\n\n---\n\n## Contributing\n\nWe welcome contributions of all kinds — bug fixes, new TTS engine adapters, UI improvements, docs, and translations.\n\n- 📖 Read the **[Contributing Guide](CONTRIBUTING.md)** for setup, code style, and PR workflow\n- 🐛 Browse [good first issues](https://github.com/debpalash/OmniVoice-Studio/labels/good%20first%20issue)\n- 💬 Join our [Discord](https://discord.gg/bzQavDfVV9) to discuss ideas or ask for help\n\n---\n\n## FAQ\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eIs this really as good as ElevenLabs?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\nFor voice cloning and dubbing, yes — OmniVoice uses a state-of-the-art diffusion TTS model with 646 languages (ElevenLabs supports 32). Quality is comparable for most use cases. Where ElevenLabs wins is in their polished cloud API and pre-made voice library. OmniVoice wins on privacy, cost, language coverage, and customizability.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eDoes it work on Apple Silicon (M1/M2/M3/M4)?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\nYes. MPS acceleration is auto-detected. MLX-optimized Whisper models are available for faster transcription on Apple hardware.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eHow much VRAM do I need?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\u003cb\u003e4 GB minimum.\u003c/b\u003e With ≤8 GB, the TTS model is automatically offloaded to CPU during transcription. With 8+ GB, everything runs on GPU simultaneously. No GPU at all? CPU mode works — just slower (~3× for TTS).\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eCan I use this commercially?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n\u003cb\u003eYes — commercial use is free.\u003c/b\u003e OmniVoice Studio is free and open-source under the \u003ca href=\"https://www.gnu.org/licenses/agpl-3.0.html\"\u003eGNU AGPL-3.0\u003c/a\u003e. So personal, educational, research, \u003cb\u003eand commercial / business use are all free\u003c/b\u003e: run it, sell the audio you make with it, dub your own or a client's videos, deploy it across your team. Because AGPL is a \u003cb\u003enetwork copyleft\u003c/b\u003e license, if you \u003cb\u003emodify\u003c/b\u003e OmniVoice Studio and make that modified version available to others over a network, you must offer those users the source of your modified version under the same AGPL terms. Want to embed OmniVoice in a \u003cb\u003eclosed-source or proprietary\u003c/b\u003e product without those obligations? A \u003cb\u003ecommercial license\u003c/b\u003e is available — see \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eWhat languages are supported?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\n646 languages for TTS via the OmniVoice model. Transcription (WhisperX) supports 99 languages. Translation coverage depends on the target language pair.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003eCan I add my own TTS engine?\u003c/b\u003e\u003c/summary\u003e\n\u003cbr/\u003e\nYes. OmniVoice uses a \u003cb\u003ebuilt-in backend registry\u003c/b\u003e. To add an engine in ~50 lines, subclass \u003ccode\u003eTTSBackend\u003c/code\u003e in \u003ccode\u003ebackend/services/tts_backend.py\u003c/code\u003e and add it to the \u003ccode\u003e_REGISTRY\u003c/code\u003e dictionary at the bottom. Six engines are built in: OmniVoice, CosyVoice, MLX-Audio (14+ sub-engines), VoxCPM2, MOSS-TTS-Nano, and KittenTTS. See the \u003ca href=\"#tts-engines\"\u003eTTS Engines\u003c/a\u003e section for details.\n\u003c/details\u003e\n\n---\n\n## License\n\nOmniVoice Studio is free and open-source software under the [**GNU Affero General Public License v3.0 (AGPL-3.0)**](https://www.gnu.org/licenses/agpl-3.0.html).\n\n**Free for any use — including commercial and internal business use.** Run it, sell the audio you produce with it, dub your own or clients' videos, roll it out across your team — all free, no license needed. As a **network copyleft** license, AGPL adds one obligation: if you **modify** OmniVoice Studio and offer that modified version to others over a network, you must make the complete corresponding source of your modified version available to them under the same AGPL-3.0 terms.\n\nA **commercial license** is available for organizations that want to embed OmniVoice Studio in a **closed-source or proprietary** product or service without the AGPL-3.0 copyleft obligations. **Pricing tiers coming soon.** Inquiries: **OmniVoice@palash.dev**.\n\nThe bundled `omnivoice/` TTS model by Han Zhu remains Apache-2.0 upstream. See [`LICENSE`](LICENSE) for the full, binding terms.\n\n---\n\n## Acknowledgments\n\nOmniVoice Studio is built on the shoulders of exceptional open-source work:\n\n| Project | Role |\n|---------|------|\n| [**OmniVoice (k2-fsa)**](https://github.com/k2-fsa/OmniVoice) | Zero-shot diffusion TTS engine — the core voice synthesis model |\n| [**WhisperX**](https://github.com/m-bain/whisperX) | Word-level speech recognition and alignment |\n| [**Demucs (Meta)**](https://github.com/facebookresearch/demucs) | Music source separation for vocal isolation |\n| [**Pyannote**](https://github.com/pyannote/pyannote-audio) | Speaker diarization — who said what |\n| [**CTranslate2**](https://github.com/OpenNMT/CTranslate2) | Optimized Transformer inference on CPU and GPU |\n| [**AudioSeal (Meta)**](https://github.com/facebookresearch/audioseal) | Invisible neural audio watermarking for AI provenance |\n| [**Tauri**](https://tauri.app) | Native desktop app framework |\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cbr/\u003e\n\nIf you read this far, you're our kind of person.\u003cbr/\u003e\n**[⭐ Star this repo](https://github.com/debpalash/OmniVoice-Studio)** so others can find it too.\u003cbr/\u003e\n**[💬 Join the Discord](https://discord.gg/bzQavDfVV9)** to share what you build.\n\n\u003cbr/\u003e\n\n  \u003ca href=\"https://star-history.com/#debpalash/OmniVoice-Studio\u0026Date\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=debpalash/OmniVoice-Studio\u0026type=Date\u0026theme=dark\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=debpalash/OmniVoice-Studio\u0026type=Date\" /\u003e\n      \u003cimg alt=\"Star History\" src=\"https://api.star-history.com/svg?repos=debpalash/OmniVoice-Studio\u0026type=Date\u0026theme=dark\" width=\"600\" /\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebpalash%2FOmniVoice-Studio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdebpalash%2FOmniVoice-Studio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdebpalash%2FOmniVoice-Studio/lists"}