跳转至

S9 · T2 完全 OOD:IEMOCAP

批次 / 日期 第二批延伸 · 用户 09-11 提出补 IEMOCAP · 数据 09-12 到位并核验完整
延续自 S7 的四层结构,本页是缺的第五层 T2
状态 ✅ 完成(2026-09-12):33,132 条生成 + 打分,5,636 条可用样本
数据 /data-phy/Zhengwei/IEMOCAP/IEMOCAP_full_release,26 GB,5 Session × 151 对话 × 10,039 条标注 utterance,与官方发布逐项对齐(151 个 EmoEvaluation 文件、151 个转写、10,039 个 wav)

1 目的与用法

目的:S7 的 T1 层(CREMA-D / RAVDESS)虽然换了说话人,但仍是录音室朗读的固定短句,与训练数据的录制条件相近。IEMOCAP 是对话、即兴、有交叠与噪声、长句,是真正意义上的完全分布外。

在论文里怎么用:主结果表的最后一行,回答"这套强度控制在真实对话语音上还成不成立"。这是审稿人最可能追问的一层。

2 与前四层的差异(为什么它是 T2)

T0 / T1 / T2 的编号含义与五层数据集全貌见总表 · 评测数据集。

维度 训练(ESD) T1(CREMA-D / RAVDESS) T2(IEMOCAP)
说话人 17 位,见过 未见 未见(10 位,5 Session × 男女各 1)
语料 录音室朗读 录音室朗读 对话(即兴 + 剧本)
句子 350 句固定 2–12 句固定 自由内容,中位 3.5 s、最长 34 s
录音条件 干净单人 干净单人 有交叠、笑声、环境噪声
标签来源 演员按指定情感演 演员按指定情感与强度演 多名标注者事后投票,含未达成一致的条目
强度标注 无(只有情感类别) 有(LO/MD/HI、normal/strong) 无离散强度档,但有连续的 V/A/D 评分

3 数据筛选(已核算)

步骤 条数
全部标注 utterance 10,039
去掉 xxx(标注者未达成一致)、fru / fea / dis / oth −4,401
保留 ang / hap+exc / sad / sur / neu 5,638

映射后的类别分布:

类别 条数 说明
Neutral 1,708 作锚点与中立参考
Happy 1,636 hap 595 + exc 1,041(本领域常规合并)
Angry 1,103
Sad 1,084
Surprise 107 太少,结论单独标注 n,不进汇总均值

另两个维度:即兴 3,003 / 剧本 2,635(分开报,即兴更自发、更难);151 个对话里 135 个含中立条目。

4 与前四层不同的三处处理(本层特有)

问题 处理
没有平行中立录音(ESD 有同人同句的中立版本,IEMOCAP 没有) RA 锚点改用该说话人在本库内的全部中立条目的均值作 0 点、该说话人该情感条目的均值作 1 点;不做同句配对
长句(最长 34 s,371 条超 10 s) 与其他层一致取整句,不裁剪;whisper 编码上限 30 s,超过 30 s 的条目剔除并记录条数
有交叠与噪声 不做降噪、不做 VAD 裁剪——保持"真实对话"的原样,这正是本层要测的;但 CER 会显著高于前四层,CER 只作层内相对比较,不跨层比

5 评测口径(与 S7 完全一致,除上面三处)

项 值
生成 正式链路(音高对齐混合)七档 α = 0 / 0.25 / 0.5 / 0.75 / 1.0 / 1.25 / 1.5
条件 在线抽取(whisper encoder + CAM++),与 T1 相同
指标 UTMOS · CER(whisper-large-v3)· SECS · RA(归一)· EIT 三个成对准确率 · BWS 分
锚点 本库自己的真实中立 / 真实情感(按 §4 的说话人内均值口径)
分层报告 按情感(Surprise 单列)× 按即兴/剧本

6 实验计划

阶段 内容 预估
1 解析 EmoEvaluation → 建清单 manifests/iemocap_eval.jsonl(含 utt、说话人、情感、时长、即兴/剧本、wav 路径) 分钟级
2 生成:5,638 条 × 7 档,6 卡分片 ~6 h
3 打分:UTMOS / CER / SECS / RA ~2 h
4 分析并入 m21_s7_analyze.py 的第五层,回填 S7 §5 与跨层汇总 分钟级

可选降规模:若只为主结果表的一行,可每情感随机抽 300 条(Surprise 全取 107),共 1,207 条,生成约 1.5 h。建议先跑全量,因为这是审稿人最会追问的一层,n 大更稳。

7 结果(2026-09-12)

生成 33,132 条(3,928 条情感输入 × 7 档 + 锚点),6 卡约 6 h;打分 6 分片约 2.5 h。 分析并入 m21_s7_analyze.py 的第五层,产物 outputs/m21full/s7_analysis.json。

7.1 七档主表

α 0 0.25 0.5 0.75 1.0 1.25 1.5 真实中立 真实情感
UTMOS ↑ 2.13 1.90 1.78 1.88 1.98 1.85 1.62 2.40 2.21
CER ↓ 0.707 0.621 0.483 0.379 0.346 0.349 0.395 0.194 0.139
SECS ↑ 0.690 0.695 0.711 0.740 0.770 0.783 0.781 见下注 1.000(恒等)
RA 0.30 0.37 0.46 0.61 0.79 0.95 1.16 -0.10 0.42
归一 RA 0.78 0.90 1.08 1.37 1.71 2.03 2.43 0 1

为什么 SECS 的锚点列是空的

SECS 比的是「生成音频 vs 该条的真实情感录音」。前四层里 raw_neu 锚点的参照是同句的真实中立录音(与情感录音是两条不同的录音),所以能给出有意义的基线(ESD-zh 0.887、RAVDESS 0.898)。 IEMOCAP 没有同句配对的中立录音,建清单时 raw_neu 的参照被设成了它自己,于是两个锚点都变成「自己跟自己比」,恒等于 1.000,没有信息量。

模型输出那七档的 SECS 是有效的(参照各自输入的真实情感录音);缺的只是「同说话人不同录音之间」的上界基线,所以本层的 0.77 只能与其他层横向比,不能判断它离该库的天花板有多远。补法见 §9。

7.2 可分性与刻度

指标 值
EIT(α = 0.5 / 0.75 / 1.0) W<M 0.80 · M<S 0.85 · W<S 0.87(n = 3,923,随机 50%)
BWS-auto(α = 0 / 0.5 / 1.0 / 1.5) -0.64 · -0.14 · +0.06 · +0.72(n = 3,907,严格单调)

7.3 分层

即兴 vs 剧本(RA):

输入类型 真实录音 α=0 α=0.5 α=1.0 α=1.5 n
improvised 即兴 0.52 0.34 0.53 0.91 1.27 1,902
scripted 剧本 0.32 0.27 0.39 0.67 1.05 2,019

即兴语音的输出强度始终高于剧本(α=1 时 0.91 vs 0.67),与真实录音的排序(0.52 vs 0.32)一致——模型读到了"这条本身有多情绪化",不只是情感类别。

按情感:

情感 n(全档) EIT W<S RA@α=1
Angry 7,721 0.92 0.67
Happy 11,445 0.86 0.49
Sad 7,581 0.85 1.35
Surprise 749 0.85 0.73

Surprise 只有 107 条输入(749 条全档样本),单列不进均值。

8 结论

  1. 强度控制在真实对话语音上依然成立:归一 RA 从 0.78 单调升到 2.43,EIT 三个准确率 0.80 / 0.85 / 0.87(n = 3,923),BWS-auto 严格单调(−0.64 → +0.72)。这是本文最强的 OOD 证据——说话人、语料、说话风格、标签来源全都变了。
  2. 但整条刻度被抬高了:α=0 的归一 RA 是 0.78 而不是 0(前四层都在 0 附近),α=1 到 1.71。原因是本层的锚点跨度极小——该库真实中立 RA −0.10、真实情感 0.42,跨度只有 0.52,而 ESD 是 0.96。对话语音里"中立"和"情感"本来就没有朗读语料那么泾渭分明,归一后的数字会被放大,跨层比较要看 EIT 而不是归一 RA。
  3. 可懂度是本层的硬伤:α=1 的 CER 0.346,而该库真实录音本身就有 0.194(对话、交叠、背景噪声)。相对增量 +0.15 与 CREMA-D 同量级,但绝对值高到不能与前四层并列。
  4. 音色保持最弱:SECS 0.77(ESD 0.92、RAVDESS 0.83)。说话人分布外加上录音条件差,音色迁移的损失最明显。
  5. 即兴比剧本更有情绪、模型跟着走:这条支持"模型编码的是强度而非类别",与 CREMA-D 的 LO/MD/HI、RAVDESS 的 normal/strong 三处证据一致。

9 待补:SECS 的层内基线

本层缺「同说话人不同录音之间的 SECS」这个上界参照(原因见 §7.1 的注)。补法:对每条真实录音,从同一说话人的其他录音里随机取一条作参照,算两者的 SECS,取均值即本层的天花板。只需对已有音频重算 SECS,不必重跑生成,约十几分钟。补上后就能判断模型输出的 0.77 距该库上界还有多远。

讨论