WFU

2023/6/3

[學習筆記] 用 Whisper 來轉出 DeapLerning.AI 影片字幕檔

緣起

吳恩達 (Andrew Ng) 陸續在 DeepLearning.AI 上推出和 生成式AI 有關的免費課程。之前推出的 「ChatGPT Prompt Engineering for Developers」,每一小段的課程時間不長,又搭配成 Jupyter 程式視窗同步展示,同時又有字幕,這讓學習過程的體驗很不錯呀! 

日前吳恩達一次推出三個課程: (1) Building Systems with the ChatGPT API; (2) How Diffusion Models Work; (3) LangChain for LLM Application Development。這一下子突然冒出的資訊量實在是太大了,但重點是這次三段課程居然還沒有上「英文字幕」,在有口音且又沒有字幕下,這會讓我的學習的動力減少許多(殘念)。 

DeepLearning.AI 的影片檔按滑鼠右鍵是可以下載的,所以興起了今日突然興起的學習目標:「把影片檔用Whisper 轉出 SRT字幕檔,再用沉浸式翻譯轉為雙語字幕。」 對於程式小白的我,面對程式碼或是寫程式軟體的操作上還是會碰壁且一直卡關,一個早上的亂玩後還是有得到成果。

正在執行轉檔時的截圖



以下是自己學習/試誤的過程,記錄下來以免自己日後忘了: 

一、學習怎麼在 Visual Studio Code 開 python 虛擬環境 


OpenAI Whisper 要求的 python 版本是 3.9。Python很煩的是版本一大堆,每個程式要求的 python 版本或是另外安裝的 package 的版本都可能不一致。所以這次學習著如何在 Visual Studio Code 開 python 虛擬環境,讓彼此不同程式的執行環境是獨立出來的。



指令其實很簡單:python -m venv {虛擬環境的目錄名} 

後面比較麻煩的是一些小設定或安裝 package 時會出現錯誤,反正有出現錯誤訊息時,把整個訊息丟給 ChatGPT,通常都能得到還不錯的解決方式的回答。 

二、學習怎麼在本地端使用 Whisper 將語音轉字幕檔 


這部份網路上有不少人寫 step by step 的步驟,我主要參考的是: 

這邊我比較卡關的是 "choco install ffmpeg" 這一段的安裝,在虛擬環境下的設定有卡住,後來 google + chatGPT 解決。

三、一次只能轉一個檔的程式碼,改寫為一次轉整個目錄所有影音檔的程式碼 


因為一次只能轉一個檔很麻煩,不能放在背景讓它自己跑,因為前景正在打玩起來其實有點無聊的 Diablo4。這部份就是請 ChatGPT4 直接改寫,也測試 ChatGPT 最近的新功能 Share。 測過後發現分享原始對話串的人不能刪除原始對話,不然對方會無法載入繼續展開對話。 


四、用 沉浸式翻譯 外掛將 SRT 字幕翻擇成雙語字幕


沉浸式翻譯真的是好物,能解決大多數和文字類翻譯有關的需求。沉浸式翻譯內建「翻譯字幕檔案」,讚!

雖然它可以用 OpenAI API 來接 ChatGPT 3.5/4 來翻譯,但我最常選擇的是「Google翻譯」,因為其實是太快了。若對翻譯品質不太要求,只求讀得下去就好,選「Google翻譯」是最佳解。

成果

輸出設定如下:
  • 英文字幕:Whisper Model_Type = "medium" 
  • 雙語字幕:沉浸式翻譯的翻譯器「Google翻譯」
檔案下載: