OmniVoice Studio 是一款开源的桌面应用程序,它提供了语音克隆、语音设计、视频配音和实时听写等功能,可以作为 ElevenLabs 等商业服务的本地替代方案。它完全在本地运行,无需 API 密钥,支持 646 种语言。本教程将指导你在不同平台上完成部署和使用。

核心概念与架构

OmniVoice Studio 是一款基于 Tauri (前端 React) 和 FastAPI (后端 Python) 构建的现代应用,核心能力包括:

  • 零样本语音克隆:仅需 3 秒音频样本即可克隆声音。
  • 语音设计:通过调节性别、年龄、口音、情绪等参数设计新声音。
  • 端到端视频配音:支持从 YouTube 链接或本地文件,完成转录、翻译、重新配音和导出 MP4 的全流程。
  • 本地运行:所有模型和数据处理均在本地硬件上执行,确保隐私和数据安全。
  • 多引擎支持:内置了 OmniVoice (默认)、CosyVoice 3、VoxCPM2 等多个 TTS 引擎,可根据需求和硬件选择。

部署方式选择

项目提供了三种主要的部署路径,适合不同用户。推荐从桌面应用或 Docker 开始。

方式一:安装桌面应用 (最便捷)

适合希望快速使用,不想处理复杂配置的用户。

  1. 下载安装包:前往项目的 Releases 页面 下载对应操作系统的安装包 (约 6-8 MB)。

    • Windows: .msi 文件
    • macOS: .dmg 文件
    • Linux: .AppImage.deb 文件
  2. 安装与首次启动

    • Windows/Linux: 双击安装包按提示安装。启动应用。

    • macOS: 打开 .dmg 文件,将 OmniVoice Studio.app 拖入 Applications 文件夹。如果系统提示“应用已损坏”,在终端运行以下命令解除隔离,然后正常打开:

      1
      xattr -cr /Applications/OmniVoice\ Studio.app
  3. 模型引导:首次启动时,应用会自动下载必要的模型文件(约 2.4-4 GB),并在启动画面显示进度。请保持网络连接,此过程可能需要数分钟至数十分钟,具体取决于网速。之后启动会很快。

方式二:使用 Docker 部署 (适合服务器或隔离环境)

适合希望快速运行 Web 版本,或避免在本地安装 Python 依赖的用户。

  1. 拉取镜像并运行:从 GitHub Container Registry 拉取预构建镜像。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 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 模式 (需安装 nvidia-container-toolkit)
    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
  2. 使用 Docker Compose (推荐):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 克隆项目 (获取 compose 文件)
    git clone https://github.com/Eirias/omnivoice-studio.git
    cd omnivoice-studio

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

    # GPU 模式
    docker compose -f deploy/docker-compose.yml --profile gpu up -d
  3. 访问:等待健康检查通过后,在浏览器中访问 http://localhost:3900。首次运行会下载模型,可通过 docker compose logs -f 查看进度。

方式三:从源码运行 (适合开发或自定义)

适合开发者、测试者或希望获得最新功能的用户。

  1. 克隆与安装依赖

    1
    2
    3
    4
    5
    git clone https://github.com/Eirias/omnivoice-studio.git
    cd omnivoice-studio

    # 需要安装 Bun (JavaScript 运行时) 和 Python 3.10+
    bun install
  2. 启动开发服务器

    1
    bun run dev
    • 后端 API 服务: http://localhost:3900 (FastAPI, 交互文档在 /docs)
    • 前端开发服务: http://localhost:3901 (React, 热重载)
  3. 构建桌面应用

    1
    bun run desktop    # 从源码构建原生桌面安装包

配置与使用

基础配置

  • 选择 TTS 引擎:在应用的 Settings → TTS Engine 中,可以根据你的硬件和需求切换引擎。默认的 OmniVoice 支持 600+ 语言;CosyVoice 3VoxCPM2 在兼容性上更好;MLX-Audio 专为 Apple Silicon 优化。
  • 模型管理:在 Settings → Models 中,你可以看到所有可用模型,并一键下载或更新。系统会自动检测你的硬件 (CUDA / MPS / CPU) 并推荐合适的版本。

核心功能使用

  • 语音克隆:在 “Voice Clone” 界面,拖入或选择一个 3 秒左右的清晰音频文件,系统会自动克隆该声音。你可以在 “Voice Gallery” 中管理克隆的语音。
  • 语音设计:在 “Voice Design” 界面,通过滑块和下拉菜单调整性别、年龄、口音、速度、音调等参数,从零设计一个全新的声音。
  • 视频配音:在 “Video Dubbing” 界面,粘贴 YouTube 链接或上传本地视频文件。应用会自动进行语音识别 (ASR) 和说话人分离 (Diarization),你可以编辑转录文本、翻译成目标语言,然后选择语音进行配音并导出。
  • 实时听写:通过全局快捷键 (macOS: ⌘+⇧+Space),可以呼出一个悬浮的听写小部件,它将语音实时转录为文字并自动粘贴到当前激活的应用中。

故障排查与常见问题

  • macOS “应用已损坏”:如前文所述,使用 xattr -cr 命令解除隔离。
  • Windows 首次启动慢:这是因为应用正在后台下载 Python 和必要的依赖 (如 ffmpeg)。请耐心等待,后续启动会很快。
  • Docker 容器无法访问 GPU:确保宿主机已安装 NVIDIA 驱动和 nvidia-container-toolkit,并在 docker run 命令中添加了 --gpus all 参数。
  • 提示“模型下载失败”:这通常与网络有关。可以尝试设置环境变量 HF_TOKEN (从 Hugging Face 免费获取) 来加速下载,或者使用代理。你也可以在 Settings → Models 中手动点击下载。
  • 性能问题:如果 TTS 生成缓慢,可以尝试在设置中将 OMNIVOICE_TTS_BACKEND 切换为性能更优的 voxcpm2cosyvoice3 (如果硬件支持)。对于 ≤8 GB 显存的 GPU,系统会自动将 TTS 模型卸载到 CPU,这是正常行为。

OmniVoice Studio 是一个功能强大且不断发展的开源项目。它提供了专业级的语音和视频处理能力,同时保证了数据的隐私性。你可以从桌面应用开始快速体验,或者通过 Docker 和源码探索其更多可能。建议加入其 Discord 社区以获取帮助并关注项目动态。请留意其许可证,个人和教育用途免费,商业用途需获取许可。