影片字幕翻譯與語音生成實施計畫
本計畫旨在建立一套可重複且可擴充的處理鏈,從中文影音素材出發,同步產出中英文字幕與對應英文語音,並為後續的人工校對、批次自動化與影音整合奠定基礎。
核心目標
- 建立即時可用的基本流程:Whisper WebUI(參考 jhj0517/Whisper-WebUI)產出中英文字幕,Python 腳本翻譯及生成英文語音 MP3。
- 提供彈性選項:可挑選以 Gemini API 再翻譯、或僅執行語音合成。
- 訂定後續擴充方向:影片合成、批次處理、自動上傳等進階功能。
交付成果
- 中文原始字幕 (
<name>_zh.srt) 與初始英文字幕 (<name>_en.srt)。 - 以 Gemini 翻譯補強的英文字幕 (
<name>_zh_en.srt)。 - 雙語音訊:保留原始中文音訊,並產出對應的英文語音 (
<name>_zh_en.mp3) 供多音軌/配音使用。 - 作業指引與需求清單(本文件)。
前置準備
- 工具:Whisper WebUI、Python 3.10 以上、
google-generativeai、gtts、python-dotenv、srt、markdown2。 - 設定:在
.env中放置GEMINI_API_KEY,確保網路可以存取 Google 服務;測試資料置於test/目錄。 - 建議建立虛擬環境並以
pip install -r requirements.txt安裝相依套件。
作業流程與擴充選項
- 字幕轉錄
在 Whisper WebUI(建議使用 jhj0517/Whisper-WebUI 專案)上傳影音檔,設定基準語言為中文並啟用英文翻譯;下載輸出的*_zh.srt與*_en.srt。若需要離線或批量處理,可改用本機 Whisper CLI 並將產出集中於input/目錄以便後續腳本掃描。 - 翻譯與語音
執行python process_srt.py <file>_zh.srt,腳本會呼叫 Gemini 翻譯並輸出新的英文字幕及 MP3。若僅需語音,可使用--tts-only模式並指定免費的gtts選項(例如--tts-engine gtts);需求較高時,可切換至 Gemini 付費 TTS (--tts-engine gemini) 取得更自然的語音,或新增批次腳本一次處理整個資料夾。 - 成果驗證與校對
手動檢查翻譯後字幕對齊與語音品質,必要時以 CLI 或 GUI 工具逐句修訂再輸出;亦可引入自動化檢核(例如比對字幕行數、偵測時間戳回退)並記錄於logs/便於追蹤問題。 - 整合與輸出
在 YouTube Studio 為影片掛載中英文字幕檔,並維持原始中文音訊為主聲軌;如需雙語音軌,可使用ffmpeg -i input.mp4 -i audio_en.mp3 -map 0:v -map 0:a -map 1:a -c:v copy -c:a aac -shortest output_dual_audio.mp4建立同時包含中文/英文語音的影片。若需製作英文配音版本,再額外匯出ffmpeg -i input.mp4 -i audio_en.mp3 -map 0:v -map 1:a -c:v copy -shortest output_en.mp4。大量專案可透過批次腳本與任務佇列自動打包字幕、語音與影片。
風險與因應
- API 限額:Gemini 每日配額可能限制大量翻譯;準備退回 Whisper 英文稿或分批執行。
- 翻譯對齊問題:行數不一致時需加上平衡邏輯;現有腳本已有截斷補齊策略,但建議偵錯並 log 警示。
- 敏感內容:字幕與語音可能含個資,務必在分享前做匿名化或遮蔽。
實作階段建議
- 環境建置:完成工具安裝、API 金鑰設定與測試資料整理,確保腳本可於本地穩定運行。
- 核心流程實作:以單一影片為例貫穿 Whisper → 翻譯 → 語音生成 → 手動整合,建立具體操作範本。
- 品質驗收與調整:針對字幕對齊、語音品質、API 限額進行檢測,必要時調整腳本邏輯與錯誤處理。
- 擴充與自動化:依需求導入可選功能(如
--tts-only、批次處理、影音合成),並更新操作指引。 - 文件與交付:整理成果檔與實際流程紀錄,更新維運指南以利後續維護或交接。