
Narration
做一条由旁白带着走的成片(资讯快评、知识讲解、产品介绍、步骤教程),或给已有画面配一段多句的旁白时用:先按实测语速算出稿子该有多少字、按句分行写稿,再选一个全片不变的音色、用同...
Install
npx skills add JimLiu/baocut --skill narration -g -a claude-code -y- Repository
- JimLiu/baocut1.6k
- Category
- Engineering
- Updated
- 3d ago
- License
- See repository
- Context cost
- Lightabout 1,084 tokens
- Runs scripts
- No, instructions only
What it does
做一条由旁白带着走的成片(资讯快评、知识讲解、产品介绍、步骤教程),或给已有画面配一段多句的旁白时用:先按实测语速算出稿子该有多少字、按句分行写稿,再选一个全片不变的音色、用同一套语气说明一次合成,量时长、查接缝、只重配不合格的句子,最后把画面剪到旁白上。不用于把视频配成另一种语言(翻译配音),也不用于只念一句话。
旁白成片
旁白成片里决定一切的是稿子与声音:稿子的长度定了成片的时长,声音的一致定了观众信不信这是一个人在说。顺序:
- 先量语速,再算字数,再写稿(第 1 节)。
- 稿子按句分行,怎么说与说什么分开写(第 2 节)。
- 选一个能锁住音色的声音,一套说明一次合成,记下种子(第 3 节)。
- 量出来、查接缝、只重配不合格的句子;不靠变速凑时长(第 4 节)。
- 画面剪到旁白上(第 5 节)。
- 验收(第 6 节)。
第 3 节「用户自己录」一条受「大师的AI小灶」(@dashiAIxz)分享的剪辑经验启发:合成配音跟本人的语调与情绪差距大时,改用本人录音。
1. 先量语速,再算字数
- 尚无当前配置样音、需要先起草时,用
skills_read读baocut-catalog-voice-language-rates:按目标语言的 Unit 与 Rate 估首稿预算,再用下面的实测修订。表内包含完整语言数据、校准条件与未列语言的兜底;不用为了查表先合成音频。 - 字数不是猜的:先让要用的模型与音色念一小段有代表性的稿子,带同一套语气说明,用结果里的时长算单位/秒。已有同配置、同语言与相近风格的样音时复用,不重复生成。
- 计数方式跟着目标语言走:中文等适合按字计的稿子按字,有明确分词习惯的语言按词;其他语言或混合语言采用一致、可复算的字符或分词方法,用同一方法计样音与全稿,不回退成英文语速。数字、缩写按实际读法计,不计舞台说明与标点。
- 用样音总时长算平均语速时,单位预算 = 可用于旁白的秒数 × 实测单位/秒,停顿已包含,不重复扣除。若按对齐时间单独量发声语速,则 单位预算 =(可用秒数 − 预计停顿秒数)× 发声单位/秒;不能把秒直接从字数里减掉。外部语言速率表只能起稿参考,换模型、语言或表演后重新校准。
- 写超了就在允许改写的范围内压缩,不靠加速。用户要求逐字朗读时保留原稿,说明它与时长预算的冲突,不擅自删句。
- 时长是目标不是配额:稿子念出来 55 秒就交 55 秒,不用填充、循环或变速把它拉到 60。
2. 稿子怎么写
- 一句一行,一句一个意思,句末用句号、问号或叹号收住:合成引擎按这些标点切句与停顿,字幕也按这些断行。不用分号把两句连成一句。
- 数字、年份、缩写写成读法(「二零二六年十月一日」「每秒三十帧」);多音字与专名先看 models_capabilities 里要用的语音模型的
readings(本机模型在local.readings下;在线模型没有这个字段,当unsupported):annotated的认读音标注(<银行|yin2 hang2>,写在 speak 的文本里);unsupported的(本机的 qwen3-tts 就是)没有读音通道,标注会按表面文字念出来,这时改成读法写法(换同音字、拆成读得对的词),不写标注。 - 梗与吐槽放在事实句之后、单独成句,节奏靠句子长短与剪辑切换,不靠让声音念得更快。
- 怎么说与说什么分开:语气说明只写语气、场景、角色(「年轻资讯主播,明快自然,吐槽时带一点笑意」),不写台词;台词里不夹括号注释与舞台说明。模型能响应时可要求「缓慢安抚」「急促兴奋」等表演语速,不能用它承诺精确秒数或挽救超长稿;先定表演,再按第 1 节实测预算。「剪辑节奏快」不自动等于「声音念得快」。
