Overview¶
在 CosyVoice3 上做情感强度可控的 TTS。 把 flow-matching 的速度场分解成 语义分量与情感分量,用一个标量 \(\alpha\) 连续控制情感强度;进一步尝试多情感混合(情绪调色板)。
Status¶
| Verified | 主方法可用(\(\alpha\) 控制情感);DTW 内容对齐是混合的必要条件;时长是情感的内禀属性;α 可沿时间定位;instruct 给不了强度 |
| Unverified | 混合是否真的产生「复合情感」—— 现有指标无法判定(F5) |
| Blocked | 🔴 全部混合类结论卡在度量上(见 OPEN G1);混合音质不可用(F7) |
| 需重新定位 | 🔴 α 机制不需要我们的训练 —— novelty claim 必须收窄(G7) |
| Running | 无 |
Experiments¶
| 日期 | 实验 | 状态 | 一句话 |
|---|---|---|---|
| 08-14 | M1 截断调色板 | ⚠️ 作废 | 让各情感贡献自己的 token 骨架,再截断到最短对齐 —— 帧级音素错位,失真明显 |
| 08-14/15 | M2 参考探针 | ⚠️ 证伪 | 固定一组各情感时长几乎相同的参考,既压不到逐帧混合所需的整齐度,压到了也无用 |
| 08-14 | M3 调色板六臂 | ✅ 成立 | DTW 内容对齐使混合 CER 降低 8–12 倍,而「改条件还是改状态」本身无关紧要 |
| 08-15 | M4 时间归一化重训 | ⚠️ 无法判定 | 训练期把平行对拉到同一时间轴,截断彻底归零、A 能量占比掉 3.2 倍,但下游指标纹丝不动 |
| 08-15/17 | M5 A 结构探针 | ✅ 部分成立 | A 沿时间比 v_neu 变化更剧烈、能量集中在句首,但显著低秩;主子空间不承载情感身份 |
| 08-17 | M6 分段 α | ✅ 成立 | α 改成沿时间的函数后定位精确(仅句首档的句身残留 0.05 dB),且判据全程不经过情感分类器 |
| 08-17 | M9 不训练能否调 α | ⚠️ 假设被推翻 | 别的论文的模型不训练也能用 α 调情感(受控组数还更多),我们的训练改善的是可懂度而非情感可控性 |
| 08-18 | M7 情感 embedding 上的 α | 🔵 提案 | 对有显式情感 embedding 的 instruct TTS 施加同一个 α,回答「在速度场层控制比在 embedding 层控制多买到了什么」 |
| 08-17 | M8 instruction 通道 | ✅ 成立 | instruct 能给情感类别但给不了强度(程度副词的单调率 22.9%,随机基线 16.7%),且它改的是能量而几乎不动 F0 |
「一句话」逐字取自各实验页顶部 —— 只有一处作者。
Reading Order¶
| 想知道什么 | 读哪 |
|---|---|
| 这个项目在解决什么 | 01 Introduction |
| 核心原理、为什么这样设计 | 03 Method ← 隔一阵子回来先读这个 |
| 某个实验做了什么 | 04 Experiments |
| 现在相信什么、有多确信 | 05 Findings |
| 某个术语指什么 | Glossary |
| 这个想法试过吗 | 99 Graveyard |
当前的一句话结论¶
Quote
长度失配是真问题,唯一有效的解法是 DTW 内容对齐(CER 降 8–12 倍); 但对齐只解决了「字听得清」,没有解决「混合可用」 —— 而且现有指标已被证明无法判定混合成功与否。
代码与产物¶
| 实验代码 | /data/Zhengwei/Voice/emo/(独立 git 仓库) |
| 运行手册 | emo/RUNBOOK.md |
| 音频与报告 | /data/Zhengwei/Voice/outputs/ |
| 交付压缩包 | outputs/_package/DFD_palette_results.zip(369 条音频 + 说明) |
| 环境手册 | /data/Zhengwei/Voice/ENVIRONMENT.md |
| 历史归档 | docs/ 下未入站的旧目录,见 reference/archive |