Communitygithub.com

卡字

卡字(Kazi)是一种将画面对齐到旁白逐字时间的动画工作流,适用于讲解视频、科普动画和代码动画。先配音,再将稿件对齐到每个字的时间,画面按字落点,最后逐帧检查。

Qu'est-ce que 卡字 ?

Kazi(卡字)是一种专为解说类视频设计的技能,它颠覆了传统的动画制作流程:先有声音,再有画面,画面始终追随声音。其核心思想是“卡字”,即让关键画面动作精准地落在旁白每个字的时间点上,而不是像卡点视频那样卡在鼓点上。该技能支持Remotion等动画框架,通过六个步骤(写稿、配音、对时间、画面、声音、检查和发布)和四个停顿点来实现高度同步的动画。它提供了一套完整的工具链,包括配音生成(目前仅在Apple Silicon Mac上实测)、逐字时间线对齐、动画代码生成、音效混合以及严格的逐帧质量检查(卡字率、黑帧、闪帧等)。用户可以在用户已拥有旁白录音的情况下跳过配音步骤,但它必须完成最终检查。Kazi特别适合制作需要精确口型同步或文字逐字高亮的科普动画、知识类短片、代码动画和旁白式讲解视频。

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syydaniel/kazi/tree/HEAD

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait 卡字 ?

卡点视频卡鼓点,讲解视频卡字。写动画代码的 AI 听不到声音,只能猜这一秒观众该看哪里。 卡字把顺序反过来:先有声音,再有画面,画面始终追随声音。每个字是第几秒念的,先算出来;动作落在哪一帧,从表里查。

这份说明给你(AI)看。每一步的细节在 docs/ 里,用到哪步读哪步,不用一次读完。 下文的 tools/、starter/、docs/ 都在这个 skill 自己的目录里(和本文件同一层),用的时候换成完整路径。

六步,四个停顿

步做什么产出细节
1 写稿照说话写,每句一个关键词,配音版和字幕版分开script.txtdocs/01_写稿.md
⏸ 停一把稿子给用户看,等他点头
2 配音每句生成几遍,另一个 AI 回听打分,留最好的vo/lines/docs/02_配音.md
⏸ 停二让用户试听整条配音
3 对时间对齐模型给每个字标起止时间timeline.jsondocs/03_对时间.md
4 画面画动词;动作落在关键词首字前 3 帧代码 + 渲染docs/04_画面.md
⏸ 停三先做 20 到 30 秒样片给用户看out/sample.mp4
5 声音配乐让位旁白;音效从动画打点里读出来混好的音轨docs/05_声音.md
6 检查和发布逐帧量卡字率、黑帧、闪帧、响度;准备标题封面简介out/final.mp4 和检查报告docs/06_检查和发布.md
⏸ 停四成片和检查报告一起交给用户

用户明确说"不用停、直接做完"时可以跳过停顿,但第 6 步的检查一定要跑,结果要写进最后的回复。 用户已经有录好的旁白,就跳过第 2 步,直接从第 3 步开始(timeline.py --whole)。

开工前

  1. 跑 python tools/doctor.py,看缺什么。配音和对齐目前只在苹果芯片的 Mac 上实测过;别的平台按它给的替代办法走,并告诉用户。
  2. 问清楚(用户没说的才问):讲什么、给谁看、多长、横屏还是竖屏、有没有自己的声音样本(十秒左右的干净录音加逐字稿)。
  3. 建项目目录,结构见下面。所有中间文件都留着,每一版样片单独存,别覆盖。
项目/
  script.txt          稿子(格式见 docs/01)
  vo/                 配音:lines/ 每句一个 wav,takes/ 所有遍
  timeline.json       每句、每个字的起止时间
  film/               画面工程(默认用 starter/ 里的 Remotion 模板)
  audio/              配乐、音效、混音
  out/                样片、成片、检查报告

每一步最要紧的规矩

写稿(为什么都在 docs/01)

  • 照说话写。两个标点之间不超过 22 个字,长短句穿插。耳朵只能听一遍。
  • 每句只标一个关键词:*关键词*。后面的画面就落在这个词上。一条字幕里最多一个关键词。
  • 念法和字幕不一样时写成 {念法=>字幕},比如 {F F M peg=>FFmpeg}。
  • 句子说完整:主语、宾语、量词别省;动词以两个字以上为主,单字和多字交替;关键词不用单字。停顿按意思定,见 docs/01 的停顿表。
  • 容易读错的多音字写稿时就换掉(docs/02 有替代表)。
  • 写完跑 python tools/lint_script.py script.txt,它会查一口气太长、字幕超长、一句多个关键词,还会估算时长。

配音

  • python tools/voice.py script.txt vo --ref 声音样本.wav:每句生成 4 遍,语音识别转回文字和原稿比对,念错的扔掉,留最好的一遍。
  • 多音字、听起来像别的意思,识别结果里会露出来;对不上的句子改写或者改念法,别硬留。
  • 想整体快一点用 tools/tempo.py(变速不变调),别重新生成。
  • python tools/pace.py vo_fast vo_paced:规整停顿。句首句尾的静音、句内标点处的静音都量出来,补短剪长,只动静音不动声音。
  • tools/polyphone.py 挑出可能读错的多音字拼成试听音频;它会误报也会漏,最后靠人听。

对时间

  • python tools/timeline.py script.txt vo_paced timeline.json --wav vo_paced/narration.wav --speech-gap,得到每句和每个字的起止时间,还有关键词列表。--speech-gap 让稿子里的停顿等于听到的空白。
  • 画面里所有和旁白有关的时刻都从这张表里查,不许按字数估。按字数估,十句以后就能差出三秒多。

画面

  • 先定画风。拿不准就去翻代码画风图鉴 https://github.com/syydaniel/awesome-code-animation ,先挑画风,再挑工具。没有特别理由就用 starter/(Remotion)。
  • 画动词,别画名词。"体积变大"要画的是变大这个动作,不是一块冰的插图。常用动词怎么画,见 docs/04 的表。
  • 时间常数(60 帧下):动作到位的那一帧,放在关键词首字开始前 3 帧(hit());允许提前 6 帧到推后 1 帧。新出现的东西,第一帧至少比关键词早 12 帧。
  • 关键词那一下,画面要明显多动一下:比前一秒动得多。整段一直在动、或者一句话只在开头动一次,都卡不上。
  • 一屏新增信息不超过 4 块;旁白已经说了的整句不要再上屏,只放关键词。
  • 找一个贯穿全片的东西(一个小人、一种颜色、一个形状);镜头会推拉、跟着重点走;两个画面之间尽量用画面里的东西接过去。
  • 字幕:每条不超过 16 个字,去掉逗号句号;字按真实念到的时间由浅变深,关键词变色。
  • 每做完一段,渲染一小段,用 tools/kazi_check.py 量一下再往下做。

声音

  • 配乐在旁白下面 12 到 18 LU;按逐字时间做让位:句子开始前 0.2 秒压下去,句间空当超过 1.2 秒才浮上来。
  • 全片停乐 2 到 4 次,留给最重要的几句。
  • 音效从画面的打点(cue)里导出,分四层:落点、过渡、氛围、拟音。声音的质感跟画面走。
  • 成片响度 -14 LUFS,真峰值不超过 -1 dBTP,48 kHz。

检查

  • python tools/kazi_check.py out/final.mp4 --timeline timeline.json:卡字率、随机基线、黑帧、一闪而过的帧、长时间不动、响度、音轨、片长。
  • 不通过就回去改,改完再量。全部通过才叫用户,并把报告里的数字原样告诉用户,没量过的不要说"已完成"。
  • 用户要 4K 或 HDR 时,检查通过以后再出:tools/master.sh 渲 4K 母版,tools/hdr/hdr_encode.sh 出杜比视界 8.4 和 HLG。换了配色要把新的底色、发光色告诉 hdr_mask.py,见 docs/06_检查和发布.md。

工具一览

工具用途
tools/doctor.py查环境,缺什么、怎么装
tools/lint_script.py查稿子
tools/voice.py克隆声音逐句配音,多遍挑一
tools/tempo.py整体变速不变调
tools/pace.py规整停顿:句首句尾和句内标点处的静音
tools/polyphone.py挑出可能读错的多音字,拼成试听音频
tools/timeline.py逐字对齐,生成 timeline.json;--whole 用于一整条现成录音
tools/kazi_check.py量卡字率和各种硬伤
tools/caption_check.py量字幕出现、消失、逐字变亮和配音对不对得上
tools/mix.py旁白、配乐、音效混音,按逐字时间让位,统一响度
tools/thin_cues.py音效打点太多时按优先级筛一遍
tools/master.sh分段渲染 4K 母版,中断可续
tools/hdr/SDR 母版转 HDR:杜比视界 8.4(HLG 基础层)和 HLG
starter/Remotion 模板:time.ts 查时间,anim.ts 曲线和弹簧,字幕组件

交付时告诉用户

  • 成片路径、时长、分辨率。
  • 卡字率、随机基线、高出随机多少;没卡上的关键词是哪几个、为什么。
  • 检查出的问题和处理结果;还没解决的直接说。

Skills associés