Inflect-Micro-v2-zh / reports /EVALUATION.md
inoryQwQ's picture
Release 1.0.0: Chinese TTS (Inflect-Micro-v2 arch + BigVGAN), ONNX + AX650 axmodel + checkpoints
0c723b3 verified
|
Raw
History Blame Contribute Delete
2.49 kB

验证报告

可懂度(SenseVoice iic/SenseVoiceSmall,8 句固定测试)

测试句:

  1. 你好世界,今天天气真不错,适合出去散步。
  2. 机器服务员的生产厂家介绍说这款产品很好用。
  3. 从八月九日十九时到八月十二日上午十时。
  4. 中国人民银行决定下调存款准备金率。
  5. 人工智能技术正在改变我们的生活方式。
  6. 今天中午我想吃一碗牛肉面。
  7. 北京是中国的首都,有着悠久的历史文化。
  8. 请问最近的医院在哪里。
配置 女声 CER 男声 CER
CPU 全 fp32(ONNX) 0.075 0.108

注:日期句(#3)的系统性偏差为 SenseVoice itn 转写差异("上午十时"→"上午10"), 非语音错误。去掉该句后女声 CER 约 0.02。

性能(AX650N,10.126.35.115,Ubuntu 22.04)

输入 acoustic(CPU) vocoder(NPU) 总耗时 有效音频 RTF
女声 21 字 0.32s 0.32s 0.65s 4.04s 0.161
男声 15 字 0.31s 0.30s 0.63s 3.31s 0.191
女声 19 字 0.30s 0.30s 0.62s 4.11s 0.151
长句(分块 526 帧) 0.30s 0.61s 0.93s 5.61s 0.166

NPU 量化验证结论

声学模型(text→mel):NPU 量化不可行

方案 结果
int8(Percentile/BRecQ) duration 偏差 13%、mel 渲染 CER~0.9
U16(激活+权重) 同上(duration 偏差 13%)
混合精度 Pulsar2 编译失败(AxLayerNorm tiling bug)
FP16/F32 Pulsar2 7.0 不支持

根因:VITS 的 flow(仿射耦合)+ duration(对数尺度)对 8/16-bit 量化系统性敏感。 → 声学模型必须 CPU fp32(AX650N 实测 0.30s/句)。

声码器(mel→wav):NPU int8 可用

  • Pulsar2 7.0 编译,onnx_opt.enable_onnxsim: true 必须开启 (BigVGAN edge-pad 节点会导致 AxPad shape 错误)
  • 对多数句子可懂(男声真机 CER 0.000);个别句子有轻微质量波动
  • 板上 CPU fp32 vocoder 实测 >30s/句(rtf>5)不可用 → vocoder 必须 NPU

音质优化要点(训练/推理)

  • 数据:CosyVoice 官方音色(女)生成 150 条/音色,比原始语料更干净
  • 训练:声码器感知 GAN(mel→冻结 BigVGAN→MPD/MSD)+ 句尾采样 tail_bias=0.4
  • 节奏:length_scale 女 0.7 / 男 0.85(音节时长贴近自然 180ms)
  • 尾字:tail_stretch() 句尾 mel 20→45 帧拉伸(模型句尾音节 duration 偏短)