[audio.cpp] 狐狸说什么:原生C++/GGML中的4个ASR模型(Nemotron 3.5 ASR、Higgs Audio STT、VibeVoice ASR和Hviske ASR),初始流式支持,327秒音频在2.17秒内转录完成。
摘要
audio.cpp更新引入了流式支持和四个ASR/STT模型(Nemotron 3.5、Higgs Audio STT、VibeVoice ASR、Hviske ASR),采用原生C++/GGML实现,速度比Python快高达2.41倍,词错误率(WER)和显存占用具有竞争力。
我刚刚推送了一个新的 audio.cpp 更新,加入了流式支持和 4 个 ASR/STT 模型:Nemotron 3.5 ASR、Higgs Audio STT、VibeVoice ASR 和 Hviske ASR(仅支持丹麦语)。整体速度比 Python 快 1.07 倍到 2.41 倍。我决定放弃 Parakeet-TDT,因为已有不错的实现,而且我觉得 Nemotron 模型更有趣。流式支持也正开始在 audio.cpp 中落地。目前,我为两个天然适合流式使用的模型添加了初始流式支持:Nemotron ASR 和 VoxCPM2。Nemotron ASR 可以通过 SSE 流式传输识别结果,VoxCPM2 可以增量接收文本并返回生成的音频片段。我还尝试了对 Higgs Audio STT 的流式支持,不过由于模型/参考行为不够直接,我仍将该路径视为实验性。还有很多需要改进的地方。当前工作只是向完善的模型级和服务器级流式支持迈出的第一步。非常欢迎贡献,尤其是在更好的流式 API、分块调度、更低的 TTFT、服务器行为以及为更多模型添加流式路径方面。头条结果:Nemotron ASR 在 RTX5090 上离线转录了 327.6 秒的音频文件,耗时 2.17 秒,WER 为 3.18%,而流式 SSE 路径在 307ms TTFT 和更低峰值显存下获得了相同的 WER。VibeVoice ASR 在此测试中获得了最低的 WER,但它要重得多。对我来说,Nemotron 是最有趣的结果,因为速度/显存的权衡看起来非常强劲,尤其适合本地 ASR 服务使用。ASR 模型(未量化):
| 模型 | 模式 | 时长 | TTFT | 实际时间 | RTF | WER | 显存 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Nemotron | 离线 | 327.6s | N/A | 2.17s | 0.0066 | 3.18% | 8294M |
| Nemotron | SSE | 327.6s | 308ms | 11.62s | N/A | 3.18% | 4382M |
| Nemotron | SSE 单轮 | 1800s | N/A | 53.66s | 0.0298 | 3.45% | 4167M |
| Higgs STT | 离线 | 327.6s | N/A | 11.17s | 0.0341 | 3.95% | 12519M |
| Higgs STT | SSE | 327.6s | 468ms | 14.46s | N/A | 3.95% | 6945M |
| VibeVoice | 离线 | 327.6s | N/A | 19.24s | 0.0587 | 0.66% | 25833M |
| VibeVoice | 离线 | 1800s | N/A | 123.72s | 0.0687 | 1.51% | 31209M |
流式 TTS:
| 模型 | 模式 | 内存节省 | TTFT | 实际时间 | 音频时长 | RTF | 显存 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| VoxCPM2 | SSE | 开启 | 547ms | 56.65s | 314.6s | N/A | 7638M |
| VoxCPM2 | SSE | 关闭 | 308ms | 55.75s | 314.6s | N/A | 9091M |
仓库:https://github.com/0xShug0/audio.cpp
audio.cpp 还很新,但目标越来越明确:一个基于 ggml 的本地音频框架,能够处理 TTS、ASR、语音克隆、长文本生成和类似服务器的使用场景,而无需每个模型都拥有自己的 Python 环境和自定义运行时。一如既往,后端/操作系统兼容性无法通过单一设置完全测试。如果你尝试了 Windows、Linux、CUDA、Vulkan、Metal 或 CPU 路径并发现问题,非常欢迎详细的报告。衷心感谢社区成员的贡献!
相似文章
[audio.cpp] 0.4 版本发布:Higgs Audio v3 TTS 4B(10倍实时)+ Fish Audio S2 Pro 基于 C++/GGML,完整 GGUF 加载,Q8 速度与显存优化
audio.cpp 0.4 版本为 Higgs Audio v3 TTS 4B(10倍实时)和 Fish Audio S2 Pro 添加了基于 C++/GGML 的推理,支持完整 GGUF 加载,并实现了 Q8 速度与显存优化。
[audio.cpp] VibeVoice 1.5B 发布 — 90分钟播客在22.95分钟内完成,4.08倍实时速度,比Python基线快2.86倍(无量化)。原生C++/ggml
VibeVoice 1.5B,一个长篇幅多说话人TTS模型,现已获得audio.cpp(原生C++/ggml运行时)的支持,在RTX 5090上实现4.08倍实时速度,比无量化的Python基线快2.86倍。
audio.cpp: 集成12种音频模型(Qwen3-TTS、PocketTTS、VeVo2等)于一个C++/ggml运行时 — 在CUDA上TTS速度比Python快5倍
audio.cpp是一个C++/ggml运行时,集成了包括Qwen3-TTS、PocketTTS和VeVo2在内的12种音频模型,在CUDA上实现TTS速度比Python快5倍。
[audio.cpp] GGML之音——C++/GGML原生ACE-Step、Stable Audio、HeartMuLa、RoFormer、HTDemucs发布。60秒生成10分钟音乐!
audio.cpp发布重大更新,新增音乐/SFX生成和源分离功能,支持ACE-Step、HeartMuLa、Stable Audio 3和HTDemucs,在原生C++/GGML中实现长音乐生成高达10倍的实时速度。
[audio.cpp] 在RTX 5090上3分钟生成10小时音频(含演示)!基于C++/GGML的Supertonic 3、MOSS-TTS、IndexTTS2和Irodori-TTS发布
audio.cpp中发布了基于C++/GGML实现的Supertonic 3、MOSS-TTS、IndexTTS2和Irodori-TTS,能够在RTX 5090上3分钟内生成10小时音频。