VoiceStudio — audio.cpp 引擎(Breeze-TTS-2、dots.tts)¶
audio.cpp 是一个纯 C++ 实现的 ggml 音频推理框架,提供 Windows、macOS 和 Linux 预构建二进制文件,且不依赖 Python。VoiceStudio 会自动发现已安装二进制文件中所编译的计算提供程序,并选择最佳可用设备。VoiceStudio 通过回环 HTTP 驱动其 audiocpp_server。两个引擎共享同一运行时:
audiocpp—breeze_tts系列:Breeze-TTS-2(BreezeBlue,3B 参数,英语 + 中文,支持声音克隆 + 声音设计 + 声音方向,24 kHz)。研究/非商业权重。audiocpp-dots—dots_tts系列:dots.tts SOAR(多语言零样本声音克隆,Apache-2.0)。参见 dots.tts。
始终为可选启用,永非默认。 请在 Model Catalogue → 引擎 中显式选择
audiocpp或audiocpp-dots(或设置OMNIVOICE_TTS_BACKEND)。
许可协议 — 启用前请阅读¶
- audio.cpp 代码: Apache-2.0。
- Breeze-TTS-2 权重(上游
BreezeBlue/Breeze-TTS-2及audio-cpp/audio.cpp-ggufGGUF 重新打包):仅限研究与非商业用途,依据 BreezeBlue Research and Non-Commercial License。自托管输出同样受此限制;BreezeBlue 付费订阅仅涵盖托管平台输出,不涵盖本引擎。
平台支持¶
| 主机 | 二进制 | 计算 |
|---|---|---|
| Windows x64 | CPU、Vulkan、CUDA 12.4/13.3 预构建 | CPU、Vulkan、CUDA |
| Linux x64 | CPU 和 Vulkan 预构建 | CPU、Vulkan;CUDA/ROCm 需自行构建 |
| macOS arm64 | 上游 Metal 预构建 | Metal + CPU |
| macOS x64 | 上游 metal 归档(上游已禁用 Metal) |
CPU |
| Linux aarch64 | 上游无 | v1 中不可用 |
VoiceStudio 会对每个已安装的二进制文件运行一次 audiocpp_server --list-devices,优先选择 CUDA、ROCm、Metal,其次是独立 Vulkan GPU,并将 CPU 保留为安全后备。设备编号仅在各后端注册表内部有效。Q8_0 GGUF 约为 4.73 GiB,另加运行时内存。
对于 CUDA、HIP 或通过 Vulkan 暴露的独立 GPU,请预留约 6 GB 专用 VRAM。Metal 和 Vulkan 集成 GPU 使用统一内存机制,因此不适用该专用 VRAM 下限。
安装¶
在受支持的桌面平台上,先从 设置 → 模型 安装模型,然后点击 audio.cpp 引擎行上的 安装(TTS 行和 Sortformer 说话人分离行会安装相同的共享运行时)。VoiceStudio 会获取固定的归档文件,校验其发布的大小和 SHA-256,拒绝不安全的归档路径,探测其设备列表,并将其安装到可跨更新保留的应用数据引擎目录下。该操作为显式操作;生成过程绝不会下载或更新可执行代码。
对于用户自行管理的运行时:
- 从 audio.cpp releases 下载适用于你平台的 v0.7.4 预构建版本并解压。在 Windows 或 Linux 上,为获得广泛的 GPU 支持,请使用 Vulkan 归档;当 Vulkan 不可用时,使用 CPU 归档;在 Windows 上使用 NVIDIA 时,请使用匹配的 CUDA 归档。按照上游要求,Windows CUDA 安装需要将
bin-…-cuda…和匹配的cudart-…-cuda…两个归档解压到同一目录。Linux 归档不保留可执行位,因此解压后请运行chmod +x audiocpp_server。
在解压前先验证归档。固定的 SHA-256 校验和如下:
| 归档 | SHA-256 |
|---|---|
audio-v0.7.4-bin-windows-x64-cpu-portable.zip |
d241c56ba78fd3c1b28bf289792fb8ec258d36586b4e0c8d667080ec248c0d2f |
audio-v0.7.4-bin-windows-x64-vulkan.zip |
057332f9e3fb37706a8ecb5075ac1797efcd85fdccd739f7b65761a5920f2828 |
audio-v0.7.4-bin-windows-x64-cuda12.4.zip |
83fdd5b6e7bd4362604c10cc88d7d3564ef82030dc1d21c693a62cdcbe2e5e38 |
audio-v0.7.4-cudart-windows-x64-cuda12.4.zip |
88d8943a2a8011f02c2a4efa7dbbe258608362615cce51e7f0e0e3a0c62f5a43 |
audio-v0.7.4-bin-windows-x64-cuda13.3.zip |
af56012969bcb68f54e6ea14a123e5c6ecd62830c1b2816080eb7f99d985a779 |
audio-v0.7.4-cudart-windows-x64-cuda13.3.zip |
c20793d8cc9b7c66ab28ab335aa908c726f2df15832330ddcfdbc837c7670145 |
audio-v0.7.4-bin-ubuntu-x64-cpu.tar.gz |
638e6114550c5ea02b96907de400379c8f31bd13325525083f98d158027acc40 |
audio-v0.7.4-bin-ubuntu-x64-vulkan.tar.gz |
e0ef3123a9f94e130ad463db0db5a69b65485ef8db1b46edead00c03a86fa787 |
audio-v0.7.4-bin-macos-arm64-metal.tar.gz |
639926715b1cb537f82aa31656aabbae5d9a85ac36568c402026968f3072e2b3 |
audio-v0.7.4-bin-macos-x64-metal.tar.gz |
bdb797d54dcf8416bd5ac0fac282ce5500dd08843f8f22e20e9fc378ebc24c1f |
在 Linux 上运行 sha256sum <archive>,在 macOS 上运行 shasum -a 256 <archive>,或在 PowerShell 中运行 Get-FileHash <archive> -Algorithm SHA256,并将完整结果与上表进行比较。
2. 将 OMNIVOICE_AUDIOCPP_BIN 设置为 audiocpp_server 二进制文件(Windows 上为 audiocpp_server.exe):
# macOS / Linux
echo 'export OMNIVOICE_AUDIOCPP_BIN=$HOME/apps/audio.cpp/audiocpp_server' >> ~/.zshrc
source ~/.zshrc
或者将 OMNIVOICE_AUDIOCPP_DIR 设置为包含该二进制文件的目录。
3. 重启 VoiceStudio,打开 Model Catalogue(TTS 标签页 → 该引擎的权重),找到 Breeze-TTS-2 Q8_0 for audio.cpp,查看其研究/非商业许可说明,然后点击 安装。生成过程绝不会自动开始这次约 4.73 GiB 的下载。
4. 在 Model Catalogue 中选择 audiocpp(TTS 标签页 → 使用)。服务器会在首次生成时按需启动(server.json 和 server.log 位于应用数据目录下的 audiocpp/ 目录中)。
dots.tts¶
audiocpp-dots 在同一运行时上运行 dots.tts SOAR,因此它不仅支持 macOS 和 Linux,也支持 Windows——这与 Python 版 dots.tts 引擎 不同,后者没有 Windows 安装路径(#2665)。
- 如上所述安装运行时。
- 在 Model Catalogue(TTS 标签页 · audio.cpp · dots.tts → Weights) 中,安装
audio.cpp dots.tts SOAR (Q8_0)(约 2.96 GB,来自与 Breeze-TTS-2 相同的固定
audio-cpp/audio.cpp-gguf修订版本)。它是一个独立的包:安装或卸载它都不会影响 Breeze-TTS-2 或 Sortformer,反之亦然。 - 选择
audiocpp-dots并克隆声音:一个参考片段及其 转录文本(转录文本可选,但能提高匹配度)。它会从文本中读取语言。 没有声音设计模式,并使用自身调校的 guidance(1.2)而不是共享的 guidance 滑块。
它在端口 17861 上运行自己的服务器,server.json 和 server.log
位于应用数据目录 audiocpp-dots/ 下。
语音模式¶
Breeze-TTS-2(audiocpp)。三种模式都通过同一个语音端点——由是否存在参考音频决定:
- Clone(克隆):
ref_audio+ref_text(与上游一致,需精确转录文本)。 - Direction(定向):
ref_audio+ref_text+instruct(例如“说慢一点,语气克制而严肃”)。 - Design(设计):
description(或instruct),不提供ref_audio(例如“一位温暖、体贴的年轻女性……”)。上游使用guidance_scale≈ 4 来增强指令遵循能力。
可选环境变量¶
| 变量 | 默认值 | 用途 |
|---|---|---|
OMNIVOICE_AUDIOCPP_BIN |
— | audiocpp_server 的绝对路径。 |
OMNIVOICE_AUDIOCPP_DIR |
— | 包含 audiocpp_server 的目录。 |
OMNIVOICE_AUDIOCPP_MODEL |
Model Catalogue 缓存 | GGUF 文件或目录覆盖项。 |
OMNIVOICE_AUDIOCPP_PACKAGE |
breeze-tts-2-q8_0.gguf |
包文件名(全精度为 …-bf16.gguf)。 |
OMNIVOICE_AUDIOCPP_PORT |
17860 |
回环端口。 |
OMNIVOICE_AUDIOCPP_BACKEND |
Settings,否则自动 | 精确运行后端:cuda、hip/rocm、vulkan、metal 或 cpu。 |
OMNIVOICE_AUDIOCPP_DEVICE |
最佳设备 | 后端本地的非负设备索引;需要设置 OMNIVOICE_AUDIOCPP_BACKEND。 |
OMNIVOICE_AUDIOCPP_DOTS_MODEL |
Model Catalogue 缓存 | dots.tts 的 GGUF 文件或目录覆盖项。 |
OMNIVOICE_AUDIOCPP_DOTS_PACKAGE |
dots-tts-soar-q8_0.gguf |
dots.tts 包文件名(全精度为 dots-tts-soar-bf16.gguf)。 |
OMNIVOICE_AUDIOCPP_DOTS_PORT |
17861 |
dots.tts 回环端口。 |
OMNIVOICE_AUDIOCPP_BIN/_DIR/_BACKEND/_DEVICE 同时适用于两个引擎;
不带 DOTS 的 _MODEL/_PACKAGE/_PORT 变量仅适用于 Breeze-TTS-2。
audio.cpp 的覆盖项优先于全局 Settings 中的计算选择。全局 CUDA/ROCm 选择可以匹配 通过 Vulkan 暴露的 NVIDIA/AMD GPU。显式指定的 audio.cpp 覆盖项不可用时会报错; 全局偏好不可用时会回退到 CPU,并显示为路由回退。
常见错误¶
audiocpp_server not found ...¶
未安装该二进制文件。请按照 Install(安装) 操作——错误消息中会给出 适用于你平台的确切发布 URL 和 SHA。
audiocpp_server exited during startup ...¶
受管回环端口可能被占用。请检查应用数据目录 audiocpp/ 中与 server.json
相邻的 server.log,或者设置不同的 OMNIVOICE_AUDIOCPP_PORT 并重启 VoiceStudio。
Breeze-TTS-2 ... not installed, dots.tts ... not installed or package ... not completely installed¶
请从 Model Catalogue(TTS 标签页 → 该引擎的 Weights) 安装模型。 如果安装中断导致其不完整,请在该处使用 Reinstall(重新安装)。 如果完整重新安装后错误仍然存在,请提交 issue 并附上包列表。
audio.cpp 作为受管原生服务器运行(没有 Python venv,没有 transformers 冲突)。
只有下载的 GGUF 会计入 sidecar 磁盘占用。
Model Catalogue 会自行检查共享 GGUF 仓库中的每个包(Breeze-TTS-2 + Sortformer、dots.tts): 一个包永远不会让另一个包显示为已安装,卸载一个包也只会删除它自己的文件。 必需的权重文件还必须满足正常的权重大小下限;空的或截断的占位文件仍是不完整的。 更广泛的原生模型发现与执行仍有待集成。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 om/VoiceStudio