[Colab] 用 OpenAI Whisper 將錄音檔轉文字|開發筆記

Ichi Tsai
Ichi’s Dev Blog
Published in
Jun 13, 2023

最近因為有機會將和別人的對談錄音,這近一個小時的對話內容,等過幾天要來複習已經忘個大半。所以我希望藉 Whisper 的功能,將音檔轉文字內容,不用再重聽一小時錄音。搜尋一下果然已經有前人做了很多 sample,這篇紀錄一下眉角。

環境

  • Google Colab: 檔案在這邊,好處是自己的筆電不給力但 Google 給的虛擬機夠力就行(跑大檔案真的是怕電腦跑不動)
  • Python 3 及 GPU 設定如下:

前置作業

除了打開 colab 寫 code or 複製一份檔案跑起來之外,還有一些小細節可以注意,避免像我一樣為了額外的 miss 重跑幾次。

  • 像上圖的示範一樣,記得選 GPU。如果一開始沒選,到途中才改的話,會需要重新連到新的機器,前面重跑。(如何打開設定:編輯 -> 筆記本設定 -> 硬體加速器: GPU)
  • whisper model 大小在這邊,large 需要 10G 的 vram,可以看「查看資源」確認資源有沒有足夠。(預設的可以跑)
  • 要小心兩種 timeout。一種是等待時間沒碰螢幕導致電腦休眠,可以到本機設定調整一下。麥書使用者可以到「系統偏好設定」 -> 「電池」-> 「電源轉接器」-> 將「避免您的 Mac 在顯示器關閉時自動進入睡眠」勾選起來。
  • 另一種 timeout 是太久沒碰 colab 也會 timeout。這兩種都會導致無法繼續作業,要重頭做。因為已經連不到之前作業的機器了。

結語

剩下的就等 model 跑文字了。我這一小時的音檔大小 32.5 M,跑了 15 分鐘,可以當參考數字。跑 .srt 字幕檔的好處是,看到哪裡翻譯的怪怪,可以點開音檔直接跳到該秒數再聽一遍。以品質來說,我使用的音檔比較話家常,大概 95% 都有對,有一些專有名詞會很一致地聽錯。尋找取代掉就可以了,省了很多功夫去真的聽完全部。

現在的 Colab 已經有訂閱制可以用更好的硬體資源,而且介面多了好多豐富資訊(cell 執行時間、call stack 等等),有感覺到 Google 對這個產品的推進,免費的就很夠用了,真的很佛心。期待之後的發展。

--

--

Ichi Tsai
Ichi’s Dev Blog

A proactive and helpful individual who values integrity above all else. Have both backend engineering experience and project management skills.