Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

### Added

- **声音克隆试听闭环:单句小样 + 情感三来源 + 样本选段勘探 + `sunny` 明快阳光预设**:此前管线只有工程级入口 `tts.py`(强依赖 `narration.json`),选样本/选风格却要等 2.5–3.5 小时的整集合成——新增 [`scripts/tts_sample.py`](media/pipeline/scripts/tts_sample.py) 直调服务合成单句(`--style` / `--all-styles` 全预设 A/B / `--dry-run` 秒级核参 / `--label` 横向对比 / `--play` 顺序试听),复用 `tts.py` 的风格预设与文本预处理故与成片同路径,单档暖机后约 20 秒。针对「五档预设都不够自然」的实测复盘,定位两个根因并各给工具:①**样本定基线**——新增 [`scripts/prospect_ref.py`](media/pipeline/scripts/prospect_ref.py) 按 F0 中位/四分位距/音节率/谱质心筛「更亮更轻快」的候选起点(成片原用样本综合分仅 157/275,换段即让克隆音高 +12~16%、起伏 +25~40%);②**注入越多越假**——由上游混合式 `emovec = Σ(wᵢ·基向量ᵢ) + (1 − Σwᵢ)·参考音频情感` 推出「Σw 就是合成情感挤掉真实语调的比例」,故新增两条自然通路:`--emo-ref`(音色取 A、语调迁移自 B,零向量注入)与 `--emo-text`(QwenEmotion 把「轻快爽朗、自信阳光」转向量,按 ≤0.8 等比缩放并经 `X-Emo-Vector` 回显供固化),服务端新增 `--use-qwen-emo` 与 `/health.supports_emo_text`、对三来源显式互斥报错(上游对「向量+情感音频」是静默丢弃音频)。经 41 个候选小样试听定档 **`sunny`(明快阳光:happy 主载方向 + 有效注入 0.35 + df 0.95,配 `voices/me-bright.wav`)** 取代 `passionate` 成为科普长视频推荐位;并新增其定稿档 **`sunny-steady`(明快稳健)**——同方向同强度同语速、只把束宽提到 3,实测语调起伏 48.4 → 40–44 而亮度不掉(谱质心 1245 → 1214–1223),是唯一"不牺牲明快度就让语气更可信"的旋钮,代价是单句墙钟 20–35 秒 → 56–131 秒(整集 8–10 小时)。并配套 **`--steady` 混合档**(整集跑低束宽、仅冷开场/金句按 `--steady 'P0,p3-25b,p5-*'` 升到 3 束;选择器支持幕名/句 id/前缀通配,任一项匹配不到句子即报错以防拼错后静默降级)与 **`--plan` 排期预演**(纯本地算摘要,输出各束宽待合成/已缓存句数与长跑折算估时)——189 句一集实测:纯 sunny 2.9 h、升 5 句 3.1 h(+7%)、升 20 句 3.6 h(+24%)、整集升档 9.9 h(+241%),即每升 1 句约 +2.2 分钟。为此把**束宽提升为预设的一部分**(`STYLE_PRESETS` 可选键 `beams`,缺省 1;`--num-beams` 显式给值优先,其 argparse 默认值改为 `None` 以区分"没给"与"给了 1"),`--list-styles` 增列"有效注入/束宽"。[VOICE-CLONING.md](media/pipeline/VOICE-CLONING.md) 同步扩写:§三 增 3.3「样本决定基线」实测表、§四 增「情感三来源」对照与强度调参带(0.3–0.45 为自然平衡带)、§五 拆 5.1 小样试听/5.2 全量/5.3 重渲染并附纯 `curl` 直调、§六 摘要公式补 `|emoref=` / `|emotext=` 可选后缀(对已上线三集 189 句逐句核对摘要 100% 不变,存量缓存零失效)。
- **自进化系列三集科普视频内容升级与本人音色克隆配音**:三集([《AI 如何自己变强?》](media/self-improving-agents-video/README.md) v3 / [《上线之后,AI 才开始上学》](media/experience-era-agents-video/README.md) v2 / [《会写代码的 AI,开始给自己写代码》](media/self-evolving-coding-agents-video/README.md) v3)统一换用本人音色克隆配音(IndexTTS-2.5 `passionate` 激情风格,me-1.wav 样本经 RMS 预筛裁剪);源论文第二遍重读校准(三集全部断言零事实漂移)+ 官方工程站点信源补充(ep1 312 条收录统计/九篇敲门砖→P5 活地图+卡片墙镜;ep2 经验编译器闭环/Gen3 适应面语义/SIP-Bench 四指标/111 篇×9 章→6-B2 闭环复盘+6-F 清单卡镜;ep3 无站点,SICA 三选择信号+Table 2 斜线规律两句锚定);每集新增 `research/upgrade-2026-08.md` 审计文档(校准审计表+句级 delta+双重校验 delta RISKY/REWRITE=0+G2 验证记录);动画增强(计数器滚动/环形图合拢/双色分拣重排/青紫双速差流光/斜线光带扫掠/检查点卡+四仪表/数值轨迹雷达/流光巡游,全部 skill-06 四红线合规)。
- **科普视频管线新增「激情」配音风格预设与官方工程站点信源补充规范**:`media/pipeline/scripts/tts.py` 的 IndexTTS 风格预设表新增 `passionate`(充满激情与轻快:happy 0.70 主载高唤醒正价 + surprised 0.20 跳跃感 + calm 0.10 锚定咬字,有效和 1.00×0.7=0.70 ≤ 0.8 上限,语速 0.97 护密集技术句清晰度),`--list-styles` 与 [VOICE-CLONING.md](media/pipeline/VOICE-CLONING.md) §四 同步收录并给出科普长视频推荐位;[skills/01-paper-extraction.md](media/pipeline/skills/01-paper-extraction.md) 扩展「官方工程站点信源补充」纪律——只收事实性内容、逐字引用+URL+访问日期、落 `paper-notes.md` 末尾独立「信源补充」大节并与论文正文物理隔离、严禁下载/嵌入站点图片(概念转文字规格供 Remotion 代码动画重建)、站点信源单集专属不跨集。
- **IndexTTS 推理束搜索宽度旋钮(`--num-beams`,长跑提速主开关)**:服务端 `tts_server.py` 请求模型与推理透传 num_beams(1–5),客户端 `tts.py` 新增 `--num-beams`(默认 1);根因为 MPS fp32 实测每句墙钟 RTF 40–58(上游库内部 num_beams=3 使 GPT 段耗时按束宽线性放大),降为 1 束后 RTF≈12–15(采样生成下听感差异可忽略);[VOICE-CLONING.md](media/pipeline/VOICE-CLONING.md) §4.3b 沉淀实测数据并修正原「每句 5–30 秒」的失实估计(整集实际数小时,需 nohup 后台+断点续跑)。
Expand Down
2 changes: 1 addition & 1 deletion docs/.agents/knowledge-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,5 +71,5 @@
- [经验时代的自驱迭代进化智能体调研](../research/self-evolution/140-experience-era-self-improvement.md) — 精读 88 页综述提炼 Harness 经验基础设施框架,对照 negentropy Routine 闭环诊断出两处根本断点(Judge 无历史锚点 ±20 振荡 / `decay_override` 死配置致经验记忆 7-8 天全灭 + 反馈链断),落地双支柱改进:证据锚定纵向评估(trajectory + progress_evidence + 量化振荡 opt-in)与经验记忆闭环补强(衰减修复 E / 检索反馈闭环 B / 写入去重准入 A / 失败教训结构化与注入 C-D)
- [Skill 进化闭环 × 自我改进评测](../research/self-evolution/141-skills-evolution-and-si-measurement.md) — 综述 §3(Skills 三阶段 Evolution 缺口)/ §7(Meta-Evolving 三体制)/ §8(SI 六目标 + SIP-Bench + 反事实归因)映射到 negentropy:PR [#1038](https://github.com/ThreeFish-AI/negentropy/pull/1038) 落地 eval 四表 + held-out 双相门(decide_skill_shadow/canary)+ 反事实 Skill Influence Pattern + TargetHandler 抽象 + SkillTemplateHandler 闭环(GEPA 变异 prompt_template + active_version 发布),补 140 号未覆盖的 Skills/Meta/SI 度量框架
- [arXiv §5 科普视频制作包](../../video-package/README.md) — 基于 [141 号调研同源综述](../research/self-evolution/141-skills-evolution-and-si-measurement.md)(arXiv:2607.13104 §5 基座模型自我改进)的完整视频制作包:13:42 逐字稿(N0–N6 段落 ID 主键体系,4.7 字/秒自洽)+ 46 镜头分镜表(md/csv 双格式,822s 与逐字稿/动画三表对齐)+ 单文件 Canvas 动画 demo(1920×1080、8 场景 3B1B 风格、←/→/空格/R/1-8/H 快捷键、file:// 零依赖直开)+ 71 条事实核查表(引文 100% grep 验证命中论文原文、RISKY/REWRITE 双零、ANALOGY 类比显式登记)
- [科普视频制作 Pipeline(公共基建)](../../media/pipeline/README.md) — 全仓可复用的论文→视频九阶段流水线(精读提取含官方工程站点信源补充/策划/逐字稿 SSOT/双重校验/分镜/TTS/Remotion/抽帧 QA/终渲):中心脚本三件套(`--project` 参数化)+ 每 Stage 代理提示词规格(skills/01–06:01–05 内容层 + 06 生产层 Remotion 实现)+ 新集脚手架清单与复用边界(Python 脚本集中 SSOT、Remotion 原语复制适配);作品:[《AI 如何自己变强?》](../../media/self-improving-agents-video/README.md)(Schmidhuber 综述 · 蓝/橙契约 · 6 幕)、[《上线之后,AI 才开始上学》](../../media/experience-era-agents-video/README.md)([140 号调研](../research/self-evolution/140-experience-era-self-improvement.md)同源清华×Frontis 综述 · 金/青/紫契约 · 7 幕 13.6 分钟)与 [《会写代码的 AI,开始给自己写代码》](../../media/self-evolving-coding-agents-video/README.md)(arXiv:2608.03392 NJUST×NJU 综述 · 终端绿/洋红契约 · 7 幕 14.7 分钟,五对象×时机证据×可信进化,论文笔记由 8 并行代理逐章精读产出);配音支持用自己的声音克隆(激情/轻快/自信/正能量风格,见 [VOICE-CLONING.md](../../media/pipeline/VOICE-CLONING.md);2026-08 三集统一换用本人音色 passionate 风格 + 内容升级审计文档 [upgrade-2026-08.md](../../media/self-improving-agents-video/research/upgrade-2026-08.md) 各集一份,站点信源补充规范沉淀于 skills/01)
- [科普视频制作 Pipeline(公共基建)](../../media/pipeline/README.md) — 全仓可复用的论文→视频九阶段流水线(精读提取含官方工程站点信源补充/策划/逐字稿 SSOT/双重校验/分镜/TTS/Remotion/抽帧 QA/终渲):中心脚本三件套(`--project` 参数化)+ 每 Stage 代理提示词规格(skills/01–06:01–05 内容层 + 06 生产层 Remotion 实现)+ 新集脚手架清单与复用边界(Python 脚本集中 SSOT、Remotion 原语复制适配);作品:[《AI 如何自己变强?》](../../media/self-improving-agents-video/README.md)(Schmidhuber 综述 · 蓝/橙契约 · 6 幕)、[《上线之后,AI 才开始上学》](../../media/experience-era-agents-video/README.md)([140 号调研](../research/self-evolution/140-experience-era-self-improvement.md)同源清华×Frontis 综述 · 金/青/紫契约 · 7 幕 13.6 分钟)与 [《会写代码的 AI,开始给自己写代码》](../../media/self-evolving-coding-agents-video/README.md)(arXiv:2608.03392 NJUST×NJU 综述 · 终端绿/洋红契约 · 7 幕 14.7 分钟,五对象×时机证据×可信进化,论文笔记由 8 并行代理逐章精读产出);配音支持用自己的声音克隆(明快阳光 sunny 推荐位 + 激情/轻快/自信/正能量,另有语调迁移 `--emo-ref` 与自然语言 `--emo-text` 两条情感通路;单句小样试听 `tts_sample.py`、样本选段勘探 `prospect_ref.py`,见 [VOICE-CLONING.md](../../media/pipeline/VOICE-CLONING.md);2026-08 三集统一换用本人音色 passionate 风格 + 内容升级审计文档 [upgrade-2026-08.md](../../media/self-improving-agents-video/research/upgrade-2026-08.md) 各集一份,站点信源补充规范沉淀于 skills/01)
- [自进化 Agents Team 方案(Phase 3 记忆检索面已落地)](../concepts/design/self-evolving-agents.md) — 四层自进化架构:本次落地 `engine/evolution/` 子系统(GEPA proposer + 状态机 + decision 护栏)并在记忆检索权重面接通 propose→shadow→canary→promote/rollback 全闭环(迁移 0081 + evolution_inspector),默认全关灰度;agent/skill/knowledge 面、Phase 1 tool_invocations 遥测、eval 四表留后续
4 changes: 3 additions & 1 deletion media/pipeline/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,11 @@ media/<slug>-video/
| 脚本 | 用途 | 工程内等价调用 |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| [scripts/build_narration.py](./scripts/build_narration.py) | narration.md → narration.json + 时长估算 | `uv run --no-project scripts/build_narration.py` |
| [scripts/tts.py](./scripts/tts.py) | 逐句配音合成 + 时长 manifest(幂等,双引擎:edge 预置音色 / indextts 声音克隆,风格含 passionate 激情 / lively 轻快等) | `uv run --no-project --with edge-tts --with mutagen scripts/tts.py`(克隆模式免 edge-tts,见 [VOICE-CLONING.md](./VOICE-CLONING.md)) |
| [scripts/tts.py](./scripts/tts.py) | 逐句配音合成 + 时长 manifest(幂等,双引擎:edge 预置音色 / indextts 声音克隆;风格推荐位 sunny 明快阳光,`--steady` 混合档让关键句单独升束宽,`--plan` 预演排期) | `uv run --no-project --with edge-tts --with mutagen scripts/tts.py`(克隆模式免 edge-tts,见 [VOICE-CLONING.md](./VOICE-CLONING.md)) |
| [scripts/tts_server.py](./scripts/tts_server.py) | IndexTTS 推理服务(声音克隆后端,**运行于 index-tts 环境**,非本仓) | 在 `~/tools/index-tts` 内启动,见 [VOICE-CLONING.md §二](./VOICE-CLONING.md) |
| [scripts/tts_sample.py](./scripts/tts_sample.py) | 单句声音小样试听(直调 IndexTTS 服务合成一句话 + 全风格 A/B,定稿风格前的必经关口) | 无工程薄包装,从仓库根调用:`uv run --no-project --with mutagen media/pipeline/scripts/tts_sample.py --ref <样本.wav> --all-styles --play`,见 [VOICE-CLONING.md §5.1](./VOICE-CLONING.md) |
| [scripts/prepare_ref.py](./scripts/prepare_ref.py) | 参考音色样本裁剪/规范化(长录音 → 5–15s 干净 WAV) | 无工程薄包装(与具体工程无关),从仓库根调用:`uv run --no-project --with soundfile --with numpy media/pipeline/scripts/prepare_ref.py <源音频>` |
| [scripts/prospect_ref.py](./scripts/prospect_ref.py) | 参考样本选段勘探(按 F0/起伏/音节率/谱质心筛「更亮更轻快」的候选起点,喂给 prepare_ref.py) | 无工程薄包装,从仓库根调用:`uv run --no-project --with soundfile --with numpy media/pipeline/scripts/prospect_ref.py <源音频…>`,见 [VOICE-CLONING.md §3.2](./VOICE-CLONING.md) |
| [scripts/qa_frames.py](./scripts/qa_frames.py) | 按句 id 抽帧视觉 QA | `uv run --no-project scripts/qa_frames.py out/draft.mp4 --scene P2` |

中心脚本以 `--project <工程根>` 参数化;工程内 `scripts/*.py` 为薄包装(透传参数、保持原 CLI)。改造/迭代只改 `media/pipeline/scripts/`,验证门 = 受影响工程的 `narration.json` / `manifest.json` 字节级不变。
Expand Down
Loading