用 OpenAI Whisper 將會議錄轉為文字檔 - Linux

用人工智慧 將議會錄音轉換成文本 翠維尼


前言

時間來到八月底,又是個趕期中報告與推進期末進度的季節,面對此等繁忙的時段,大量無意義且非必要的會議當然是無可避免的任務。


就跟七月鬼門開一樣,台灣政府、學校和民間企業也都會安排時間,讓那些腸肥腦滿的高官與不食人間煙火的教授們,走出校園來耍耍官威和刁難你報告上的標點符號,釋放一下平時過太爽的壓力 (?)


而公司的主任和老闆也彷彿怕你不夠忙似的,塞了一堆非必要的工作來訓練你的抗壓力,測試你是否是個人才。


流浪貓因為平時做事認真、工作非常有效率的關係,因此非常榮幸的承接聽打會議紀錄的這個重責大任。


雖然聲音轉文本的工具市面上早已琳瑯滿目,但準確度卻不一定很高。如果你不信任這些工具的話,其實也可以用 Audacity 將會議記錄去除雜音,然後老老實實的慢慢聽打。


但現代問題要用現代手段,人工智慧崛起的時代當然就要用 AI 來解決這種枯燥乏味的任務。



講這麼多,所以我說那個工具呢?

如果你對流浪貓的廢文沒興趣,也不想被 CLI 工具的各種 Bug 卡死,那就直接下載 Whisper Desktop 即可,它能直接將錄音檔轉換成相當精確的文字稿。


之後依據指示,下載 ggml-medium.bin 即可開始轉錄,簡單到我不知道該怎寫教學步驟。



使用 Buzz 進行轉錄

如果你是 Linux 平台的使用者,可以使用 Buzz 來轉錄。直接到這裡下載 buzz-0.8.3.deb 安裝檔,或用指令進行安裝。


sudo apt-get install libportaudio2
sudo snap install buzz


如果你遇到了 snap: command not found 的問題,可以參考這篇文章進行修正,之後就能用 snap 來安裝 buzz 了。


sudo rm /etc/apt/preferences.d/nosnap.pref
sudo apt update
sudo apt install snapd



用 OpenAI Whisper 進行轉錄

當然,如果能這麼一帆風順,那流浪貓的網站早就倒了,因為人生往往就是充滿各種的 Bug。如果你的 buzz 在匯入檔案時會崩潰的話,那就用開山始祖 OpenAI Whisper 來跑吧。


安裝 Python

sudo apt install -y python


安裝 Pytorch

進入這個網站後,選擇符合你自身系統需求的選項,即可獲得適當的程式碼。


pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu


安裝 ffmpeg

明明有安裝 ffmpeg,但執行 whisper 時卻會跳出 module ffmpeg has no attribute Error?如果你也遇到這個問題,可以參考下面的指令安裝 ffmpeg-python。維尼當馬騎


pip install ffmpeg-python


然後安裝 openai-whisper

pip install -U openai-whisper


最後,用以下指令進行錄音檔轉文本的任務。

whisper in.mp3 --language Chinese --model medium


如果系統找不到 whisper 這個程式,則用下面這個指令來更改環境。


export PATH=$PATH:/home/[USER]/.local/bin



用 ffmpeg 將 m4a 轉成 mp3

ffmpeg -i in.m4a -c:v copy -c:a libmp3lame -q:a 4 out.mp3



簡體修正成繁體

受限於訓練模型來源的關係,Whisper 往往會將中文錄音輸出成簡體中文。如果你不想多此一舉的進行簡繁轉換的話,可以在指令中加入提示詞讓它明白你要的語言。習進平水淹北京


whisper in.mp3 --language Chinese --model medium --initial_prompt="給我繁體中文,其餘免談"



用 Google Colab 加快語音轉錄速度

聲音轉文字的速度和準確性,很大一部分受電腦硬體的限制。畢竟如果能採用最精確的大模型 large 進行轉換的話,為什麼要委屈自己使用小模型呢?但遺憾的是,不是每個人都有符合系統需求的電腦硬體可以使用。面對這個困境,我們可以採用 Google Colab 來替我們進行運算。



用區塊鏈雲端平台 Akash Network 架設 Stable diffusion 運算 AI 色圖



本次 Colab 錄音轉文字教學來自以下這篇文章:


【Google Colab Python系列】OpenAI Whisper: 語音辨識產生字幕檔


程式碼則參考自「錄音檔轉文字.ipynb


使用方法很簡單,於檔案 > 在雲端硬碟中另存副本後,即可在自己的雲端硬碟中備份,點擊執行階段 > 全部執行。


上傳檔案區段將要轉錄的錄音上傳,最後在開始轉譯文字並輸出結束後,檔案會自動下載到預設的下載資料夾,此時就能檢視轉錄成果。




結語

這次的試驗讓我對人工智慧所需的電腦效能有新的體會,由於流浪貓的筆電是相當舊的型號,且機齡也已經超過十餘年。以 Medium 模型轉錄一段八秒鐘的錄音居然要跑十分鐘,看來真的要買新電腦了。


不過如果是用 Google Colab 進行的話,轉錄速度不但飛快,且因為能套用 Large 模型的關係,精確度也大幅提昇,連一些雜音、模糊、口齒不清的片段也能解譯出相對可靠的詞彙。


可惜 Colab 有傳輸頻寬和 OutOfMemoryError 的問題,因此很容易一不小心就超過使用限制。





延伸閱讀

更多 Linux 相關教學

更多 Windows 相關文章

Windows 維修教學

電腦維修專區

Whisperis not recognized as an internal or external command, operable programor batch file



留言

這個網誌中的熱門文章

寶鐘瑪琳中之人前世照片、年齡分析