Files
VoiceStudio/README_CN.md
T
mergetestandClaude Opus 4.8 3777d3a62c feat(tts): add MOSS-TTS-v1.5 (8B) and dots.tts (2B) as opt-in engines (#498)
Adds two zero-shot voice-cloning TTS engines requested in #498, both
opt-in and subprocess-isolated with their own dedicated venv — the same
pattern as IndexTTS-2. The dedicated venv is forced, not just chosen:
each upstream pins a transformers version that conflicts with the
parent's >=5.3 (MOSS-TTS-v1.5 ==5.0.0, dots.tts ==4.57.0), so they cannot
share the parent interpreter.

Because they use the clone+venv bootstrap (env var -> clone -> uv venv),
this touches no pyproject.toml / uv.lock / bun.lock — `uv sync
--all-extras` and Docker's `bun install --frozen-lockfile` are unchanged,
so main's CI/Docker matrix stays green.

Engines:
- moss-tts-v15: 8B, 31 langs, ~16 GB weights, 24 kHz. AutoModel/
  AutoProcessor via trust_remote_code. gpu_compat=(cuda,cpu) — MPS is
  undocumented/untested upstream so it is never claimed; on a Mac it runs
  on CPU. Apache-2.0, no license gate.
- dots-tts: 2B, 24 langs, ~9 GB weights, 48 kHz. DotsTtsRuntime;
  continuation cloning (prompt_audio_path+prompt_text). Upstream is
  Linux/macOS-only, so is_available() gates it off cleanly on Windows
  (cross-platform parity rule — it is opt-in, never a broken default).

Wiring: registered in _LAZY_REGISTRY + _INSTALL_HINTS. list_backends()
surfaces both as subprocess/[cuda,cpu]/available-until-installed; the
data-driven Settings engine picker needs no frontend change.

Tests (19, fail-before/pass-after): registry resolution, subprocess
marker, no-MPS gpu_compat, the Windows gate, not-installed honesty, and
the parent-side generate() kwarg arbitration. Existing engine suite still
55 passed / 5 skipped. Sidecar inference follows the upstream-documented
APIs but, like IndexTTS/Supertonic, can't be executed in CI without the
multi-GB model clones.

Docs (same-PR per docs-sync rule): README + README_CN engine tables, new
docs/engines/moss-tts-v15.md + dots-tts.md, disk-usage.md (torch-dedup
note), CHANGELOG.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 00:02:27 +05:30

24 KiB
Raw Blame History

OmniVoice Logo

OmniVoice Studio

开源版 ElevenLabs 替代品

实时听写、零样本语音克隆、电影级视频配音——全部在桌面端完成。
开源、无需 API 密钥、完全本地运行。支持 646 种语言。

Star 版本 许可证 Issues Discord

快速开始 · 功能 · 为什么选择 OmniVoice Studio · TTS 引擎 · 参与贡献 · Discord · English

下载 macOS DMG 下载 Windows MSI 下载 Linux AppImage 下载 Debian .deb


OmniVoice Studio — 开源版 ElevenLabs 替代品

Warning

OmniVoice Studio 正处于活跃 Beta 阶段。 各版本之间可能出现不兼容。如需最新功能和修复,建议克隆仓库并从源码运行,而非使用预构建安装程序。欢迎提交 Bug 报告和 PR——提交 Issue加入 Discord


功能

🎙️ 语音克隆

3 秒音频 → 复制任何声音。
646 种语言,零样本。

🎨 声音设计

性别、年龄、口音、音高、语速、
情感、方言——随心调节

🎬 视频配音

YouTube 链接或文件 → 转录 →
翻译 → 重新配音 → MP4

⌨️ 听写工具

任何应用中按 ⌘+⇧+Space
转录、自动粘贴、无痕消失。

🔊 人声分离

基于 Demucs。从背景音乐中
分离人声,保留背景音

👥 说话人分离

Pyannote + WhisperX。
自动识别谁说了什么。

📦 批量队列

一次拖入 50 个视频,然后离开。
每个任务有进度条。

🤖 MCP 服务器

Claude、Cursor 或
任何 MCP 客户端使用 OmniVoice。

🛡️ AI 水印

AudioSealMeta)。不可见
能抵抗压缩。

🔐 完全本地

无需密钥、云端、账号。
仅限你的设备

GPU 自动检测

CUDA · MPS · ROCm · CPU。
显存 ≤8 GB自动卸载

🧩 可扩展

继承 TTSBackend
50 行代码添加任意引擎。


快速开始

选择你的方式——从零安装到完整开发者环境:

🖥️ 桌面应用

最简单 · 约 2 分钟 · 无需依赖

下载

macOS DMG · Windows MSI · Linux AppImage/deb
首次启动自动引导 Python + 模型下载。

🐳 Docker

一条命令 · 约 3 分钟 · 需 Docker

docker pull ghcr.io/debpalash/omnivoice-studio

来自 GHCR 的预构建镜像。
支持 CPU + NVIDIA GPU。

源码运行

完全控制 · 约 5 分钟 · 需 Bun + Python

git clone → bun install → bun run dev

热重载,完整代码访问。
贡献者的最佳选择。

🖥️ 方式 1 — 桌面应用

预构建安装程序(约 68 MB)在 Releases 页面。下载、安装、启动。应用会自动引导 Python 环境并下载模型——开屏画面会显示进度。

macOS — "应用已损坏,无法打开"

macOS 会隔离从 App Store 外下载的应用。拖入 /Applications 后执行:

xattr -cr /Applications/OmniVoice\ Studio.app

之后正常打开即可。一次性修复。

Windows — 首次启动需 510 分钟

应用首次运行时会引导 Python 虚拟环境、安装依赖并下载 ffmpeg。开屏画面会显示每一步的进度。后续启动仅需数秒。

Linux — AppImage 需要 FUSE

如果没有 FUSE,可使用 .deb 包或解压运行:

chmod +x OmniVoice.Studio_*.AppImage
./OmniVoice.Studio_*.AppImage --appimage-extract-and-run
Linux — Fedora 44 / Ubuntu 24.04 白屏

部分新发行版自带的 WebKit/GTK 版本存在合成问题。尝试:

WEBKIT_DISABLE_COMPOSITING_MODE=1 ./OmniVoice.Studio_*.AppImage

如果仍然无效,请改用 .deb 包或从源码运行。

防火墙内 / 俄罗斯地区安装失败

桌面应用首次启动时会从 GitHub 下载 Python。如果你的网络屏蔽了 GitHub:

  1. python.org 手动安装 Python 3.11
  2. 启动前设置 UV_PYTHON_PREFERENCE=system,或从源码运行 bun run dev
  3. PyPI 镜像:设置 UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/

🐳 方式 2 — Docker

GitHub Container Registry 拉取预构建镜像:

docker pull ghcr.io/debpalash/omnivoice-studio:latest

运行:

# CPU 模式
docker run -d --name omnivoice \
  -p 127.0.0.1:3900:3900 \
  -v omnivoice-data:/app/omnivoice_data \
  ghcr.io/debpalash/omnivoice-studio:latest

# NVIDIA GPU 模式
docker run -d --name omnivoice --gpus all \
  -p 127.0.0.1:3900:3900 \
  -v omnivoice-data:/app/omnivoice_data \
  ghcr.io/debpalash/omnivoice-studio:latest

或使用 Docker Compose

# CPU
docker compose -f deploy/docker-compose.yml up -d

# GPU
docker compose -f deploy/docker-compose.yml --profile gpu up -d

健康检查通过后打开 localhost:3900。首次运行下载约 4 GB 模型权重——进度在 docker compose logs -f 中查看。

从源码构建而非拉取
docker compose -f deploy/docker-compose.yml up --build -d

网络访问: 容器仅绑定 127.0.0.1。如需暴露到局域网,将端口映射改为 "0.0.0.0:3900:3900"。OmniVoice 没有内置认证——请将其置于反向代理之后并添加认证(Caddy basic_auth、nginx + htpasswd、Tailscale 等)。


方式 3 — 源码运行

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

打开 localhost:3901 开始克隆声音。前端和后端均启用热重载。

bun run desktop    # 从源码构建原生桌面应用
服务 地址 技术栈
后端 localhost:3900 FastAPI · 97 个端点 · WhisperX · Demucs · OmniVoice
前端 localhost:3901 React · Vite · 波形时间线 · 毛玻璃 UI
API 文档 localhost:3900/docs Scalar — 交互式 API 参考

Note

首次运行下载模型权重(约 2.4 GB)。无需账号。如需加速下载,可选在环境中设置 HF_TOKEN=hf_...在此获取免费 Token)。

遇到问题? 加入我们的 Discord 获取安装帮助和故障排查。


截图

语音克隆
语音克隆
拖入 3 秒音频 → 复制任何声音。646 种语言,零样本。
声音设计
声音设计
从头构建新声音——性别、年龄、口音、音高、风格。
视频配音
视频配音
上传或粘贴 YouTube 链接。转录、翻译、重新配音、导出。
声音库
声音库
搜索 YouTube、浏览分类、下载片段、构建你的收藏。
设置 — 模型
设置 → 模型
15 个模型。一键安装。自动检测你的平台(CUDA / MPS / CPU)。
项目
项目
配音项目、声音配置、生成历史、导出——全部可搜索。
设置 — 日志
设置 → 日志
实时后端、前端和 Tauri 运行时日志。筛选、刷新、清除。

为什么选择 OmniVoice Studio

ElevenLabs 收费 $5$330/月,并在其服务器上处理你的音频。OmniVoice Studio 在你的硬件上运行,没有使用限制。

ElevenLabs OmniVoice Studio
价格 $5$330/月,按字符计费 个人免费 · 商业许可证 面向企业
语音克隆 3 秒音频 3 秒音频,零样本
声音设计 性别、年龄 性别、年龄、口音、音高、风格、方言
语言 32 646
视频配音 仅云端 完全本地
数据隐私 音频发送到云端 数据不离开你的设备
API 密钥 需要 不需要
GPU 支持 不适用(云端) CUDA · Apple Silicon · ROCm · CPU
桌面应用 macOS · Windows · Linux
可定制 闭源 可 Fork、扩展、发布

OmniVoice Studio 为你提供专业级 AI 工具,无需订阅或依赖云端。


系统要求

最低配置 推荐配置
操作系统 Windows 10, macOS 12+, Ubuntu 20.04+ 任意现代 64 位操作系统
内存 8 GB 16 GB+
显存(GPU 4 GB(自动将 TTS 卸载到 CPU 8 GB+NVIDIA RTX 3060+
硬盘 10 GB 可用空间(模型 + 缓存) 20 GB+ SSD
Python 3.10+(由 uv 管理) 3.113.12
GPU 可选——CPU 可用 NVIDIA CUDA · Apple Silicon MPS · AMD ROCm

Tip

对于显存 ≤8 GB 的 GPUOmniVoice 会在转录期间自动将 TTS 卸载到 CPU——无需配置。不需要专用 GPU;整个流程可在 CPU 上运行(只是速度较慢)。

TTS 引擎

OmniVoice 配备多引擎 TTS 后端。默认引擎(OmniVoice)始终可用;其他引擎可选装并自动检测。在 设置 → TTS 引擎 中切换引擎,或通过 OMNIVOICE_TTS_BACKEND 环境变量设置。

引擎 语言 克隆 指令 Linux macOS ARM Windows 许可证
OmniVoice(默认) 600+ CUDA/CPU MPS CUDA/CPU 内置
CosyVoice 3 9 + 18 种方言 CUDA/CPU MPS CUDA/CPU Apache-2.0
MLX-AudioKokoro, Qwen3-TTS, CSM, Dia 等) 多语言 因引擎而异 因引擎而异 原生 因引擎而异
VoxCPM2 30 CUDA/CPU MPS CUDA/CPU Apache-2.0
MOSS-TTS-Nano 20 CUDA/CPU CPU CUDA/CPU Apache-2.0
MOSS-TTS-v1.58B,可选装) 31 CUDA/CPU CPU CUDA/CPU Apache-2.0
dots.tts2B,可选装) 24 CUDA/CPU CPU Apache-2.0
KittenTTS 英语 CPU CPU CPU MIT

CUDA = GPU 加速 · MPS = Apple Silicon Metal · CPU = 随处可运行,大模型较慢 · KittenTTS 和 MOSS-TTS-Nano 可在 CPU 上实时运行 · MLX-Audio 仅限 Apple Silicon。

MOSS-TTS-v1.58B,约 16 GB 权重)和 dots.tts(2B,约 9 GB 权重)是重量级可选引擎,从本地克隆在独立 venv 中运行——参见 MOSS-TTS-v1.5dots.tts。两者均不支持 Apple Silicon MPS(上游仅支持 CUDA/CPU;在 Mac 上以 CPU 运行)。dots.tts 上游仅支持 Linux/macOS——无 Windows 路径。


架构

┌─────────────────────────────────────────────────┐
│                  前端 (React)                     │
│  DubTab · VoicePreview · BatchQueue · Gallery    │
├─────────────────────────────────────────────────┤
│                 后端 (FastAPI)                    │
│  97 个 API 端点 · SSE 流式 · SQLite              │
├──────────┬──────────┬──────────┬────────────────┤
│ WhisperX │  Demucs  │OmniVoice │   Pyannote     │
│  语音识别 │  音源分离 │  TTS    │  说话人分离    │
└──────────┴──────────┴──────────┴────────────────┘
        CUDA / MPS / ROCm / CPU(自动检测)

路线图

已发布

分类 功能
配音 完整流水线(转录→翻译→合成→封装)、场景感知分割、唇同步评分、流式 TTS
声音 零样本克隆、声音设计、A/B 比较、声音预览控件、带收藏/标签的声音库
音频 Demucs 人声分离、逐段增益、选择性轨道导出、SRT/VTT/MP3 导出
多语言 多语言批量选择器、批量配音队列(顺序 GPU 执行)
说话人分离 Pyannote 机器学习分离、自动说话人克隆提取、逐说话人声音分配
基础设施 Docker 部署、CUDA/MPS/ROCm 自动检测、cuDNN 8 兼容、显存感知模型卸载
AI 溯源 AudioSeal 不可见水印(类似 SynthID)、视频徽标叠加、水印检测 API
用户体验 撤销/重做、键盘快捷键、拖放、会话持久化、毛玻璃设计系统
实时事件 WebSocket 事件总线——数据变更时即时刷新侧边栏、指数退避重连
状态管理 Zustand 状态管理迁移——uiSlicepillSlicedubSlicegenerateSliceprefsSliceglossarySlice
桌面 跨平台 Tauri 安装程序(macOS DMG、Windows MSI、Linux deb/AppImage)、自动更新基础设施
Windows 加固 跨平台日志路径、Triton 兼容方案、HF 符号链接绕过、300 秒健康检查超时
听写 全局系统热键(⌘+⇧+Space)、无边框浮动控件、WebSocket 流式语音识别、自动粘贴
批量流水线 完整批量 TTS:提取 → 转录 → 翻译 → 生成 → 混音 → 导出,带实时进度追踪

🔜 即将推出

  • 🎬 唇同步 v2 — 使用 wav2lip 进行视觉语音时间对齐
  • 📖 有声书编辑器 — 按章节感知的长篇叙述
  • 🌐 在线演示 — 无需安装即可体验 OmniVoice
  • 🔌 插件市场 — 社区贡献的 TTS 引擎和特效

参与贡献

我们欢迎各种形式的贡献——Bug 修复、新的 TTS 引擎适配器、UI 改进、文档和翻译。


常见问题

真的能和 ElevenLabs 一样好吗?
在语音克隆和配音方面,是的——OmniVoice 使用最先进的扩散 TTS 模型,支持 646 种语言(ElevenLabs 仅支持 32 种)。在大多数用例下质量相当。ElevenLabs 的优势在于其完善的云 API 和预制声音库。OmniVoice 在隐私、成本、语言覆盖和可定制性方面胜出。
能在 Apple SiliconM1/M2/M3/M4)上运行吗?
可以。MPS 加速会被自动检测。在 Apple 硬件上,MLX 优化的 Whisper 模型可提供更快的转录速度。
需要多少显存?
最低 4 GB。 显存 ≤8 GB 时,TTS 模型会在转录期间自动卸载到 CPU。8 GB 以上时,所有组件同时在 GPU 上运行。没有 GPU?CPU 模式也能用——只是速度较慢(TTS 约慢 3 倍)。
可以用于商业用途吗?
可以——商业使用免费。OmniVoice Studio 是基于 GNU AGPL-3.0 的自由开源软件。个人、教育、研究以及商业/企业用途均免费:运行它、出售用它生成的音频、为自己或客户的视频配音、在团队中部署。由于 AGPL 是网络著佐权(copyleft许可证,如果你修改了 OmniVoice Studio 并通过网络向他人提供该修改版本,你必须依据相同的 AGPL 条款向这些用户提供你修改版本的源代码。希望将 OmniVoice 嵌入闭源或专有产品而不受这些义务约束?可获取商业许可证——参见许可证
支持哪些语言?
通过 OmniVoice 模型的 TTS 支持 646 种语言。转录(WhisperX)支持 99 种语言。翻译覆盖范围取决于目标语言对。
可以添加自己的 TTS 引擎吗?
可以。OmniVoice 使用内置后端注册表。约 50 行代码即可添加引擎:在 backend/services/tts_backend.py 中继承 TTSBackend,然后将其添加到底部的 _REGISTRY 字典中。内置六个引擎:OmniVoice、CosyVoice、MLX-Audio14+ 子引擎)、VoxCPM2、MOSS-TTS-Nano 和 KittenTTS。详情请参见 TTS 引擎部分。

许可证

OmniVoice Studio 是基于 GNU Affero 通用公共许可证 v3.0AGPL-3.0 的自由开源软件。

可免费用于任何用途——包括商业和企业内部用途。 运行它、出售用它生成的音频、为自己或客户的视频配音、在团队中推广——全部免费,无需许可证。作为网络著佐权(copyleft许可证,AGPL 增加了一项义务:如果你修改了 OmniVoice Studio 并通过网络向他人提供该修改版本,你必须依据相同的 AGPL-3.0 条款向他们提供该修改版本的完整对应源代码。

希望将 OmniVoice Studio 嵌入闭源或专有产品或服务、又不受 AGPL-3.0 著佐权义务约束的组织,可获取商业许可证定价方案即将推出。 如有疑问:OmniVoice@palash.dev

捆绑的 omnivoice/(由朱涵开发的 TTS 模型)在上游仍为 Apache-2.0 许可。完整且具约束力的条款请参见 LICENSE

参见 LICENSE 查看完整条款。


致谢

OmniVoice Studio 建立在优秀的开源工作之上:

项目 作用
OmniVoice (k2-fsa) 零样本扩散 TTS 引擎——核心语音合成模型
WhisperX 词级别语音识别和时间对齐
Demucs (Meta) 音乐源分离,用于人声隔离
Pyannote 说话人分离——谁说了什么
CTranslate2 CPU 和 GPU 上的优化 Transformer 推理
AudioSeal (Meta) AI 溯源的不可见神经音频水印
Tauri 原生桌面应用框架


如果你读到了这里,你是我们想要的人。
给这个仓库点个 Star,让更多人能找到它。


Star 历史