
前言
為了方便製作影片或是音檔的字幕檔、逐字稿文字檔, 2023年2月底,我在 Google Colab 筆記本中,結合了 OpneAI Whisper 及 yt-dlp,搭配 Colab 簡單的網頁界面,可輸入像是影音網址(或是檔案路徑)、Whisper 的語音辨識模型大小、輸出格式......等自訂的參數;設定完參數,按個「執行」鈕,就可以不用管程式的安裝及享用 Colab 提供的 GPU 運算力,輕鬆坐等接收語音辨識的結果 (詳見「雄:使用 OpenAI Whisper 製作影音的字幕或逐字稿」)。
好一陣沒錄教學影片,前幾天為了幫新錄的影片加上字幕,才發現在 Colab 中安裝 OpenAI Whisper 似乎要多花很多倍的時間,以我片長不到五分鐘的影片來說,語音辨識只要幾秒鐘,等待安裝卻要幾分鐘,實在不成比例(註:2023.11.22 再次使用 OpenAI Whisper,安裝時間要很久的問題已不存在,看起來應該是相關套件的版本已跟上,不用樣樣都需要重新編譯,回復到可以順順地使用 OpenAI Whisper的狀態。)。於是開始找是否有更好的方案,找到了 guillaumekln (Guillaume Klein) 的 Faster Whisper 專案:
Faster Whisper 是使用 CTranslate2 的界面加上 OpenAI Whisper 開放出來的模型,可以大幅減少記憶體及其它資源的耗用,又能有與原 OpenAI Whisper 差不多的輸出結果,這樣是不是很讚!
經過這幾天的實測,至少安裝程序等候的時間是少很多、耗的資源小很多~~,輸出的內容和 OpenAI Whisper 的結果差不多,真的是小而美。要說缺點的話,大概是因為它目前沒有提供直接輸出成字幕格式的檔案,不過,這算是小事,只要用其它的套件,多寫幾行程式碼來補足功能,轉換一下輸出格式就好了,哈!相關程序我都在底下放在 Colab 中的工具處理好了。
工具網址
整合在 Colab 中的「Faster-Whisper-語音辨識-輸出文字檔」工具,放在這個短網址中,開啟後就能使用:
使用方法
先開啟工具的網址,進入頁面,往下捲,在說的的下方,應該會有如 [圖一] 的輸入區:
![]() |
[圖1] Faster Whisper 的操作程序 |
1.上載檔案:如果想上載電腦中的影片或是音檔,就按 [圖1] 箭頭1所指的 [檔案] 圖示,就可以將要進行語音辨識的影音檔案上載。上載完的檔案或是使用 Google 雲端硬碟的檔案,如何複製檔案的路徑,請自行參考「操作示範影片」中的示範。
2.在「url」中填入影音的來源:
- 存放在網路的「公開」影音,就貼入網址,YouTube(影片或是播放清單)、FB、雲端硬碟、Vocaroo......等的「公開分享」網址。
- 在放在電腦中的檔案則需要先上載到 Colab 中,然後再「複製路徑」,將檔案的路徑貼到「url」的欄位中。
- 如果想批次進行語音辨識,則是將前述的網址,通通先貼到一個文字檔(檔名 xxx.txt),一行一個網址或是路徑,儲存後,再將文字檔上載到 Colab 中,最後再「複製路徑」,將檔案的路徑貼到「url」的欄位中;這樣子,程式會依照文字檔的內容,一行行的進行語音辨識。
詳細的過程請參考底下的操作示範影片。
操作示範影片
Q & A
- Q : 未付費版的 Colab,Fast Whisper / OpenAI Whisper 能執行多久?
- A : 因為 Whisper 使用到 GPU ,所以目前一個帳號每天只能使用大概 4小時 (以前是12小時)。
- Q : 給它播放清單或是清單檔案,為什麼執行到一半,中斷了?
- A : 如果輸出區有出現錯誤訊息,找一下最後幾行,有沒有類似「private video ...」的關鍵字,如果有,表示某一個影音並不是公開分享的,因為抓不到檔案而中斷程式了;將它從清單中移除再試試看。
- Q: 出現「403: Forbidden」或是「Sign in to confirm you’re not a bot」的錯誤訊息,如何處理?
- A: 請參考這一則「雄:yt-dlp下載錯誤導致 Whisper 無法使用的處理」