緬甸電影配音 — 代理技能
兩個代理技能,用於從電影建立緬甸語配音(dub),以及建立類似技能。
| 資料夾 | 說明 |
|---|---|
subtitle-voiceover/ | 技能:將影片或音訊檔案轉換為緬甸語配音,包含說話者偵測、代理撰寫的開場鉤子、編輯器就緒的字幕對,以及自動清理。 |
skill-forge/ | 工具:建立、驗證和打包 SKILL.md 技能——並使此儲存庫本身的兩個技能符合規格。 |
subtitle-voiceover 是做什麼的?
整個流程由 Python 指令碼端到端驅動。代理只做一件事:將含有說話者標籤的 SRT 翻譯成緬甸語——外加一行可選的開場鉤子。 流程中的其他部分不會要求模型執行操作。
movie.mp4 ──transcribe.py──▶ transcript.json ──srt_from_transcript.py──▶ movie.en.srt
└─ detect_voices.py 測量每位說話者的音高 ──▶ voices.detected.yaml (無需手動對應)
└── 代理填寫 translation.my.json (+ hook.text) ──apply_translation.py──▶ movie.my.srt
└── render_voiceover.py ──▶ voiceover.mp3 (影片長度的語音音軌,無音樂)
└── 檢查、FCPXML/EDL 交接、cleanup.py
透過將資料夾複製到代理的技能目錄,或是解壓縮打包的壓縮檔來安裝:
cp -r subtitle-voiceover ~/.claude/skills/ # 從克隆的儲存庫
unzip subtitle-voiceover/packages/subtitle-voiceover.skill -d ~/.claude/skills/
需求:python3 -m pip install --user edge-tts pyyaml、ffmpeg + ffprobe,以及在 subtitle-voiceover/.env 中的 AssemblyAI 金鑰(ASSEMBLYAI_API_KEY=...,已加入 git 忽略清單)。
只需一條命令即可處理整部電影:
python3 scripts/run_pipeline.py night-shift.mp4 --work-dir work --config voiceover.config.yaml \
--language en --speakers-expected 2 --hook --stages python
# 代理填寫 work/translation.my.json(每個字幕的文本,加上 hook.text)
python3 scripts/run_pipeline.py --work-dir work --config voiceover.config.yaml --stages post
輸出內容:voiceover.mp3(配音語音音軌,從 00:00:00 開始,填充至影片長度,無音樂)、movie.my.srt(含說話者標籤)和 movie.my.subs.srt(純字幕軌)、voiceover.fcpxml / .edl / .cue-list.csv、JSON 品質報告——以及包含工作檔案的 work/ 目錄(之後會被清理)。編輯者可在語音音軌下方鋪設自己的配樂;字幕可直接放入 Premiere Pro、DaVinci Resolve 或 Final Cut Pro 的字幕軌道。
重點特色:
- 自動語音分配。 從電影本身的音訊測量說話者音高(自相關法,並有純 Python 備援方案)——女性角色獲得
my-MM-NilarNeural,男性角色獲得my-MM-ThihaNeural。無需手動對應;設定檔仍可指定特定說話者。 - 時間碼由指令碼掌控。 翻譯過程中永遠不會看到可寫入的時間碼;合併時會重新附加原始時間碼,並回報任何被捨棄的編輯。
- 開場鉤子。 前 5–10 秒可以被一句代理撰寫、使用電影本身語音風格的台詞取代,與原始對話無縫融合,並在
references/hook-guide.md中有實作範例。 - 執行期間不會產生任何內容。 每個階段都是預先寫好的指令碼,接受標誌參數;技能本身附帶測試套件、測試用影片以及兩個完整的錄製執行範例,位於
demo-film/。
請參閱 subtitle-voiceover/README.md 取得完整逐步解說,以及 SKILL.md 了解代理讀取的內容。
skill-forge
建立技能目錄骨架,檢查 SKILL.md 是否符合開放格式(名稱/描述規則、漸進式揭露、捆綁檔案引用、行數限制),並將技能打包成可分發的 .skill 壓縮檔,同時避免洩漏機密。
python3 skill-forge/scripts/validate_skill.py subtitle-voiceover --strict
python3 skill-forge/scripts/package_skill.py subtitle-voiceover --out subtitle-voiceover/packages
測試
bash skill-forge/tests/run_tests.sh # 驗證器/打包器套件(離線,<1 秒)
cd subtitle-voiceover && bash tests/run_tests.sh # 管線煙霧測試(實際 edge-tts 呼叫)
兩個套件都已連接到 CI(ci/github-actions-ci.yml——將其移至 .github/workflows/ci.yml 即可啟用,請參閱該檔案開頭的說明);管線套件不使用 AssemblyAI 金鑰——它針對測試用逐字稿驅動實際指令碼。
儲存庫佈局
subtitle-voiceover/ 技能(scripts/、references/、assets/、tests/、demo/、demo-film/、packages/)
skill-forge/ 驗證與打包工具(scripts/、references/、assets/、tests/、packages/)
ci/github-actions-ci.yml CI 定義(移至此 .github/workflows/ci.yml 以啟用)
授權條款
MIT——請參閱 LICENSE。