跳转至

M21-E4 · α 的可用区间、推理路径与质量评分体系

状态 ✅ 完成(二轮重做,2026-09-05;首轮 P6 11 条结论已废)
一句话 在 160 条随机 ESD-zh test 上把 α 从 −1 扫到 5,三条推理路径对照,用四个有出处的指标 + 真实录音锚点界定可用区间、决定路由,并顺带给出质量评分体系(原 E1 并入)
模型 M20@420k outputs/m20d/ckpts/step160000.pt
规模 160 条 × 13 α × 3 臂 = 6240 条,另 640 条锚点音频

正式推理链路已改(2026-09-10)

本页三臂对照里的 pa_interp 现在是所有 α 的正式链路(Method §4.3):ODE 只生成两端,F0 对数域插值对 α>1 用同一公式外推、不钳位、不线性相加;direct 任意 α 与 pa_clamp 降为对照臂,§3.3 的路由规则作废、只作记录。正式链路定义见 Method §4.3。代码统一到 m21_gen_lib.pa_mix / Gen.sample_pa(本页数据由此前的等价内联实现生成,α∈[0,1] 逐样本比对到量化精度一致)。

TL;DR

可用区间比首轮窄得多:严格标准下只有 α ∈ [1.0, 1.5];放宽后 [0.5, 1.5]。α=0 的中立化有 14% 的样本完全乱说,且强绑定说话人。

  • ✅ α=1 → 1.5 是干净的外推区:UTMOS 2.66 → 2.35、CER ≤ 0.05、RA 1.00 → 1.51;α=1.25 与 α=1 几乎无差,多给 25% 强度
  • ⚠️ α=0 中立化:CER 0.221(真实中立录音 0.009)。分布双峰——34% 完全正确、14% 基本乱说; 按说话人从 0.04 到 0.44,P6 那 11 条恰好落在好说话人上(首轮报 0.10)
  • 🔍 音高对齐只在中段谷有效:α=0.25 / 0.5 各 +0.21 / +0.47 UTMOS(p<0.001),代价 CER +0.05 / +0.07; α=0.75 无效(p=0.71);α≥1 反而伤 −0.41 ~ −0.74。首轮"0.75 也走对齐"不成立
  • ❌ 负 α 不可用(最好臂 CER ≥ 0.27);α ≥ 2 崩坏
  • 路由(0.25/0.5 走对齐,其余直路)端到端 UTMOS 2.27 → 2.37,CER 0.090 → 0.106

1 质量评分体系(原 E1 并入)

四个指标,各有出处,全部对单条音频打分,全部 16 kHz:

指标 量什么 方法与出处 参考
UTMOS ↑ 音质(预测 MOS) Saeki et al., UTMOS: UTokyo-SaruLab System for VoiceMOS Challenge 2022, Interspeech 2022;utmos22_strong 真实中立录音 3.71 · 真实情感录音 2.76
CER ↓ 内容保真 Paraformer-zh(Gao et al., Interspeech 2022,FunASR);去标点、小写后的字符编辑距离 真实录音 0.01–0.03
SECS ↑ 说话人保持 WavLM-base-plus-sv x-vector 余弦(Chen et al., IEEE JSTSP 2022),参照 = 输入的情感录音 同一人的中立录音 0.886(不是 1.0)
RA 情感强度 相对属性排序,见 E2;0 = 真实中立均值,1 = 真实情感均值 真实中立 0.08 · 真实情感 1.07

为什么 UTMOS 的参考是 2.76 而不是 3.71:UTMOS 对情感语音系统性低约 1 分(真实情感录音只有 2.76, 中立录音 3.71)。模型输出应与真实情感录音比,而不是与中立录音比。

RA 的适用前提:RA 建在 eGeMAPS 上,崩坏音频会产生离谱值(本轮 |RA| 超出 [−3, 5] 的 255/6240 条, 96% 落在 |α| ≥ 2 或 α = −1)。这些值判为退化、移出统计并计数。RA 只在 CER ≤ 0.1 左右的可懂音频上可解释。

2 评测设计

项 值
样本 ESD-zh test 随机 160 条(四情感各 40,10 位说话人),与 E2 §4.1 / E7 同一批
α 网格 −1 / −0.5 / −0.25 / 0 / 0.25 / 0.5 / 0.75 / 1 / 1.25 / 1.5 / 2 / 3 / 5
三条路径 direct:v = v_B + α·v_Δ 直接积分 · pa_interp:音高对齐混合——两端过 HiFT 后 WORLD 分解,只把 F0 对数插值并共享,谱包络/非周期各自保留,两端在共享 F0 上重建,再在 mel 域按 (1−α)/α 混合;F0 随 α 外推 · pa_clamp:同上但 F0 钳在 [0,1](α∈[0,1] 时两者相同)
锚点 同批 160 条的真实中立 / 真实情感录音,训练目标两端
配对检验 同一条音频的两臂之差,配对 t 检验
规则(跑前定) 可用:CER ≤ 0.10 且 UTMOS ≥ 真实情感录音 − 0.5(= 2.26);宽松:CER ≤ 0.15 且 UTMOS ≥ 2.0。路由:对齐臂须 ΔUTMOS ≥ +0.20、p < 0.01、ΔCER ≤ +0.07

3 结果

3.1 四指标 × 三臂

E4 四指标曲线

直路(direct)主表:

α UTMOS CER RA SECS 判定
−1.00 1.32 0.886 0.53 0.697 ❌
−0.50 1.72 0.602 0.22 0.826 ❌
−0.25 2.30 0.385 0.08 0.858 ❌
0.00 2.58 0.221 0.09 0.874 ⚠️ CER(见 §3.5)
0.25 1.94 0.145 0.24 0.882 ⚠️ 谷
0.50 1.61 0.080 0.58 0.902 ⚠️ 谷
0.75 2.17 0.042 0.80 0.931 宽松 ✅
1.00 2.66 0.044 1.00 0.942 ✅
1.25 2.61 0.046 1.25 0.941 ✅
1.50 2.35 0.050 1.51 0.932 ✅
2.00 1.69 0.068 1.85 0.902 ❌ UTMOS
3.00 1.47 0.173 2.05 0.839 ❌
5.00 1.36 0.354 2.19 0.770 ❌
真实中立录音 3.71 0.009 0.08 0.886
真实情感录音 2.76 0.027 1.07 1.000

每格 n=160,标准误:UTMOS ≈ 0.03–0.04,CER ≈ 0.006–0.03,RA ≈ 0.05,SECS ≈ 0.003–0.01。 三臂全表见 outputs/m21/e4v2/analysis.json。

读法

  • UTMOS 是双峰曲线:α=0 和 α=1 两个峰(2.58 / 2.66),α=0.5 谷底 1.61。峰值离真实情感录音(2.76)只差 0.1
  • RA 一路单调到 α=5——强度旋钮本身不崩,崩的是音质和内容(α≥2 UTMOS < 1.7)。 α ≥ 2 的 RA 读数含大量退化值,不可解释
  • SECS 在 α=1 达峰 0.942;α=0 为 0.874,与"同一人自己的中立录音"0.886 相当 ⇒ 中立化保住了说话人身份
  • 负 α 的 RA 反而回升(α=−1 → 0.53):"反情感"不存在,模型只是离开了中立流形,RA 读到的是偏离

3.2 音高对齐帮不帮:同条配对差

配对差

α Δ UTMOS(对齐 − 直路) p Δ CER 结论
−1 / −0.5 +0.08 / +0.08 <0.001 −0.42 / −0.29 救得动一点,但仍不可用
−0.25 −0.15 <0.001 −0.11 伤
0 −0.27 <0.001 +0.02 伤
0.25 +0.21 <0.001 +0.05 ✅ 走对齐
0.50 +0.47 <0.001 +0.07 ✅ 走对齐
0.75 −0.01 0.71 +0.05 无效
1.0 −0.41 <0.001 +0.02 伤
1.25 / 1.5 −0.55 / −0.59(clamp) <0.001 +0.01 / +0.02 伤

音高对齐的作用是局部的:只在双梳齿最严重的 α=0.25–0.5 起效(机制见 pitch-align), 两端都伤。pa_clamp 在 α>1 比 pa_interp 少伤 0.1–0.15,但仍远不及直路。

3.3 路由与端到端

按 §2 规则:α ∈ {0.25, 0.5} 走音高对齐,其余走直路。

配置(α ∈ [0, 1.5] 七档均值) UTMOS CER RA SECS
全 direct 2.274 0.090 0.779 0.915
全 pa_interp 2.075 0.127 0.816 0.890
全 pa_clamp 2.110 0.123 0.784 0.892
★ 路由 2.371 0.106 0.775 0.909

路由比全直路 +0.10 UTMOS,CER +0.016。首轮(P6)报 +0.18 且把 0.75 也路由到对齐——0.75 那一档在 160 条上无差。

3.4 可用区间

规则 可用 α
严格:CER ≤ 0.10 且 UTMOS ≥ 2.26(真实情感录音 − 0.5) [1.0, 1.25, 1.5]
宽松:CER ≤ 0.15 且 UTMOS ≥ 2.0(0.5 走对齐) [0.5, 0.75, 1.0, 1.25, 1.5]

编辑区 α < 1 在任一规则下都不完全可用:α=0 被 CER 卡住,α=0.25 两项都不过,α=0.5–0.75 只过宽松线。 干净的是重建与外推区 [1, 1.5]。

3.5 α=0 的内容错误:双峰且绑定说话人

α=0 CER 结构

值
CER 均值 / 中位 0.221 / 0.118
完全正确(CER = 0) 34%
基本乱说(CER > 0.5) 14%
按情感 Angry 0.30 · Happy 0.27 · Sad 0.15 · Surprise 0.16
按说话人 0001 0.04 · 0002 0.06 · 0009 0.07 · 0004 0.12 · 0007 0.21 · 0010 0.23 · 0008 0.28 · 0003 0.31 · 0006 0.39 · 0005 0.44

同一批说话人在 α=1 的 CER 全部 ≤ 0.09 ⇒ 不是说话人本身难识别,是中立化对某些说话人失效。 M19 报"α=0 乱说治愈"(CER 1.24 → 0.19)建在 P6 上,P6 的说话人是 0001/0002/0008/0009/0010—— 其中三位恰是最好的三位。乱说没有治愈,只是被样本掩盖了一半。

3.6 试听(二轮,16 kHz)

每种情感各一条,取直路 α=0.5 的 UTMOS 最接近该情感中位数的样本(代表性,不挑好听的)。 每格下方的数字是该条的 UTMOS / CER。音高对齐在 α ∈ [0,1] 内 interp 与 clamp 相同,只列一列。

生气 · 0006_text00310_Angry · 「让人看上去就感到宽广,气魄非凡。」

真实中立录音 真实情感录音(输入)
α 直路 direct 音高对齐
0.00
2.03 / 0.71
—
0.25
1.49 / 0.57

1.73 / 0.57
0.50
1.50 / 0.29

1.68 / 0.43
0.75
2.25 / 0.00

2.09 / 0.29
1.00
2.47 / 0.00
—
1.25
2.44 / 0.00
—
1.50
1.97 / 0.07
—

高兴 · 0002_text00280_Happy · 「没有,不过,我们去了肯尼迪中心。」

真实中立录音 真实情感录音(输入)
α 直路 direct 音高对齐
0.00
2.85 / 0.00
—
0.25
2.19 / 0.00

2.28 / 0.00
0.50
1.44 / 0.00

2.04 / 0.00
0.75
2.15 / 0.00

2.05 / 0.00
1.00
2.68 / 0.00
—
1.25
2.56 / 0.00
—
1.50
1.81 / 0.00
—

悲伤 · 0007_text00350_Sad · 「陪你度过这漫长的黑夜。」

真实中立录音 真实情感录音(输入)
α 直路 direct 音高对齐
0.00
3.21 / 0.00
—
0.25
2.41 / 0.30

2.86 / 0.30
0.50
1.77 / 0.30

2.72 / 0.20
0.75
2.58 / 0.20

2.64 / 0.20
1.00
3.37 / 0.20
—
1.25
3.76 / 0.20
—
1.50
3.50 / 0.20
—

惊讶 · 0006_text00330_Surprise · 「这个我相信,我是登山爱好者。」

真实中立录音 真实情感录音(输入)
α 直路 direct 音高对齐
0.00
2.43 / 0.25
—
0.25
1.43 / 0.33

2.14 / 0.33
0.50
1.44 / 0.00

1.62 / 0.25
0.75
2.34 / 0.00

2.01 / 0.00
1.00
2.83 / 0.00
—
1.25
2.54 / 0.00
—
1.50
2.23 / 0.00
—

α=0 中立化:干净 vs 乱说(§3.5 的两个极端)

说话人 真实中立录音 模型 α=0 参考文本 → 识别结果
干净 0009
UTMOS 3.48 / CER 0.00
我们休息一下喝杯咖啡。 → 我们休息一下喝杯咖啡
乱说 0007
UTMOS 2.41 / CER 1.00
陪你度过这漫长的黑夜。 → 比语果的后面点一下a

听点:① α=0.5 直路的电音,与同档音高对齐的差别;② α=1.25 与 α=1 几乎听不出差别但情感更足;③ α=1.5 开始有毛刺; ④ 乱说那条:音质(UTMOS)并不差,但内容完全换了——这就是 §3.5 说的"像人话但说不对"。

3.7 负 α 落在哪:声学空间的 UMAP

补充实验 S1(提案待验收,验收后本节数字回填到 S1)。

负 α UMAP

项 值
表示 eGeMAPS z 分(与 RA 同空间),剔除极端 α 下数值退化的维后剩 63 维
拟合 UMAP(cosine,n_neighbors 30)只在真实录音 + α ∈ [0, 1.5] 上拟合;负 α 与 α ≥ 2 只作投影,避免它们自己撑开坐标
右图 每档 α 的 160 条输出到最近一条真实录音的平均距离;虚线 = 真实录音彼此的最近邻距离(4.54),即"在流形上"的基准
α −1 −0.5 −0.25 0 0.5 1 1.5 2 5
到最近真实录音 11.3 7.6 6.7 5.5 6.6 4.5 5.7 7.4 10.4

读法

  • α=1 的输出就落在真实语音流形上(4.51 vs 基准 4.54);α=0 略远(5.47),α=0.5 有一个小凸起(6.64)——正是 §3.1 的中段谷
  • 负 α 单调地离开流形(6.7 → 7.6 → 11.3),而且离真实中立和真实情感同时变远(右图两条彩线一起上翘)。 它没有走向任何真实语音会出现的区域——"反情感"不是一个方向,只是离开数据流形。§3.1 里负 α 的 RA 回升(0.08 → 0.53)由此得到解释:RA 读到的是偏离,不是"更强"
  • α ≥ 2 的另一侧同理(7.4 → 10.4),两端对称地出流形,可用区间就是流形附近那一段

全量复核(M21-F,2026-09-10)

汇总页 补充 S7(提案待验收,验收后回填)。 全量 zh test 1276 条(直路 7 α + 音高对齐 4 α;负 α 与 α≥2 未重跑,见 M21-F §2)。图:m21_e4_curves_full.png / m21_e4_paired_full.png / m21_e4_alpha0_full.png。

α 0 0.25 0.5 0.75 1.0 1.25 1.5
UTMOS 2.55 1.88 1.61 2.16 2.67 2.63 2.36
CER 0.250 0.167 0.083 0.049 0.047 0.047 0.050
RA 0.07 0.22 0.53 0.75 0.94 1.16 1.44
SECS 0.873 0.882 0.899 0.928 0.939 0.936 0.925

锚点:真实中立 UTMOS 3.68 / CER 0.016;真实情感 UTMOS 2.74 / CER 0.030 / RA 1.03。 与 160 条版逐格差均在 2 个标准误内;严格可用区间仍为 [1.0, 1.5](UTMOS 阈 2.24)。

音高对齐配对差(1276 条):α=0.25 +0.269(ΔCER +0.054)、0.5 +0.460(ΔCER +0.079)、0.75 +0.034(p<0.001 但 <0.05 量级,实际无用)、1.0 −0.384。 按跑前规则(ΔCER ≤ +0.07)0.5 档差 0.009 出线,路由只剩 0.25:端到端 UTMOS 2.267 → 2.305。若把阈值放到 0.10 则 0.25/0.5 都走对齐:UTMOS ≈ 2.37、CER ≈ 0.118。结论:对齐在 0.5 处 +0.46 音质换 +0.08 CER,是否划算由使用场景定,页面两种都列。

α=0 乱说(1276 条,每人 ≈ 127 条):均值 0.250、中位 0.154、完全正确 32%、乱说(>0.5)18%。 按说话人:0009 0.06、0001 0.09、0002 0.09、0004 0.21、0007 0.24、0003 0.30、0008 0.30、0010 0.31、0005 0.44、0006 0.45; 按情感:Angry 0.30、Happy 0.25、Sad 0.15、Surprise 0.28。三位好说话人(0009/0001/0002 ≤ 0.09)与两位差说话人(0005/0006 ≈ 0.44)的分野在 128 条/人下成立,不是 16 条时的噪声。

4 结论

项 结论
可用区间 严格 [1.0, 1.5];宽松 [0.5, 1.5]。编辑区 α<1 不完全可用
α=0 中立化 ⚠️ CER 0.221,双峰(34% 完美 / 14% 乱说),按说话人 0.04–0.44。首轮"已治愈"是 P6 说话人构成的假象
音高对齐 只在 α=0.25 / 0.5 有效(+0.21 / +0.47),α≥1 反而伤 0.4–0.7
路由 0.25/0.5 走对齐 ⇒ 端到端 UTMOS +0.10、CER +0.016
外推 α=1.25 几乎零代价多给 25% 强度;1.5 仍可用;2 崩
负 α ❌ 不可用;"反情感"不存在——UMAP 显示负 α 同时远离真实中立与真实情感,只是离开流形(§3.7)
说话人保持 α=0 的 SECS 0.874 ≈ 同一人中立录音 0.886 ⇒ 中立化不丢人
指标 RA 只在可懂音频上可解释;4.1% 退化值集中在 |α|≥2

5 复现

source scripts/env.sh
for s in 0 1 2 3; do CUDA_VISIBLE_DEVICES=$s $PY emo/exp/M17_editor/m21_e4_gen.py --shard $s --nshard 4 & done; wait
bash emo/exp/M17_editor/run_m21v2_score.sh e4v2 0 1 2 3      # UTMOS/CER/SECS(GPU)+ RA(CPU)
$PY emo/exp/M17_editor/m21_e4_analyze.py

产物:outputs/m21/e4v2/{manifest_*,score_*,ra}.jsonl、analysis.json;锚点 outputs/m21/anchors_zh.*.jsonl。

订正记录(2026-09-05)

首轮(2026-09-01)建在 [E4 旧版] 的 P6 11 条、24 kHz 上,以下结论已被本轮取代: 「可用区间 [0, 1.5]」→ 严格 [1, 1.5];「α=0 MOS 2.86 / CER 0.10」→ 2.58 / 0.221; 「0.75 走对齐 +0.09」→ 无差(p=0.71);「路由 +0.18 MOS」→ +0.10; 「负 α 上音高对齐反而更稳」→ 方向成立(CER −0.29~−0.42)但仍不可用。 情感指标从 emotion2vec 换为 RA(E2)。首轮旧音频保留在 outputs/m21/e4/。

讨论