无需GPU也能跑!Audio8 TTS ONNX INT4部署方案:低至1GiB内存实现CPU实时推理
无需GPU也能跑!Audio8 TTS ONNX INT4部署方案:低至1GiB内存实现CPU实时推理
Audio8 TTS Preview 0.6B是一款拥有0.6B参数的多语言文本转语音模型,支持零样本语音克隆。本文将详细介绍如何通过ONNX INT4部署方案,在仅需1GiB内存的CPU环境下实现实时推理,让普通用户也能轻松体验高质量的文本转语音功能。
🚀 为什么选择Audio8 TTS ONNX INT4部署?
Audio8 TTS ONNX INT4部署方案为低资源CPU推理提供了完美的解决方案。该方案将Slow AR和Fast AR权重采用仅权重INT4格式,而激活、KV缓存和神经音频编解码器则使用FP16格式,在保证性能的同时极大地降低了资源需求。
🌟 核心优势
| 优势 | 详细说明 |
|---|---|
| CPU原生 | 使用ONNX Runtime CPUExecutionProvider运行,无需CUDA支持 |
| 低内存占用 | 在测试的Apple M2配置中,加载后仅需约1 GiB内存 |
| 精简运行时 | 模型下载后无需PyTorch或Transformers依赖 |
| 完整工作流 | 包含CLI、Web和HTTP服务、流式PCM以及语音注册功能 |
📋 模型简介
Audio8 TTS采用受Fish Audio S2 Pro启发的DualAR架构。慢AR transformer为每个音频帧预测一个语义标记,快AR transformer则根据慢隐藏状态和先前的码本预测帧的编解码器码本。
🧩 模型配置
| 组件 | 配置 |
|---|---|
| 主模型 | 601,159,424参数(不包括编解码器) |
| 慢AR | 24层,宽度896,14个注意力头,2个KV头 |
| 快AR | 4层,宽度896,14个注意力头,2个KV头 |
| 声学标记 | 10个码本,每个码本4,096个条目 |
| 编解码器 | 44.1 kHz,每模型帧2,048个样本(约21.5帧/秒) |
| 上下文 | 最多2,048个打包的文本/音频位置 |
内置编解码器同时处理参考音频编码和波形解码,因此不需要额外的编解码器检查点。
🔧 部署步骤
1️⃣ 获取ONNX INT4模型
首先,获取Audio8 TTS ONNX INT4模型:
git clone https://gitcode.com/hf_mirrors/Audio8/Audio8-TTS-Preview-0.6b
2️⃣ 安装依赖
安装ONNX Runtime及相关依赖:
pip install onnxruntime>=1.16.0 soundfile>=0.12 numpy>=1.23.0
3️⃣ 运行推理
正常合成只加载慢AR、快AR和编解码器解码器会话。语音注册在加载可选的编解码器编码器之前释放这些会话,从而控制峰值内存。
# 示例代码:使用ONNX INT4模型进行文本转语音
import soundfile as sf
import numpy as np
from onnxruntime import InferenceSession
# 加载ONNX模型
slow_ar_session = InferenceSession("slow_ar_int4.onnx", providers=["CPUExecutionProvider"])
fast_ar_session = InferenceSession("fast_ar_int4.onnx", providers=["CPUExecutionProvider"])
codec_session = InferenceSession("codec_fp16.onnx", providers=["CPUExecutionProvider"])
# 文本输入处理
text = "欢迎使用Audio8 TTS ONNX INT4部署方案"
inputs = preprocess_text(text) # 预处理函数需根据实际实现调整
# 推理过程
slow_outputs = slow_ar_session.run(None, inputs)
fast_outputs = fast_ar_session.run(None, {"hidden_states": slow_outputs[0]})
waveform = codec_session.run(None, {"codes": fast_outputs[0]})[0]
# 保存输出音频
sf.write("output.wav", waveform, 44100)
💡 优化技巧
内存控制策略
- 按需加载:仅在需要时加载编解码器编码器,完成后立即释放
- 会话管理:合理管理ONNX会话的创建和销毁,避免内存泄漏
- 批量处理:适当调整批量大小,平衡速度和内存占用
性能提升建议
- 使用ONNX Runtime的优化选项,如启用CPU多线程
- 考虑使用MKL-DNN加速库(针对x86架构)
- 对于长时间运行的应用,实现模型预热机制
🌐 支持的语言
Audio8 TTS Preview支持以下11种语言:
粤语 · 中文 · 荷兰语 · 英语
法语 · 德语 · 意大利语 · 日语
韩语 · 波兰语 · 西班牙语
📊 模型性能评估
Audio8 TTS Preview是同类比较中最小的模型,仅0.6B参数。尽管只使用了其他系统参数的一小部分,但它在以下基准测试中仍能提供行业领先的SOTA TTS模型的第一梯队结果。
特别是,它在Seed-TTS上实现了最佳的英语WER和有竞争力的中文CER,同时在CV3多语言评估中保持竞争力。
⚠️ 注意事项
- 这是一个Preview检查点,多语言和方言覆盖有限
- 非常长、嘈杂或转录不正确的参考剪辑可能会降低稳定性和说话人相似度
- 生成的语音可能被滥用于模仿或虚假信息。克隆语音前请获得同意,并在适当情况下明确披露合成音频
- 部署前评估模型的准确性、安全性和法律合规性
📄 许可证和致谢
代码和模型权重根据Apache License 2.0发布。有关归因详情,请参见上游NOTICE。
感谢Fish Audio团队发布了用于Fish Audio S2 Pro的DualAR架构。
通过Audio8 TTS ONNX INT4部署方案,您可以在普通CPU设备上轻松体验高质量的文本转语音功能,无需昂贵的GPU支持。无论是开发语音应用还是进行个人项目,这个轻量级解决方案都能满足您的需求!
更多推荐

所有评论(0)