將音訊轉成字幕的方法,可以使用如下幾種 :
1. 威力導演 : 威力導演的字幕功能,效果並不理想。
2. ChatGPT 轉換 : 常因檔案大太或影片過長,造成轉換失敗。
最方便的方法就是使用 OpenAI 的 Whisper 開源模型。Whisper 也不是真的萬能,如果有背景音樂時,轉出來的精準度就會大打折扣,但如果只有純人聲的音訊檔,則非常精準。
安裝套件
請先安裝如下套件
如果有顯卡,安裝 PyTorch 可啟動顯卡加速轉換。如果沒有顯卡的話就不用安裝 PyTorch。
然後到 https://ffmpeg.org/download.html 下載 ffmpeg,解開後將目錄改成 ffmpeg 並複製到 C:\ 之下,最後記得將 C:\ffmpeg\bin 路徑設定於系統變數 path 中。
whisper 轉字幕
直接在 Terminal 執行如下指令將音訊轉成字幕
模型
模型有五種,分別為 base、tiny、small、medium、large。
第一次會花費比較長的時間下載,下載後的模型置於 C:\Users\登入者\.cache\whisper 目錄下。
支援格式
whisper 擷取音訊時,是使用 ffmpeg.exe,所以基本上所有的影音格式都支援,比如 .mkv、.mp4、.mp3 都可以。
翻譯
音訊輸入時會自動判斷是什麼語言。輸出時若要使用英文,可以使用 language=”en”,然後 task=”translate”。請注意,任何語言都可以翻譯成英文,但英文無法翻譯成中文或其它語言。
使用 Python 加入字幕
底下是將一部影片的音訊轉成 srt 字幕,再使用 ffmpeg 將字幕崁入視訊的完整代碼
請注意 “subtitles='{srt_file}’:”,如果 srt_file 為 e:/abc.srt,則會解讀為 “subtitles=’e:/abc.str’:”,前面的 “:” 會被 ffmpeg 解讀為分隔符號,所以需要寫成 “subtitles=’e\\:/abc.str’:”。
即時翻譯
一邊錄音一邊顯示字幕的方法
