跳转至

Journal 研究日志

倒序,最新在上。一条一天:做了什么 / 得到什么数 / 推翻了什么。 出数就写。提交信息与条目对应,所以 git log --oneline 也能 catch up。

2026-08-18(下午)

  • M7 跑完(EmotiVoice,336 条,127 秒): 把 α 搬到 style embedding(768 维)上,它工作得相当好 —— F0 中位数 4.3→30.2 Hz 平滑单调,α=1.5 外推不崩 但时长斜率 +0.135 s/α,只有我们速度场层(+1.36)的 1/10又推翻我一处结构性判断:proposal 说 embedding 层"改不了时长",实测能改 (EmotiVoice 的时长预测器吃 style 向量)。能否改时长是经验问题,不是结构问题 → 新增 F12:α 插值是通用手法,我们只能主张控制的层级
  • 附带:EmotiVoice 的情感提示向量彼此接近正交(最高 cos +0.33), 与我们 A 方向沿唤醒度聚簇(Happy/Angry 0.72)的几何很不一样
  • 踩坑:g2p 子进程传了相对路径,而 cwd=REPO —— frontend.py 对不存在的文件 静默跳过(returncode 0、零输出),排查了一轮才定位

2026-08-18(上午)

  • M7 按用户澄清重新立题:把我们的 α 插值原样搬到有显式情感 embedding 的 未训练模型上,看它是什么响应。同一个公式、不同层级 —— 我们在速度场(\(80\times K\),逐帧),对照在 embedding(全句一个向量)。 做法是 hook 出 \(e_{neu}\) / \(e_{emo}\)、线性插值后替换回去,只改这一个张量。 首选 EmotiVoice(唯一同时有显式情感向量且支持中文的候选)。 步骤 0 是可行性验证:插值后输出若不动,说明它不是有效控制点,实验不成立
  • 前一轮已完成的 M7 改编号为 M9 —— 它问错了题但产出了真实结果(F11),不应被覆盖。 常规是实验 ID 不重编,此处按「保住已完成记录」优先破例一次
  • 站点上线:Cloudflare Pages 构建 2 分 27 秒,公网验证 6 个页面 / 音频 / 图全部 200

2026-08-17(下午)

  • M9 跑完 —— 假设被推翻: 受控组数 cv2 7/12 > cv3_frozen 6/12 > cv3_v4(我们的) 5/12, 未训练的模型不少反多 → α 机制是 flow-matching 的通用性质,不依赖我们的训练 但 CER 严格单调 0.039 → 0.034 → 0.029,训练改善的是可懂度 ⚠️ 三档饱和率 93–95%,故只能说「这把尺子测不出情感维度的差异」 → novelty claim 必须收窄,G7 从「要不要换」变成「必须换」
  • 跨模型复用踩了三层接口差异(flow 外壳 / 声码器 / LLM prompt), 尽管 estimator 签名完全相同 → 方法论 §5.8

  • M6 分段 α 跑完(288 条,n=48 语句): onset 档定位比 42.3(句首 2.09 dB / 句身 0.05 dB); 等能量对照 onset_eq 定位比 100.3 → 定位性不是「施加得少」的假象推翻我在 proposal 里的预测:half(用户原方案)其实定位良好(比值 3.3), M5 的「前后半无结构」说的是观测,不蕴含干预无效 → 提炼进方法论 §5.7

  • M8 instruct 模式跑完(240 条): 程度副词没有系统性效果(逐语句单调率 22.9% vs 随机 16.7%); 且两条通道改的东西不同 —— ref 的 ΔF0 79 Hz vs instruct ~20 Hz,能量却几乎相同
  • M9 按用户更正重写:改为「其他论文的模型不训练直接加权」, 下载 CosyVoice2-0.5B,三档对照进行中
  • 文档站迁到 Voice/site/:旧仓库混了 500+ MB 归档(1566 个跟踪文件里 1419 个是归档, .git 378 MB)。新仓库 2.9 MB/45 文件,标准 MkDocs 布局,可直接发 GitHub Pages
  • GPU 约束改为只用卡 7

2026-08-17(上午)

  • 建立本文档站(research-docs)。历史 500+ MB 归档 exclude_docs 排除,站点 455 MB → 11 MB
  • 测了 A 的能量沿时间分布:句首 2.04×(v_neu 同位置仅 1.19,故为情感特有), 其余各段 0.83–1.14。去掉句首后前半/后半比值仅 1.026 → 推翻「前 K/2 vs 后 K/2 分段 α」的切法依据;有结构的是句首 vs 句身(M5)
  • 整理用户的 0815 新实验想法为可执行设计(docs/0815新实验想法_整理.md,未入站)

2026-08-15

  • M5 A 结构探针:\(A\) 帧间一致性 +0.367(低于 \(v_{neu}\) 的 +0.450)、 有效秩 27.5(vs 39.8)、逐帧范数变异 0.389(vs 0.145) → 推翻「A 沿 K 恒定」,但确认 \(A\) 低秩。跨句子空间重叠显示主子空间不承载情感身份(弱证据)
  • 第一版跨句测量做错了(逐帧算余弦 = 比较不同音素),改为子空间重叠
  • M4 时间归一化重训完成:53,700 步,1074 个日志点全部截断归零, A_energy_share 21.8% → 6.8%。但下游受控组数 6/12 vs 6/12 完全相同推翻「会变差」的预测
  • 重跑 v4 基线作同管线对照(历史报告不可比:同分布测试集 + CER 未修复)
  • M2 补跑音频:整齐参考 vs 不齐参考的混合 CER 0.544 vs 0.529 → 挑参考在听感层面也被证伪
  • 根治 manifest 里的 sai 路径(37,042 处);装 pytorch-wpe 修好 CER

2026-08-14

  • M3 调色板六臂:D1-DTW 混合 CER 0.053,其余 0.43–0.66(低 8–12 倍) → 推翻「状态侧优于条件侧」的原立论:均匀 warp 时改状态(0.562)反而比改条件(0.430)差, 全部收益来自内容对齐
  • 自检臂成立:纯情感配方六臂逐条完全相同
  • α 扫描证实时长是 α 的连续函数(每 0.25 α 恰好 +17 帧)
  • M2 B0 探针:整齐参考生成离散度 1.51–1.55, 采样噪声地板 1.288 → 挑参考此路不通
  • M1 截断调色板否决:帧级音素错位,失真明显
  • 逐对截断比例重测:中位 12.4%(此前写的 17% 是错的)