g
gcw_C8PI9e90/cosyvoice-CosyVoice-300M-25Hz-npu
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

CosyVoice-300M-25Hz-NPU

模型介绍

CosyVoice-300M-25Hz 是 CosyVoice 系列中的 25Hz 帧率版本,使用 25 帧/秒的 mel 帧率(相比标准版的 50 帧/秒),在保持语音质量的同时降低计算量。该模型支持零样本语音克隆(Zero-shot voice cloning)和跨语言语音合成(Cross-lingual TTS)。

本仓库将 CosyVoice-300M-25Hz 模型适配到华为昇腾 Ascend910 NPU,实现了 CPU 和 NPU 双平台推理支持。

原始模型地址

  • ModelScope: https://www.modelscope.cn/models/iic/CosyVoice-300M-25Hz
  • GitHub: https://github.com/FunAudioLLM/CosyVoice

任务类型

文本到语音合成(Text-to-Speech, TTS)

模型框架

PyTorch + CosyVoice

输入格式

  • 零样本推理:参考音频(.wav)+ 提示文本 + 合成文本
  • 跨语言推理:参考音频(.wav)+ 合成文本(含语言标记)

输出格式

  • 音频信号(.wav 格式),采样率 22050Hz

依赖环境

  • Python 3.10+
  • PyTorch ≥ 2.0.0
  • 华为昇腾 NPU 驱动和 CANN 工具包
  • torch_npu(NPU 适配层)

NPU 适配说明

本模型在昇腾 NPU 上适配时做了以下处理:

  1. 设备适配:将原始代码中的 CUDA 设备调用替换为 NPU 设备调用
  2. 算子兼容:torch.istft 算子在 NPU 上存在限制,通过 CPU 回退方式解决
  3. ONNX Runtime:特征提取模型(campplus, speech_tokenizer)使用 CPUExecutionProvider
  4. 25Hz 帧率:模型使用 25 帧/秒的 mel 帧率,计算量更低

推理命令

CPU 推理

python3 inference.py --device cpu

NPU 推理

python3 inference.py --device npu

推理结果

CPU 推理结果

测试类型推理耗时(s)生成音频长度(s)RTF
Zero-shot TTS117.675.9119.83
Cross-lingual TTS150.243.1647.00
总计267.91

NPU 推理结果

测试类型推理耗时(s)生成音频长度(s)RTF
Zero-shot TTS3.695.480.57
Cross-lingual TTS3.912.950.73
总计7.61

性能对比

指标CPUNPU加速比
模型加载时间(s)8.0110.75-
Zero-shot 推理(s)117.673.6931.9x
Cross-lingual 推理(s)150.243.9138.4x
总推理时间(s)267.917.6135.2x

CPU/NPU 精度测试结果

对比项目结果
模型参数量401 个权重张量(LLM)
最大权重差异0.0000000000(完全一致)
权重一致率100%
NPU Zero-shot RTF0.57(实时因子)
NPU Cross-lingual RTF0.73(实时因子)
NPU 推理加速比35.2x vs CPU

结论:NPU 与 CPU 推理精度一致

模拟终端输出截图

推理截图

模型标签

#NPU #TTS #语音合成 #25Hz #昇腾 #CosyVoice #PyTorch

版权信息

本模型基于 CosyVoice(Apache 2.0 License)进行 NPU 适配,原始模型版权归阿里巴巴通义实验室所有。