audio.cpp 大幅扩展:原生 C++/GGML 集成音乐生成与音源分离
开源项目 audio.cpp 一次性集成 ACE-Step、Stable Audio 3、HeartMuLa 等模型,音…
开源项目 audio.cpp 近日完成一次较大幅度的功能扩展,将音乐生成、音效生成与音源分离等能力统一纳入基于 C++ 与 GGML 的原生推理框架,使该项目覆盖从语音合成、ASR/VAD/说话人 diarization、声音转换,到音乐与音效生成、音源分离的完整音频链路。开发者同步给出了在 C++ 路径与 Python 路径下的实测对比,并附带了 GitHub 仓库链接供社区验证。
本次新增的模型与能力
此次发布一次性将多款主流音频模型接入 audio.cpp 框架,具体包括:
- 音乐生成:ACE-Step 1.5 Turbo / Base、HeartMuLa、Stable Audio 3 Small Music / SFX、Stable Audio 3 Medium
- 音源分离:Mel-Band RoFormer、HTDemucs
- HeartMuLa 升级:解除此前短时长上限,单次可生成约 10 分钟音频
开发者表示,目前框架整体完成度为 21 / 28(约 75%),意味着 audio.cpp 已不再只是「C++ 版的 TTS」,而是覆盖语音、音乐、音效、分离全栈的统一框架。
C++ 路径性能对比
以 ACE-Step Turbo 生成 600 秒音乐为例,C++/GGML 原生路径与 Python 参考实现的对比数据如下:
- C++/audio.cpp:60.16 秒 wall time,RTF 0.100,约 9.97× 实时
- Python 参考实现:88.52 秒 wall time,RTF 0.148,约 6.78× 实时
换算后,C++ 路径相对 Python 实现节省约 28 秒,端到端耗时降低约 32%,实时倍率提升约 47%。
局限与待改进项
开发者坦言并非所有模型在 C++ 路径下都已超越 Python:HTDemucs 在其测试中目前慢于 Python 路径,Stable Audio 的热运行表现也参差不齐。本次发布的核心目标,是先把端到端通路接入统一框架,再针对各后端逐一优化性能。
此外,针对长时间运行与服务端部署场景,项目引入了 mem_saver 模式。该模式未必能降低推理过程中的绝对显存峰值,但可以在不显著影响速度的情况下,减少运行结束后的常驻显存占用。
社区反馈征集
开发者邀请社区在不同 GPU / CPU 上测试,包括长序列生成、非常规 prompt、stem 分离质量、后端问题与性能数据等。仓库地址为 https://github.com/0xShug0/audio.cpp ,后续将根据社区反馈持续优化。
