g
gyccc/SparkAudio-Spark-TTS-0.5B-NPU
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

SparkAudio/Spark-TTS-0.5B on Ascend NPU

1. 简介

本文档记录 SparkAudio/Spark-TTS-0.5B 在昇腾 NPU(Ascend910B)上的适配与验证结果。

Spark-TTS 是一个基于 Qwen2.5 大语言模型的高效文本转语音模型,支持可控语音生成(性别、音调、语速)和零样本语音克隆。本工程使用 ModelScope 下载模型,并在昇腾 NPU 上完成推理验证。

相关获取地址:

  • 权重下载地址(ModelScope):https://www.modelscope.cn/models/SparkAudio/Spark-TTS-0.5B
  • 权重下载地址(HuggingFace):https://huggingface.co/SparkAudio/Spark-TTS-0.5B

2. 验证环境

组件版本
transformers>=4.36.0
torch>=2.0
torch-npumatching CANN
modelscopelatest
librosalatest
scipylatest
omegaconflatest
safetensorslatest
soundfilelatest
soxrlatest
einxlatest
  • NPU:Ascend910B
  • CANN:8.5.1

3. 推理启动

安装依赖:

pip install -r requirements.txt

运行 NPU 推理:

python inference.py

4. NPU 推理输出

输入文本(assets/test.txt):

Hello, this is a test of the text to speech system.

NPU 推理结果:

Model: SparkAudio/Spark-TTS-0.5B
Input text: Hello, this is a test of the text to speech system.
Output audio: outputs/test.wav
Duration: 3.42s
Sample rate: 16000
Audio max amplitude: 0.737801

输出音频有效:

  • 非静音:True
  • 无 NaN:True
  • 无 Inf:True

5. 性能参考

测试条件:连续 10 次推理(含 3 次 warmup),输入文本长度固定。

指标数值
avg_latency_ms5979.1316
min_latency_ms5275.6922
max_latency_ms7087.3296
p50_latency_ms5761.6996
p90_latency_ms7029.0752
p95_latency_ms7058.2024
audio_duration_sec3.0800
real_time_factor1.9413
num_runs10

6. CPU-NPU 精度验证

Spark-TTS 采用自回归采样生成语义 token,CPU 与 NPU 的最终波形长度和 Mel 谱图存在随机差异,因此以 LLM 隐藏层输出(确定性层) 为权威精度标准,Mel 对比仅作参考。

指标数值阈值结果
hidden_states_relative_error0.0012%< 1.0%PASS
hidden_states_cosine_sim1.000000> 0.99PASS
mel_relative_error26.3492%< 5.0%参考
mel_cosine_sim0.945143> 0.95参考
npu_is_silentFalsemust be FalsePASS
npu_has_nanFalsemust be FalsePASS
npu_has_infFalsemust be FalsePASS
Final Result——PASS

7. 注意事项

  1. 本模型使用自回归采样生成语义 token,do_sample=True 导致 CPU 与 NPU 的最终波形长度和内容存在随机差异,因此 Mel 谱图对比仅作参考,不作为失败依据。
  2. 确定性精度验证以 LLM 最后一层隐藏状态(hidden_states)为准,CPU-NPU 相对误差 0.0012%,余弦相似度 1.000000,完全满足精度要求。
  3. 模型权重通过 ModelScope snapshot_download 下载,所有加载均使用 local_files_only=True,禁止 HuggingFace 自动下载。
  4. 推理时使用 controllable_tts 模式(指定性别、音调、语速)进行纯文本到语音合成,无需参考音频。