赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu 硬件: Ascend 310P / 910B 标签:
npuascendpytorchtext-to-speechmultilingual-tts
Chatterbox 是 Resemble AI 的 0.5B 多语言零样本 TTS 模型(23 种语言), 由三部分组成:S3Gen(语义 token 生成)+ T3(声学模型,Llama backbone)+ VoiceEncoder(HiFTNet 声码器)。支持情感夸张度与 CFG 控制,内置 Perth 水印。
| 属性 | 值 |
|---|---|
| 原始模型 | https://ai.gitcode.com/hf_mirrors/ResembleAI/chatterbox |
| 参数量 | 500 M |
| 任务类型 | 文本转语音(TTS)/ 零样本声音克隆 |
| 输入格式 | 文本(23 种语言)+ 可选参考语音(声音克隆) |
| 输出格式 | 24kHz 单声道合成语音 wav |
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/⚠️ 本仓库不包含模型权重(交付件仅
inference.py/readme.md/requirements.txt/assets/), 推理前必须先从原始模型仓单独下载权重。
# 1. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/ResembleAI/chatterbox.git ./chatterbox
# 2. 运行 NPU 推理(合成中文语音)
python3 inference.py --model_path ./chatterbox \
--text "你好,欢迎使用昇腾NPU多语言语音合成模型。" \
--language_id zh --device npu:0 --output output.wavpython3 inference.py --model_path ./chatterbox \
--text "你好,欢迎使用昇腾NPU多语言语音合成模型,这是一次完整的模型适配验证。" \
--language_id zh --device npu:0 --output output.wav预期输出:
[Model Agent] ✅ NPU 设备就绪: Ascend310P3
[Model Agent] ✅ 模型加载完成 → npu:0
[Model Agent] ✅ 输出采样率: 24000 Hz
[Model Agent] ✅ 合成完成: 时长 4.84s, 生成耗时 749.33s
[Model Agent] ✅ 音频已保存 → output.wav推理结果摘要:
{
"model": "ResembleAI/chatterbox",
"engine": "torch_npu",
"device": "npu:0",
"language_id": "zh",
"sample_rate": 24000,
"audio_duration_s": 4.84,
"generation_time_s": 749.335
}.
├── inference.py # NPU 推理脚本
├── readme.md # 本文件
├── requirements.txt # 依赖清单
└── assets/ # 截图素材本模型由 昇腾 Model Agent 自动完成 NPU 适配:
ve.pt / s3gen.pt / t3_mtl23ls_v2.safetensors 等)F.scaled_dot_product_attention 复数路径,
全局替换为手动 matmul 实现(T3 Llama backbone 与 Perceiver 交叉注意力均覆盖)torch.stft/istft 在 CPU 执行(NPU 不支持复数 dtype)