# 验证报告 ## 可懂度(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 偏短)