Communitygithub.com

卡字 (Kazi)

专为“画面卡在旁白关键词上”而设计的讲解视频、科普动画、代码动画、知识类短片制作流程。先录制配音,再将文字稿逐字对齐时间轴,让画面严格跟随每个字的落点,并逐帧检查同步率。

卡字 (Kazi)란 무엇인가요?

卡字(Kazi)是一个专注于“画面与语音严格同步”的 AI 技能,适用于制作讲解视频、科普动画、代码动画及知识类短片。其核心理念是“先有声音,再有画面”,通过将配音文字逐字对齐到时间轴,确保每一帧的动作都精准落在关键词或音节的起始点上,从而解决传统动画中声音与画面脱节的问题。 该技能支持六步标准化工作流:写稿、配音、时间对齐、画面设计、声音混合、检查发布,并内置了四个可选的暂停点用于人工审核。它特别针对苹果芯片 Mac 进行了优化(配音与对齐模块),同时也提供了跨平台的替代方案。工具链包括稿子检查、声音克隆与评估、逐字时间线生成、逐帧卡字率检测、混音与母版制作等。用户只需提供稿件或录音,AI 即可自动生成高度同步的动画视频,并在最终交付时附上详细的同步率与质量检查报告。

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/syydaniel/kazi/tree/HEAD

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

卡字

卡点视频卡鼓点,讲解视频卡字。写动画代码的 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 曲线和弹簧,字幕组件

交付时告诉用户

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

관련 스킬