---
name: laohan-laowai
description: 老外博主数字人全流程总控（含 laohan-yinse）。同一博主优先复用已验声音模型和适用形象素材；首次缺模型才服务器微调。覆盖模型与参考资产保护、整稿合成、same-voice口型、双语字幕及发布复盘。Use when 复刻老外博主、数字人账号、老外数字人、复刻博主做视频、老外IP起号、数字人全流程、新博主资料包、数字人怎么生成。
---

# laohan-laowai — 老外博主复刻数字人全流程

## 使命与合同

**用选定形象、专属音色与教育/文化内容制作数字人口播**。本skill是七阶段总控，本机/服务器CLI自动化，不走网页向导；确需基础素材时才按项目授权调用产品API。首个Deborah/海思博士案例是历史实例，当前形象/稿件/接受状态以各项目STATUS为准；用户当前指令和项目合同优先于本skill。

## 七阶段流程

**先分流再执行**：按稳定的博主/形象身份查项目声音资产登记。同一博主后续视频默认复用同一个已选模型版本；换集数、稿件、服装、场景或参考风格不等于新博主，也不触发重新训练。已有形象素材先核本期适用性，不强制重下载整套训练素材。新博主缺模型才从①/②首建；有备份但运行目录缺失时恢复组装，不重新训练。详细分流与依赖核对见 yinse 第0步。

**每集最短路径**：定稿/违规与事实核对 → 既有模型和参考身份检查 → 新稿整轨WAV及音文/听感检查 → 适用clean形象的same-voice → 一次组装/后期 → 连续有声审片及交付。训练数据清洗、多ASR训练校对、模型A/B/稳定性、参考池建设属于首建或具名变更，不每集重跑；字幕单改不回到训练/口型。具体改动影响、并行准备与复核合批见[按改动执行](references/episode-execution.md)。它是已有入口的操作方法，不是自动路由器或跳门授权。

**有对标或表现力反馈时**：先按[表现力与BGM方法](references/performance-bgm.md)拆出时间点证据，写清本期冲突/转折/情绪，再选同一形象适用素材和既有声音参考。常驻标题、逐句字幕及音乐一起放入一个代表性短样，不新增每环节复审或多版全片。未改风格时复用已定设计；学习对标不等于换人设、复制事实或重训。

### ① 博主选型与资料包

- 选型标准：教育者可信度 > 第一视角口播形态（talking head，非 vlog/skit/旁白）> 数据 > 类型差异
- 下载 5-8 条视频（laohan-xiazai：TikTok 用 yt-dlp 直下）+ info.json 元数据
- **口播形态逐帧验证**（抽帧+视觉模型确认正脸对镜头说话；抽帧落在无字幕间隙≠干净，必须多点验证）
- 选定博主不等于肖像/音色使用权、学历与亲历陈述已核实；不能以“改用虚构姓名”或“尚未商业化”宣称这些问题已解决。按项目合同核身份/来源/使用范围，不冒用真人身份、履历或接受记录。
- 换/加博主同步当前项目的素材追踪清单；素材数量与历史流量只作取样依据，实际可用性需本期核验。

### ② 声音资产（已验模型为前置，默认复用）

**调用 skill `laohan-yinse` 第0步**：先核本博主既有模型版本、权重SHA、底模/配置、参考音频及逐字文本、原验收证据。可用则直达第7步生成本期配音；需恢复则只恢复同一模型。确无已建模型才按8–10分钟净语料→服务器微调→回迁/登记/验收首建。重新训练或切换默认模型须有具名原因与负责人明确决定，新版本另存，不覆盖已选版和回滚资产。

### ③ 形象素材处理

- **分清入口限制**：竖版/短边≥720/时长≥8秒/≤30fps/MP4/<200MB是历史产品资产上传要求，不能当当前same-voice CLI的通用硬门；确需产品上传先读该产品现行合同。same-voice按当前工具核输入与几何，prepare转25fps并保持源画幅；原生清晰度、正脸/嘴部可见、字幕/遮挡与连续画面由本期视觉检查裁决，不靠升采样冒称细节达标。
- **不把产品上传门当same-voice适配验收**：576宽可通过本机prepare不证明TBDub实际效果；720宽也不证明全程无字/无遮挡。连续检查并先做已授权小样，不能拿几张无字截图保证整段干净。
- **字幕必须去除**（会被引擎复制进成片）：博主视频普遍带字幕 → 底部 crop 或换无字幕条；多点抽帧验证（首/中/尾/多段）
- 项目选用顶部常驻标题时，在prepare/口型前确认同一形象素材全段有标题留白，包含头部起伏、举手与平台顶部界面；先按[标题与字幕方法](references/title-subtitle-layout.md)试排。首帧有空位不足以证明整段可用，不等口型算完才发现标题无处放。
- 同时核表情、眼神、手势是否适合本期语义与情绪，避免安慰段持续指责、严肃段不断大笑或醒目的动作循环。same-voice主要改嘴部，不能指望它把任意母版变成本期所需的表演；不合适先在同一形象已授权素材中选，不自动换博主。
- 转码H.264、保存clean素材和剪辑边界/SHA；项目方法入口按项目INDEX读取，不恢复旧`docs/dh-production-guide.md`根路径。

### ④ 形象与声音资产（复用已有素材，不走产品注册）

- **形象素材：已有博主视频直接复用**（prepare 前多点抽帧验证全程同一正脸；开头 B-roll 插入画面必须掐掉——见⑤坑）
- **声音：laohan-yinse 微调模型整稿合成**（见②调用，24kHz PCM16 WAV 由 yinse 第 7 步产出）
- ~~产品 avatar-assets/voice-assets API 注册~~ **已淘汰**（2026-10-28）：那是产品网页向导链（零样本参考录音+29积分/次渲染），与本 skill 的 same-voice 路线互斥，且违反"声音不走零样本"红线。历史踩坑记录（MIME 显式 type / consentVersion=voice-reference-v2 / loudnorm 电平门禁）仅当未来确需产品链时参考。

### ⑤ 同声口型渲染（DH-ROUTE 路线④，2026-10-28 实战验证——唯一正确流程）

**方法真源：`~/Documents/laohanvideo/motion/mastery/DH-ROUTE.md` + `motion/tools/README-same-voice.md`（本节只是入口索引，冲突以真源为准）。**

DH-ROUTE是Jeffrey/Motion项目的方法；本项目借用同声工具、时钟与资源保护，不继承其v3-05、历史首单验收/发布、Motion接入状态或提前候选授权。当前博主用自己的已验模型，本期输入/接受/发布仍看本项目合同与STATUS。以下`motion/...`命令从`~/Documents/laohanvideo`根执行，本项目音频/形象/输出均用真实绝对路径，不在当前内容项目臆造motion目录。

不走的路（都验证过不是正路）：产品 lease/operations 报价链（29积分/次，网页向导已淘汰）、ispeech 图+音频（另一条产品链）、直控生产 worker。

```
① 最终 WAV：音色模型在 pro6000-a 合成整稿（laohan-yinse 流程）→ 24kHz 单声道 PCM16
② 形象素材：已有素材直接复用（无需产品订单）
③ Mac prepare：python3 motion/tools/same-voice-local.py prepare \
     --audio <24k.wav绝对路径> --avatar <形象.mp4绝对路径> --max-input-frames <本期已核上限> --out <全新目录绝对路径>
④ validate manifest → 上传 manifest/inputs/chunks/run-same-voice-remote.py 到
   pro6000-a:/root/autodl-tmp/laohan/motion-same-voice/<小写实验名>/
⑤ 预检（无 --run）→ 真跑：--run（total_timeout 3600s，单块 480s 上限）
⑥ Mac assemble：same-voice-local.py assemble → same-voice-candidate.mp4（原 WAV 主声）
```

**坑（全部实战踩过）**：
- ★形象素材开头可能是插入 B-roll（案例画面）——prepare 前多点抽帧验证全程同一正脸；mediapipe 丢脸 >10 帧直接 RuntimeError（chunk-001 判例：开头 5 秒小女孩 B-roll）
- ★生产活动保护触发即保存STOP现场。仅旧执行者及子进程组退出、检查点SHA/原基线/原范围/原截止均满足时，才按README显式恢复一次；生产基线改变不能用resume重置，更不能换目录无限重试同一失败块。
- 音频必须24k单声道PCM16；分块上限在11—300内按本期几何/算力已核条件选择并记录。180仅是pro6000-a/1080×1920的历史参考，不保证其他几何内存安全；不提高20GiB等冻结阈值、不改已运行manifest绕过恢复约束
- 冻结SHA对象是安全模块`/root/autodl-tmp/laohan/motion-method-v2-20261019/run-isolated-pilot.py`，须等于`469d820e11e5b89820a2c3874c08553ed83dfb8cb18952bbc20dd83b4b471487`。本次上传的`run-same-voice-remote.py`另记实际SHA，不能拿469d当其文件SHA或编造校验参数
- 完成证据：assemble产物全帧数与清单相符，ffmpeg完整解码无错误（ffprobe只核元数据/帧数）；状态为候选待连续复看与Jeffrey接受。

**Motion模板包装、字幕与BGM**按本期已核交付范围执行。只交口型样片时不擅自扩为模板项目；需要完整Motion包装时再加载V4/PIPELINE及其生产门，不能把口型机械通过当模板或全片验收。

### ⑤.4 音频听审卡点（2026-10-28 补录）

⑤ 的 prepare/推理启动前，最终 WAV 必须已过本期整轨音文与听感检查，默认由Jeffrey听审；只有明确委派涵盖该项时才按yinse“验收角色与委派”执行并如实记受托人、实际有声检查及限制。源素材校对或模型选型的委派不自动覆盖新WAV。听感不过→回yinse第7步，不进推理浪费GPU。

DH-ROUTE一B步骤2的“听感默认通过”仅属Motion项目授权，不适用本项目；借用同声工具不转移该授权。

### ⑤.5 成片统一加速（老方法既有项，2026-10-28 补录——别漏）

默认只生成已选速度的一版正式候选；没有选档则保持原速，不自动生成1.05/1.10全片对照。确需倍率按本期确认，先查上游是否已应用speed，记录来源与累计倍率，只在一个明确阶段应用一次。下面仅用于音画已对齐且同起点的输入，不用各自归零掩盖原有偏移；它是派生示例，不是免测的同步保证：
```bash
ffmpeg -n -i <成片>.mp4 -filter_complex "[0:v]settb=AVTB,setpts=(PTS-STARTPTS)/<S>[v];[0:a]asetpts=PTS-STARTPTS,atempo=<S>[a]" -map "[v]" -map "[a]" -fps_mode vfr -enc_time_base:v filter -c:v libx264 -crf 22 -c:a aac -b:a 128k <加速版>.mp4
# S 常用 1.05（微紧凑）/1.10（抖音节奏），音高不变；首期 Jeffrey 选档后每期固定
# 输出帧率策略还须满足本期交付合同；需要CFR时另核帧取整与首尾偏移，不把vfr当平台通用要求
# 单独atempo声音而不调整画面会破坏原唇音时钟，不用来冒充同因子派生
```

加速版是新派生：记录倍率、输入与输出SHA、A/V起点与时长；外置字幕/词锚先按倍率换算，再对派生实际音频复核，不能只凭理论除倍率。已烧录字幕随画面变速，不再重复施加倍率；若实听词锚错位则重制字幕。`atempo`也可能改变局部边界，重跑受影响的听感、首末词、唇音/累计偏移、接缝和机械门，通过后才可复用原推理结果；不过则保留原速或另做有证据的修正，不以同因子免验。原WAV作为来源保留，不宣称加速后音轨与其逐样本一致，不直接沿用旧SRT。

### ⑥ 后期

- 字幕：**中文大在上、英文小在下**（同屏成对；英文口播，中文主读、英文辅读）
- 字幕先看本期实际画面再排：按语义切短句；字体/颜色/底条是本期设计选择，未获接受的样式不得写成通用“美观公式”。只改字幕时，用本期已核无字幕底片本机另存新候选，直接复用原音轨及口型时钟；保留旧片、原音轨、模型与回滚资产，不重复训练/口型、不进入模型清理。
- 有用户视觉参考时，先拆字形/字重、中英字号比例、颜色对比、成组行距、意群切换与画面留白，再放到本期相同画面比较；不照搬参考的低字幕位置、翻译错误或不适合本场景的配色。动态效果须实际看时间序列，抽帧不足时明确未知。安全与可读通过不代表美观已接受，最终看实际样片与用户反馈。
- 主题标题、开场钩子与逐句字幕分轨：形式先读项目方法与本期决定；已选常驻时，顶部短双语主题标题覆盖全片，下方双语字幕跟口播逐句切换，不能拿3秒开场提示代替。项目未指定时按实际内容/留白试排，不替所有账号统一默认。标题概括整条内容，不增加未经核实的身份、履历或事实，不替换原话字幕；无空间先换适用素材或做布局小样，需改变已定形式时留明原因回到本期决定，不自行取消常驻要求。完整步骤、教程及ASS样例见[标题与字幕方法](references/title-subtitle-layout.md)。
- **抖音遮挡检查**：整块字幕须避开底部标题/文案/账号/导航与右侧互动栏，并避开人物嘴部；按字形、描边、阴影及底条/背景框（如有）的完整视觉边界检查。同屏中英之间也检查实际字形间距，只测合并外框不能证明内部不叠字。分别实看中文/英文最长实际条目、各自多行条（如有）及不同背景，不能只核MarginV或首帧；没有多行记不适用，不为检查强造两行，三行过密/相撞/超界时先重分句再测。优先核当前平台/剪辑器的实际预览；只能用自定遮挡模拟时，标明模拟尺寸与假设，不能把经验像素说成官方通用安全区或保证所有机型不挡。字幕样片仍交Jeffrey接受。
- BGM按[表现力与BGM方法](references/performance-bgm.md)执行：先选情绪与可用来源，口型完成后再混入；口型输入始终是本期已验干声WAV。同一区间/相同声道分别测人声、音乐及duck后音乐，按本期目标校准增益，再核混音整体响度/真峰值；不把10%/15%示例照抄后继续重压，也不把总响度合格当听感通过。音乐须有可听存在感，重音/尾字不能被盖；用户反馈“听不见”即该试听REVISE，检查压低/回升和首尾衔接。只改音乐或非时序电平处理不重训/重算口型；改人声内容或时序则按影响表重做。违规检测仍绑定当前稿与当前版本，不复用其他批次CLEAR。
- AI平台声明与片内水印分别按当前项目合同、Jeffrey最新明确指令核对。**本项目明确禁止任何片内AI标识**时，字幕/标题模板不得自带AI文字或角标；核原片、raw与最终交付的全画面和四边，不仅看字幕区。发布声明不等于允许往画面烧标，也不因处理片内画面而自动改平台开关。不能凭历史判例断言所有same-voice产物都有引擎水印或套固定delogo坐标，先核本期真实文件；包装/字幕仅在本期要求范围内执行。

### ⑦ 发布与复盘

- 抖音账号注册、养号与发布时间由Jeffrey主导；不把“养号2–3天”当平台硬规定或流量保证。账号装修按本期已确认人设，不自动搬用旧专家履历。
- **成品交付规范（2026-10-29 Jeffrey 定，EP01 起固定）**：每期成品=桌面一个文件夹（`EPxx-多平台发布包/`），内含：成片视频副本 + 三平台发布文案（抖音/视频号/小红书**各自差异化**的标题、介绍、标签）+ 说明txt（视频路径/SHA）。Jeffrey 用完即删整个文件夹，不影响项目原件；项目内同 SHA 留档。过程文件不散放桌面。
- **发布文案规范（2026-10-29 Jeffrey 定）**：标题≤20字；抖音标签≤5个；**不带 `#AI新星计划`**（那是老韩AI主号的标签，本系列账号不带）；视频号/小红书标题与介绍按平台调性差异化（视频号平实家庭向、小红书第一人称+emoji+分点+文末多tag）；用 CC BY BGM 时文案末尾带署名行。
- **双引擎文案**：先独立写三平台版，再把同份提示词经 huashu-chrome 发到 Gemini「老外文案」既有会话，保留双方原稿、逐项取舍和融合确稿，最后对当前确稿做违规扫描。Gemini 稿是必需输入，不能以旧回复、自稿或发送动作代替。
- **Gemini 真实完成判据**：先核当前会话、准确草稿和既有消息，发送后必须取得本次新回复完整正文并留档；看到新用户气泡、草稿清空和“正在输入”只算在途。若随后气泡消失、草稿恢复或报错，记失败；HTTP200/“已点击”都不算完成。已在生成时不重复发送。huashu 动作无效时，现有会话与同份文本授权内可用宿主原生输入；仍失败则留 PENDING 并请用户处理实际卡点，不臆称已恢复，不扩大外发对象/内容。
- 网页提交退回草稿而用户指定本地客户端时，按[Gemini客户端实证方法](references/gemini-client.md)操作：完整草稿上再核指定模型/最高档，取得本期完整回复与SHA，不沿用“填稿前已选高”或浏览器剪贴板接口的空结果。
- 数据：opencli douyin stats/videos 拉取；10 条内决策点（引流款 vs 人设款占比调整）
- 发布前单独核：目标账号身份/登录态就绪、当前项目片内AI标识的允许/禁止要求与平台声明分别已核、当前候选的发布批准明确。只记账号标识/就绪结论，不归档凭据；缺项只阻发布，不把内容接受冒作发布许可，也不阻无关素材准备

## 完成证据（四道质量门，源自 Jeffrey 声音方法 v2.2，缺一不可）

① **听感门**：本期最终WAV绑定SHA并完成上述真实整轨音文/听感检查，之后才做口型；② **唇音同步门**：连续播放复看口型、节奏与接缝，可同一次成片有声审片核字幕/标题；③ **机械门**：帧数/时钟一致、ffmpeg完整解码无错误、响度实测，ffprobe只负责元数据；④ **成片接受门**：Jeffrey看片明确接受。候选可在技术检查后交看片，发布批准另按项目合同处理，不把机械绿、候选交付或片子接受冒作已发布。

## 声音绑定与登记纪律（DH-ROUTE §五，2026-10-28 补录）

- 每期声音记录绑定完整 WAV 的路径/SHA/采样数/实测时长/听感接受记录；ASR、字幕、口型、后续混音**共用本期绑定**，新稿必有新 WAV
- **候选 ≠ 验收**：听审PENDING只能登记声音试听/文档候选，不放行本项目prepare或口型推理；最终整轨听审与本期SHA绑定后才交口型，接受后记录真实结论，不挪用参考项目的历史提前候选授权

## 故障诊断顺序（源自声音方法 §4，补录）

- 口型跟不上/错位 → **先查声音来源与时钟再重合成**：①核成片人声来源=本次干声WAV及混音/变速登记（混音AAC不要求与WAV逐样本一致）②查时间轴PTS偏移、首末词与接缝③确属语速问题才回重合成（换沉稳参考+重过听感门）
- 音色不像 → 核风格路由 → 换相邻风格对比 → 仍不像报 Jeffrey（触发重训评估）
- GPU准入/止损（与生产共卡）：合成前显存>10G；卡>5分钟或生产桥报错→按yinse任务启动收据重新核PID/PGID、命令与cwd，只停已核本任务独立组并确认退出。无法核归属则保留现场报告；不按进程名批量杀、不动生产bridge/服务、不盲重试
- **凭据零入档**：lease/token 只存在于运行时内存与既定凭证文件，不写进 skill/项目档案/git

## 反触发（不用本 skill 的场景）

- 真人实拍/老韩本人出镜项目（走 laohanvideo 真人路线）
- 只做选题/文案/装修（单一环节走对应 skill：chuangzuo/weigui 等；本 skill 是复刻数字人全流程总控）
- 声音模型单环节细节（进入 laohan-yinse，本 skill 只在②处调用它）

## 失败路径

- 声音模型未建成 → 全流程停在②，不跳过训练直接渲染（零样本已被禁用）
- 形象素材字幕去不净/硬门槛不达 → 换素材条或重新选型，不降门槛上传
- 渲染链失败 → 按DH-ROUTE/README保留失败现场、原预算和检查点，执行其有限恢复条件；不得新增“再试三次”、换目录清零失败次数或退回网页/产品链绕路。
- 验收不过按原因回退：画质/遮挡等视觉问题回本期素材候选；音色/自然度回yinse核数据、模型和参考；口型问题先核音轨身份、PTS和接缝再决定重算。保留原STOP/预算/检查点，不一律换人、不硬发

## 关键红线

1. 正式声音必须本博主服务器微调；基模仅作同条件A/B基线，不进正式WAV/口型交付，不据此调用产品零样本绕路
2. 当前同声路线用本机/服务器CLI，不退回网页向导；基础素材API须另按项目现有授权
3. 不冒充真实存在的人（虚构人设身份）
4. pro6000-a 是生产算力机：训练限 cosyvoice-train 目录，不碰生产进程
5. 当前用户与项目合同优先；历史案例不授权更改平台声明、片内标识或覆盖安全/验收要求

## 素材资产清单（每个博主资料包标准结构）

```
assets/
  persona-candidates/  原始视频（形象候选）
  upload/              形象上传母版（无字幕/达标）
  voice-training/      声音素材（逐条 WAV + 拼接主素材）
  voice-models/        长期声音资产：已选权重、回滚版、参考音频/文本、配置与voice-asset.json
  benchmark/           对标视频库+转录
docs/
  INDEX.md            按当前项目索引进入人设、脚本、运营；不假定旧根路径仍有效
```

## 清理临时产物，保护长期声音资产

- 本地与服务器一体核对，先读项目存储规则和本博主 `voice-asset.json`。**模型是跨期资产，不是本期垃圾**：已选权重、明确保留的回滚版、参考池WAV/逐字文本、配置/底模版本依赖、合成入口与验收/来源/SHA登记均长期保留。存于 `data/`、`exp/`、`model-*` 或任务runtime内也不改变其保护身份；未完成验收的候选按待裁决状态保留，不因“尚未接受”就删。
- 后续仍用的服务器推理目录继续保留复用，不执行“回迁完即删服务器副本”。确要撤下该副本，须先核本地完整归档及SHA、在目标环境恢复加载与短句合成通过、默认模型路径已切换且原路径不再被脚本/登记/在途任务使用；只有文件存在或复制成功不满足条件。最后可用副本、参考对或必要配置不得进入过程清理。
- 仅对已终结且无消费者的本任务临时包、可重建特征、已不再消费的口型缓存、冗余检查点等逐项计划清理。禁止按通配符或整目录清 `data-*`/`model-*`/`exp/`/runtime；父目录内有保护资产或依赖即排除，内部链接也先核恢复用途。按项目既有 guard 的 plan→复核→apply 与逐项回执执行，不用裸 `rm` 绕门。
- `voice-asset.json` 是执行者必须读取的资产登记，不冒称现有 guard 已自动解析它；自动清单范围内的保护项须另登记为非 temporary/checkpoint 的保护类型并保留消费者，范围外资产不得为纳入清单而扩大删除根。无法核完整依赖或安全归属时停止该项清理，不以重训兜底。
- PAUSE 等协调文件只有本任务拥有且已无协调用途才释放；不动其他工作线、共享底模/环境、生产服务或他人资产。正式弃用模型另按明确授权处理，不随每期收尾删除。

## 服务器协作判例（2026-10-28 实战，pro6000-a）

- **网络/worker故障**须由具名生产维护任务处置；内容制作不得据历史判例重启worker或结束其它工作线进程。只读核实并让路，只能回收本任务已核身份的离线进程组。
- **resume基线变化**是保护条件，不能当成“脏了就换目录绕过”。保留原STOP/基线/次数；生产空闲且旧执行者已退后，确需继续时由root按README显式登记尚未计算范围的新有限阶段，不伪造旧阶段成功。
- `--expected-checkpoint-sha256`是batch-state.json文件本身SHA；内存增量或生产活动保护触发时不提高阈值、不盲重试、不清全局缓存。
- 该SHA在服务器只读运行`sha256sum <本次实验绝对目录>/outputs/batch-state.json`取得；不是模型权重的checkpoint SHA，也不是manifest SHA。保留原STOP文件不改字节，runner会再次核同一文件与真实成功回执
- **分块断点**：从真实batch-state读成功范围。仅已成功0—16块、未算第17块时，零基左闭右开`--start-chunk 17 --end-chunk 18`才表示18块中的最后一块；它不另授恢复/续时权限。按README核原预算/范围/恢复或显式新有限阶段条件；assemble用`--additional-outputs`合并，消费旧STOP的成功前缀还必须显式`--include-verified-stopped-prefix`，逐块核成功退出回执/SHA/几何/帧数，失败块不接纳

## kb78769 全链实战判例（2026-10-29 首期出片）

> 本次环境的排障记录，不是跨输入/机器的最优参数或耗时保证。同一博主下期优先复用已建资产，不重跑首建流程；不得承诺素材30分钟、训练70分钟、字幕20分钟或口型必定一次成功。

### 素材判定（Qwen听感不可信，用信号法）
- **Qwen2.5-Omni-3B 的 music/reverb 判断不可用**（校准集实测：加明显合成音乐报"no music"、自然声全报 echo uncertain）——语言模型听感≠声学仪器，只当第三路 ASR 参考
- **停顿RMS只作筛查线索**：源级停顿残留、最深停顿dBFS、响停顿数量帮助定位疑段；本次阈值不能证明全段无BGM，音乐可能只在语音期间出现，残留无节拍也不能判定必是词隙尾音。结合实际有声检查与已校准能力逐段裁决；不确定则保留PENDING/弃段，不以信号阈值或ASR多数票冒作声学接受。
- 转写终稿=Whisper基准+双ASR词级diff+语境裁决（SenseVoice 分词伪影 navaro/fuckinguck 系统性不采；W 把 spaces 听成 's faces 这类靠 S+Q 2:1 纠）
- 孤立环境声(0.3-0.4s)直接弃段不微裁——总量够时弃用优于精修

### 训练（pro6000-a）
- 入口必须 `launch_voice.py pipeline --run --timeout 3600`（直接 pipeline --run 会被 STOP）；远端 python 用绝对路径 `/root/autodl-tmp/cosyvoice-train/venv/bin/python`（非交互 PATH 无 python3）
- **首次组装须区分训练checkpoint与推理权重**：训练件含 epoch/step 时另存剥离副本，并登记两份SHA；不原地覆盖训练原件。已有可用推理包直接复用，不为每期重复剥离/新建模型。
- 训练retention必须核实际部署链`single_worker→train_with_retention→train.py`，源码有实现不代表远端已接。本期首跑旧链未接中间层；不把本机修复候选写成远端成功执行。
- 耗时纠正：本期60段555s/14epoch成功流水收据为334.84秒（含特征等准备），日志Epoch0训练到Epoch13验证约284.44秒；先前“约70分钟”不是该成功训练的实测，应撤回。排障/等待另计，不能据单次结果固定下次预算。
- 同任务避免重复训练：先核其他工作线的实际任务与资源归属。campplus speaker embedding相似度仅作A/B辅助比较，不替代Jeffrey盲听、本期整轨听审和成片接受，也不因相似度高自动批准模型或新WAV。

### 口型（same-voice）
- 本次180帧分块触发RAM门，120帧配置完成23块；仅作本期输入/负载的参考，下期重新核几何与资源，不能保证一次跑通。
- 本次曾处理 sample.pkl/file cache；这些是处置记录，不是通用清理授权。缓存仅在任务终结、无恢复/组装消费者且有释放证据时按项处理；共享生产机不自动制造大内存压力或清全局缓存绕过RAM门。
- 同一范围仅按README恢复一次且不延长原截止；再次失败不能靠新目录重试同一失败块。真实生产基线改变时，只有旧执行者退出、生产空闲、root显式登记尚未计算的独立有限阶段等README条件全部满足才可新建阶段；保留原STOP与次数，assemble仅接纳真实成功块。
- assemble 前上传三件套别漏：manifest.json + inputs/voiceover.wav + chunks/（scp 多文件+tail 截断会漏看错误，传完 find 数文件数）

### 字幕与成片（Mac 本地）
- 本次本机ffmpeg 9和远端现有ffmpeg缺libass；已用本机ffmpeg@7完整路径渲染。下次先核现有`-filters`里的ass/subtitles，不每集安装或把本机结果推广成所有ffmpeg 9均不支持。
- zsh 坑：滤镜参数含 `=` 用引号包整串（`-vf 'subtitles=/path'`）；`-vsync` 已废弃改 `-fps_mode vfr`
- **字幕时间轴用全局词流对齐**：whisper word_timestamps 词流 × 文案句表（逐句中英对照）做 SequenceMatcher 全局对齐——单锚点 fallback 会连锁错位（thirteen 被识成 13 就脱轨出 7 秒 gap）
- 首期黄字黑底v2仍被Jeffrey否决且字幕偏低；该样式不是已接受模板。后续按⑥的短句/实际字形边界/抖音遮挡检查试排，不固定套用该配色与MarginV；若长句溢为三行或中英相撞，须重新分句与复核时轴，不能仅缩字塞满底部。
- 加速是 `setpts=PTS/SP`（`SP*PTS`是减速反方向）；Jeffrey 本期定**原速**为标准，加速档出对比不默认
- AI 视觉质检会误读形近字（十岁→七岁），对照原文复核再信

### 交付
- 用户明确要求飞书交付时才调用既有入口：`node ~/.local/share/github-digest/push-feishu.mjs "文本" 附件.mp4`（单附件）；默认只发指定正式候选，不自动多版本或抖音发布。
- 先核当期附件大小与入口限制：[机器人文件上传](https://open.feishu.cn/document/server-docs/im-v1/file/create)当前上限30MB。超过时可在已登录飞书客户端的同一获准收件会话按本地文件/原文件发送，保留正式片画质；不能为套接口限制把压缩版冒作原文件。客户端不可用则明确交付阻塞，不擅自扩大收件人或公开文件。
- 既有脚本附件失败仍可能exit0，须核实际附件成功，不能只看卡片或总退出码。客户端附件可能嵌在`post.files`，不能只筛`file`消息；绑定本期文件名/大小，能回下载时核SHA。状态不明先核消息，避免重复发送；发送成功不代签手机打开或听感接受。
- 每期结束后按「清理临时产物，保护长期声音资产」节逐项处理本地/远端临时产物；先保护模型与参考依赖，输出仍有验收/恢复用途时保留。

### 成片AI标识：按真实文件定位（EP01纠正）
- EP01已核raw（SHA以7315807开头）与v4.1（64b2628开头），本地`ep01-subtitles-v4.1.ass`含AI样式及覆盖0–84.12秒的“AI生成”事件；字幕链会打标，不能写成“本机不打标”。本次直接从raw删去该AI样式/事件重烧，标题/对白事件和音轨不变。
- 旧“双处引擎常驻水印/服务端无法关标”断言不能从该raw的实际条带与渲染记录得到支持，不能泛化为引擎必然行为或固定后期工序。其它输入是否自带标识必须另核来源、文件身份和真实画面，不以OCR、灰度std或模型一句话作确定归因。
- 检查范围覆盖首/中/尾、四角与上下左右条带，并保留带AI角标的旧帧作检测正对照；OCR/抽帧仅作定位，不能证明任意隐藏标记不存在。保留本期真实检查范围，不把抽帧说成逐帧人眼验收。
- 优先从已核无标raw与不含AI轨的ASS重出，避免对干净区域盲套delogo造成画面损伤。若本期raw确有标识，则按实际证据与已授权范围另处理并复核，不照搬另一片的坐标。只改后期不重训、不重新算口型，不删声音模型/参考。

### EP02 制作提速判例（2026-10-29，同条件下期目标 35-40 分钟）
- **★回迁一律远端 assemble（最大坑 25 分钟的解法）**：GPU 块产物单块 300-400MB 共约 5GB，scp 回 Mac 单线程约 1MB/s 要 80 分钟、4 路并发仍 25+ 分钟。正确做法：`scp motion/tools/same-voice-local.py 到服务器 → 远端 venv python 跑 assemble（纯 ffmpeg 拼接无 GPU 依赖）→ 只回传 116MB 成品目录`，全程约 4 分钟。本机已传的部分块可中途弃用不清理服务器（服务器 outputs 按清理纪律另收）
- scp 花括号多源（`host:path/{a,b,c}`）经命令 substitution 组装会静默失败且 `2>/dev/null` 吞错——多源传输用 `xargs -P 4 -I{} scp host:path/{} dest/` 显式路径；rsync 多 source 加尾斜杠在部分版本直接打 usage，别依赖
- **渲染一次链**：`-vf "delogo=右上,delogo=底部,ass=字幕.ass"` 一次重编码（crf17），不再分"烧字幕+delogo"两代；delogo 必须在 ass 前（水印清除在原帧域，字幕最后叠）
- **字幕与 GPU 并行**：词锚（合成后 ASR 的 words.json）+对照表生成 cue 与 GPU 推理同时进行，GPU 完成时字幕已就绪；cue 生成时直接防重叠（句 start=上句 end），不要事后修
- GPU 推理节奏参考：约 75s/块（16 块 89.96s 成片用 20.5 分钟）；块完成数用 `outputs/ | grep -c chunk.*attempt` 监控
- 丢句/SHA 联动/合成入口判例见 laohan-yinse 整稿合成执行判例节（2026-10-29 同日沉淀）

### EP02 重制判例（2026-10-30 Jeffrey 驳回 EP02 成片，三项执行缺陷）
- **字幕出屏根因**：cue 生成后用"事后修重叠"脚本只推 ZH 层没推 EN 层→中英时间错位；长中文句（>14字）靠折行未预拆→多行+叠显溢出屏幕。**规矩：cue 生成时直接保证**（ZH/EN 同窗同起止、句 start≥上句 end、长中文句预拆成多条 cue），禁止生成后再跑修补脚本
- **EP01 质检链是每期必跑全套，不是可选**：glyph-bounds 逐条字形边界（每条字幕实际渲染边界在屏内）、negative-internal-overlap（同屏多块字幕不相撞）、最长条/多行条专项、中英实际间距。EP02 跳链→出屏才被 Jeffrey 发现。质检链命令与参数见 EP01 handoff（glyph-bounds.json/negative-internal-overlap.json 生成方式）
- **常驻标题规定执行失败**：production-guide 2026-10-29 已定"EP02 起顶部双语主题标题常驻全片、不悄悄改回3秒"——EP02 仍照抄 EP01 的 3 秒退场式。**规矩：字幕/标题制作开工前必读项目 production-guide 的常驻标题与字幕节**，不从记忆或上一期样式复制
- **制作卡硬门禁（字幕/标题）**：①读 production-guide 标题节 ②cue 生成（同步窗口+预拆长句）③EP01 质检链全套 ④含字幕区+四角的五点目视 ⑤发布包前帧差异门禁。缺任一不交付
- **2026-10-30 字号与断句纠正**：成长系列720×1280默认中文对白52、中文标题72，英文对白29、英文标题34（ASS/libass，非剪映字号；1080×1920按1.5倍等比）。实际字形、描边/阴影、手机尺寸预览和最长句复核仍必做，不靠字号数字冒通过；不合适先按意群重拆，不缩字塞长句。生成前处理中文>14字、句末孤立“的/房租”等碎片及中英语义对应，同窗生成，禁止事后单推某语言。详见[字号与断句方法](references/title-subtitle-layout.md#成长系列固定起点2026-10-30)。
