系統定位
andyhuo520/digital-human-koubo 由 Berryxia(andyhuo520)以 MIT 授權開源,提供 Claude Code 數位人口播與剪輯技能,可將單句主題、長文稿或既有音訊轉為含字幕、配樂與封面的完整影片。儲存庫內含 2 個技能:skills/digital-human-koubo 負責數位人畫面生成與 Remotion 4 剪輯;skills/finance-explainer 則提供純白板動效與圖表的財經科普長片管線(若選用「風格 A」且需保留數位人圓框,仍由主技能呼叫 templates/lin-169 執行)。
工作流涵蓋階段 0 至階段 9 共 10 個標準步驟:階段 0 執行本機環境與 Renoise MCP 帳務自檢;階段 1 診斷文稿並從 5 套模板推薦 2 套;階段 2 產出分段口播腳本 script.json;階段 3 精算積分並於使用者確認後分批生成;階段 4 以 6 段 HTTP Range 併發下載,配合 whisper-cli 逐段回聽與抽 4 幀驗收;階段 5 透過 1/3 倍頻程頻譜匹配統一多段語音;階段 6 建立逐字時間軸 tl.json;階段 7 套用 Remotion 4 模板與 48 個包裝組件;階段 8 輸出影片並校正響度;階段 9 產生 16:9、9:16 與 3:4 三比例封面並壓入前 0.5 秒首幀。
| 風格代號 | 畫幅與建議時長 | 模板路徑 | 視覺特徵與排程配置 |
|---|---|---|---|
| 風格 A(財經科普動效) | 16:9、3–20 分鐘 | templates/lin-169 | 深藍網格底、手繪白板圖表、黃底黑字重點卡與底部圓角主播框;內建 13 種場景類型,由 plan.json 經 lin_scenes.py 轉為 scenes.json |
| 風格 B(花字口播) | 9:16、30–120 秒 | templates/huazi-916 | 數位人全螢幕畫面搭配彈出式花字、畫中畫螢幕錄影與雙語字幕;於 src/edit.json 設定 intensity(restrained、standard、lively 三檔) |
| 風格 C(產品發布片) | 16:9、30–90 秒 | templates/reference/launch-169 | 暗色背景、撞色字卡、3D 傾斜產品視窗與主播圓角切入,適合新功能或產品上線展示 |
| 風格 D(實操教程) | 16:9、3–8 分鐘 | templates/reference/tutorial-169 | 左側步驟清單常駐、畫面推近聚焦目標按鈕、頂部章節進度條與右下角主播小窗 |
| 風格 E(多主播新聞混剪) | 16:9、3–7 分鐘 | templates/reference/multihost-169 | 真人與多角色數位人(如 persona.json 內建的橘貓店長、柴犬新聞主播)輪流出鏡,搭配雙層名牌與語錄氣泡 |
前置與生成層(階段 0 至階段 4)
- doctor.sh 與 Renoise get_account 自檢
- brief.json 風格診斷與 script.json 腳本
- build_tasks.py 報價、rangedl.py 下載與 whisper-cli 4 幀驗收
聲學與時間軸層(階段 5 至階段 6)
- voicefx/unify.py 1/3 倍頻程頻譜匹配
- 齒音差由 13.2 dB 壓縮至 5.9 dB
- align.py 依標點切句並產出逐字 tl.json
剪輯與交付層(階段 7 至階段 9)
- 5 套 Remotion 4 模板與 48 個包裝組件
- check_edit.py 時間引用驗證與 -14/-16 LUFS 算繪
- make_cover.py 三比例封面與 cover_first.py 0.5 秒首幀
階段 0 至階段 4 透過 Renoise MCP 生成數位人片段;階段 5 至階段 9 完全在本機執行,支援以既有影片免費試玩剪輯與包裝。
README.md、skills/digital-human-koubo/SKILL.md 前言與 references/packaging.md 皆標示包裝組件庫為 48 個,而 SKILL.md 內文第 105 行與第 123 行保留加入 TextBehind 景深字前的舊版「47 個包裝組件」與「47 格總覽」字樣;實際檢查 templates/packaging/src/kit/registry.tsx 的 PACK 物件共匯出 49 個鍵名,其中 Highlight 為文字行內螢光筆包裝器(單獨作為圖層呼叫時回傳 null),可獨立掛載於 pack 陣列的組件確為 48 個。
安裝與驗證
- 未完成:
本機需安裝
ffmpeg、Node.js 18 以上版本,以及 Python 3(含numpy、Pillow、playwright與 Chromium)。 - 未完成:
逐段回聽與逐字時間戳對齊需安裝
whisper-cli(whisper.cpp)並下載ggml-medium-q5_0.bin模型檔至~/models/或~/.cache/whisper/。 - 未完成:
生成全新數位人畫面或定妝照需註冊 Renoise 帳號並配置 MCP 伺服器;若僅使用既有影片測試階段 5 至階段 9 剪輯流程,則消耗 0 積分。
- 未完成:
使用
TextBehind景深字組件需在 macOS 環境執行,以編譯scripts/personmask.swift呼叫系統內建的 Apple Vision 人像分割框架。
本報告僅查閱原始碼、腳本與文件,未在本機呼叫 Renoise MCP 產生付費任務或執行 Remotion 影片算繪。
路徑一:掛載 Claude Code 技能並連結 Renoise MCP
git clone https://github.com/andyhuo520/digital-human-koubo.git
cd digital-human-koubo
mkdir -p ~/.claude/skills
ln -s "$(pwd)/skills/digital-human-koubo" ~/.claude/skills/digital-human-koubo
ln -s "$(pwd)/skills/finance-explainer" ~/.claude/skills/finance-explainer
claude mcp add renoise -- npx -y @renoise-ai/mcp-server路徑二:執行 doctor.sh 檢查並補齊本機工具鏈
scripts/doctor.sh 為唯讀檢查腳本,僅檢查環境並依作業系統列出安裝指令,不會自動寫入系統:
bash skills/digital-human-koubo/scripts/doctor.sh若 doctor.sh 回傳退出碼 1,可在 macOS 依序安裝缺少的本機依賴與 ggml-medium-q5_0.bin 模型:
brew install ffmpeg node whisper-cpp
python3 -m pip install numpy pillow playwright
python3 -m playwright install chromium
mkdir -p ~/models
curl -L -o ~/models/ggml-medium-q5_0.bin https://huggingface.co/ggerganov/whisper.cpp/resolve/main/ggml-medium-q5_0.bin核心能力
階段 3 任務建構與報價
python3 scripts/build_tasks.py
組裝提示詞並精算 Renoise 積分
讀取 persona.json 與 script.json 產出 renoise_tasks.json;Grok Video 1.5 的 720p 為 17 積分/秒、480p 為 10 積分/秒,單段上限 15 秒。
階段 4 併發下載與雙重驗收
rangedl.py / assemble.py / patch_words.py
6 段 Range 下載、whisper 回聽與 4 幀抽檢
迴避單連線約 300 KB/s 限速;抽取 0.5s、35%、70% 與末-0.3s 合成 review_grid.jpg,錯讀字可用 patch_words.py 局部替換 1 至 2 秒音軌。
階段 5 跨段語音統一
python3 scripts/voicefx/unify.py
消除多段獨立生成的音色與空間落差
執行 120 Hz 至 10 kHz 的 1/3 倍頻程頻譜匹配(最大 ±6 dB)、4.5 至 9 kHz 動態去齒音與早期反射,將齒音差由 13.2 dB 壓至 5.9 dB。
階段 6 逐字時間戳對齊
python3 scripts/align.py
產出誤差小於 50 ms 的逐字時間軸
呼叫 whisper-cli -ml 1 取得每個字的起訖秒數,並強制按照 script.json 原稿標點切句,輸出供 Remotion 讀取的 tl.json。
階段 7 跨模板包裝組件庫
PackLayer (templates/packaging/src/kit/registry.tsx)
以 "段:詞" 時間錨點掛載 48 個動態組件
涵蓋開場鉤子 8 個、證據數據 15 個、標註人物 8 個與節奏互動 17 個組件;未填 until 時預設停留 at + dur + 3.5 秒。
階段 9 三比例封面與首幀壓製
make_cover.py / cover_first.py
輸出 16:9、9:16、3:4 封面並嵌入首幀
以 Playwright 算繪 HTML 封面並依 face_center.swift 對齊人臉,再由 cover_first.py 將封面壓成 0.5 秒影片接在成片開頭。
references/packaging.md 與 templates/packaging/src/kit/registry.tsx 收錄的 48 個組件分為 4 大類別:
| 組件分類 | 數量 | 代表組件與功能 | 時間與位置規則 |
|---|---|---|---|
| 開場與鉤子 | 8 | TeaserColdOpen(閃切 3 至 5 個高光瞬間)、ColdOpenFreeze、SearchTyping(1.6 倍推近)、NumberSpike、SlamText、WordStack、TornStrip、TextBehind(人物身後景深大字) | TextBehind 需搭配 cutout_video.py 產出透明 WebM,橫螢幕預設 y=0.36、豎螢幕 y=0.28 |
| 證據與數據 | 15 | EvidenceCard、DocFocus(非目標句壓暗 35%)、SourceDoc、ZoomFocus、Counter、Odometer、GlassPanel、SpecCard、LineDraw、BarCompare、ReviewCards、ArchiveCards、MapRoute、CompareWipe、PaperCollage | 全螢幕類組件會蓋住主播畫面但保留口播音軌,可用於遮蓋口型瑕疵段落 |
| 標註與人物 | 8 | HandDraw、CalloutPill、LeaderLabel、TypedNameTag、LowerThird、NamePlate、SourceTag、FreezeFrame | 另含第 49 個匯出鍵 Highlight 供文字行內螢光筆包裝使用 |
| 節奏、互動與結構 | 17 | PunchInHost(同段硬切 1.0/1.3 或 1.0/1.18/1.32 景別)、KeywordStack、RetentionCaption、TiltLine(-12 度金句)、Aside、Danmaku、ReactionPop(內建 59 個 Noto 動態表情)、MemeWindow、PollPop、GlitchInterstitial、HostFloaters、ProgressChapters、ProgressTracker、ChapterCard、RecapBoard、Countdown、GhostWord | 9:16 豎螢幕未填座標時自動套用 VERT 預設座標(1080×1920) |
操作原則
先試生第 1 段確認後再每批 10 條送出
階段 3 經 estimate_cost 報價並取得使用者明確回覆 yes 後,必須先單獨生成第 1 段並完成抽幀回聽;確認構圖、語氣與口型無誤後,才將剩餘段落以每批最多 10 條呼叫 create_tasks,避免提示詞偏差耗盡積分。
依 shot 欄位區分 720p 與 480p 節省 41% 積分
中文語速預設約 5.4 字/秒,單段須控制在 65 個中文字或 32 個英文詞以內(預留 0.6 秒收尾)。全螢幕出鏡(full、vlog、depth)設為 720p(17 積分/秒),後期縮入角落或被全螢幕圖表覆蓋的段落(pip)設為 480p(10 積分/秒)。
景深字段落必須使用橫螢幕或中景構圖
TextBehind 需要人物頭頂與兩側留有背景(script.json 設為 shot=depth)。實測橫螢幕中景(人物佔畫面約 28%)效果最佳;豎螢幕自拍特寫(人物佔畫面 89%)會完全擋住文字,cutout_video.py 在人像佔比超過 60% 時會發出提醒。
自有聲音克隆需搭配 Wan 3.0 參考模式對口型
Grok Video 僅接受圖片與文字提示詞,無法輸入外部音訊。若以小米 MiMo(mimo-v2.5-tts-voiceclone,12 至 20 秒乾聲)克隆本人聲音,全螢幕出鏡段需改用 Wan 3.0 參考模式(參考圖加參考音訊,480p 約 6 積分/秒)驅動口型。
若需製作外語口播,persona.json 記錄 2026 年 10 月實測的 whisper 回聽準確率:英語 100%、日語 100%、法語 100%、西班牙語 100%、阿拉伯語 99%、韓語 94%。撰寫 script.json 時應先將台詞完整翻譯為目標外語再填入提示詞,避免由生成模型即時口譯。
操作範例
以下依 skills/digital-human-koubo/SKILL.md 建立工作目錄 projects/demo/,執行風格 B(huazi-916)從任務建構、下載驗收、語音統一、逐字對齊到 Remotion 算繪與首幀封面的完整流程。
1. 建構任務、下載片段與雙重驗收
mkdir -p projects/demo/raw
python3 skills/digital-human-koubo/scripts/build_tasks.py \
skills/digital-human-koubo/persona.json \
projects/demo/script.json \
projects/demo/renoise_tasks.json
python3 skills/digital-human-koubo/scripts/rangedl.py "<cdn_mp4_url>" projects/demo/raw/s01.mp4
python3 skills/digital-human-koubo/scripts/assemble.py \
projects/demo/raw \
projects/demo/script.json \
projects/demo/check2. 跨段語音統一與逐字對齊
python3 skills/digital-human-koubo/scripts/voicefx/unify.py \
projects/demo/raw \
--out projects/demo/unified
python3 skills/digital-human-koubo/scripts/align.py \
projects/demo/unified/full.wav \
projects/demo/script.json \
projects/demo/tl.json3. 初始化 Remotion 工程、校驗時間錨點與算繪封面
bash skills/digital-human-koubo/scripts/new_edit.sh huazi-916 projects/demo/edit
cp projects/demo/tl.json projects/demo/edit/src/tl.json
python3 skills/digital-human-koubo/scripts/check_edit.py projects/demo/edit/src
cd projects/demo/edit && npx remotion render src/index.ts Main ../main_body.mp4 && cd ../../..
python3 skills/digital-human-koubo/scripts/make_cover.py \
--frame projects/demo/check/s01_f2.jpg \
--title "AI Video Pipeline" \
--sub "Renoise + Remotion 4" \
--out projects/demo/covers
python3 skills/digital-human-koubo/scripts/cover_first.py \
projects/demo/covers/cover_9x16.jpg \
projects/demo/main_body.mp4 \
projects/demo/final_9x16.mp4限制與注意事項
| 限制項目 | 技術邊界與合規要求 |
|---|---|
| Remotion 商業授權門檻 | 每個剪輯模板皆依賴 Remotion;依 THIRD_PARTY.md,個人與 3 人以內公司可免費使用,超過 3 人的公司須購買 Remotion 企業授權 |
| 動態表情與地圖署名規範 | templates/*/public/emoji/*.json 的 59 個 Google Noto 動態表情採用 CC BY 4.0 授權,使用時須於片尾或簡介署名 Animated emoji: Google Noto;world-atlas 地圖資料源自 Natural Earth,正式發布前須依當地法規核對國界線 |
| Apple Vision 摳像僅限 macOS | scripts/cutout_video.py 與 scripts/personmask.swift 依賴 macOS 系統內建的 Apple Vision 框架,在 Windows 或 Linux 環境無法編譯執行 TextBehind 人物摳像 |
| Renoise 素材 7 天有效期 | Renoise 雲端素材有效期為 7 天;當 persona.json 內的 reference_material 過期或切換帳號時,需重新對本機參考圖執行 upload_files 取得新 ID |
| 聲音克隆與 AI 標註義務 | 小米 MiMo 語音克隆僅限使用本人或取得明確授權之聲音(金鑰存於 ~/.config/ai-teardown/mimo.env);發布成片時應保留 persona.json 定義的 AI 數位人演繹揭露標記 |
後續操作
若需製作不露臉、全片由手繪白板圖表與數字翻牌構成的
8–15分鐘財經科普長片,可啟用同儲存庫的skills/finance-explainer技能,以plan.json驅動templates/lin-169的 13 種場景與lin_sfx.py合成音效。在配置
pack陣列前,可先檢視skills/digital-human-koubo/assets/packaging/內的組件圖鑑,或於templates/packaging目錄執行npx remotion render src/index.ts Gallery算繪完整的 48 組件動態展示片。若需為數位人定妝照補充全身或半身動作參考,可搭配本站的 AI Pose Gallery 中文版使用手冊篩選姿勢與服裝提示詞。
來源固定於 f661a6c047bb74ea306ef58aeb1d461a52c01871。官方參考文件:
README:儲存庫架構、5 套剪輯風格預覽與快速安裝說明。
主技能規範(SKILL.md):階段 0 至階段 9 完整製作流程、積分估算與驗收標準。
包裝組件庫手冊(packaging.md):48 個跨模板包裝組件的參數表、「段:詞」時間語法與
TextBehind摳像教學。
參考資料
- Verified source revision and README
- MIT license for repository code and documentation
- Presenter likeness and demo asset notice
- Third-party components and licensing matrix
- Main digital-human-koubo skill specification (0-9 pipeline)
- Optional finance-explainer skill specification
- Default digital human persona and model pricing
- Packaging component catalog (48 components)
- Packaging component registry implementation
- Voice design and MiMo voice cloning reference
- Local environment check script