OpenAI Whisper 可說是目前最強的語音轉文字模型,最近因為有一些影片字幕的需求,原本是用之前我們曾介紹過的 Whisper JAX 線上工具,這款也是用目前最好的 large-v2,轉換速度也快,但每部影片都要上傳,轉出來的文字雖然有時間點,貼在記事本後時間格式還是有一個標點符號不對,需要再手動改,因此蠻麻煩的,最後就決定直接將 OpenAI Whisper 裝在電腦裡,真的方便非常多,不僅速度更快,產生出來的格式也超多,不僅有直接能用的 SRT 字幕檔,還有純文字格式(.txt)、.tsv、.json 等等。
有些人可能認為安裝步驟應該很難,也要有技術背景,事實上完全不用,簡單幾個步驟就能完成安裝,下面分享給大家。
教你在 Windows 10/11 安裝和使用 OpenAI Whisper(完全免費),輕鬆將影片、聲音檔轉成文字和字幕檔
OpenAI Whisper 是開源的,因此是完全免費,安裝好後不用填任何 API 就能使用,也沒有任何限制,但要注意電腦的 CPU 處理器或 GPU 顯示卡規格,建議不要太入門,要不然轉換速度可能會有點慢,用 NVIDIA 顯卡的速度會比 CPU 來得快超多。
安裝步驟基本上就 3 個:
- 安裝 Anaconda(這款軟體已經內建 Python 和 pip,所以不用另外安裝,當然你也可以各別安裝 Python 和 pip,就看你的選擇,我是用 Anaconda)
- 用 Anaconda PowerShell Prompt 安裝 Chocolatey、ffmpeg、Whisper
- 開始語音轉文字(不只是聲音檔,影片檔也支援)
- 選項:有 NVIDIA GPU 的人,建議安裝 PyTorch
1. 安裝 Anaconda
首先先到 Anaconda 的官網下載安裝檔,點擊 Download 就會開始下載,檔案還蠻大的超過 1GB,所以需要等待一點下載時間:
安裝過程一直按下一步就好,不用調整任何東西:
安裝好後,請打開 Anaconda Powershell Prompt,記得使用系統管理員身份執行,要不然安裝過程可能會有問題:
如果是用系統管理員身份打開,在軟體視窗的標題欄前面會寫「系統管理員:」,預設路徑也會是 C:\WINDOWS\system32,可以用這兩個來判斷。
2. 用 Anaconda PowerShell Prompt 安裝 Chocolatey、FFmpeg、Whisper
首先是安裝 Chocolatey,因為我們需要透過 Chocolatey 來安裝 FFmpeg、Whisper,這邊請先檢查你的 Get-ExecutionPolicy 沒有被限制,輸入以下指令:
Get-ExecutionPolicy
如果是顯示「Bypass」,那就沒問題,可以進行下一步,但如果是顯示「Restricted」,請輸入以下指令,隨後會看到一串描述,輸入 Y 並按 Enter 就修改完成:
Set-ExecutionPolicy AllSigned
確認為 Bypass 後,就能開始安裝 Chocolatey,請輸入以下指令(如下圖所示):
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
按 Enter 之後,就會開始安裝,讓它自動跑完即可。跑完後,接著就是安裝 FFmpeg,請輸入以下指令:
choco install ffmpeg
安裝完成後,會問你是否要啟用這個 Script,請輸入 Y 並按 Enter,FFmpeg 這裡就好了,再來是 Whisper 模型:
安裝 OpenAI Whisper 之前,請先重開 Anaconda PowerShell Prompt,記得一樣用系統管理員的身份,然後輸入下方指令:
pip install -U openai-whisper
跑完之後,安裝步驟就全部完成了,可以開始準備語音轉文字、影片轉字幕了。
3. 開始語音轉文字(不只是聲音檔,影片檔也支援)
首先你必須將路徑指向你要轉換的檔案位置,像我放在下載資料夾,就輸入以下指令(返回上一資料夾的指令是 cd ..):
cd C:\Users\Rocky\Downloads
這邊先選擇你要的模型,Whisper 現在有 7 種模型,都支援多國語言,越大辨識會越精準,但相對會消耗比較多資源,因此電腦規格沒太差的人(特別是有 NVIDIA 顯卡),推薦使用 large 以上,我是測試 large-v2,目前最新是 large-v3:
另外轉換檔案名稱也要注意,不能有空白或 (),要不然會找不到該檔案。
一切都沒問題後,請輸入以下指令,123.mp4 是我的檔案名稱,請改成你的,language 後面看你的來源檔是什麼語言,中文就輸入 Chinese,英文就輸入 English,也支援其他語言,model 則是你要用的模型:
whisper 123.mp4 --language Chinese --model large-v2
就會開始轉換,預設是使用 CPU 處理器,可以注意下圖左邊 CPU 使用率瞬間上升,GPU 完全沒用到。CPU 速度真的蠻慢的,我這部影片 5 分多鐘,花了 3 分鐘左右才轉完,所以如果你跟我一樣有 NVIDIA 顯卡,建議安裝 PyTorch(下面會教),快非常多,我的是 RTX 3080 顯卡,變成只需要 5~10 就完成:
轉好之後,在你檔案的資料夾中,就會自動建立好 .json、.srt、.tsv、.txt 和 .vtt 格式,你可以根據需求看要保留哪幾個:
SRT 字幕檔是可以直接使用的,不用修改任何東西:
4. 選項:有 NVIDIA GPU 的人,建議安裝 PyTorch
首先請先到 PyTorch 這個網頁,選擇適合你的版本(CUDA 11.8 或 CUDA 12.1),其他設定跟我一樣就可以,接著下面 Run this Command 就會顯示安裝指令,將它複製起來貼在 Anaconda PowerShell Prompt(記得使用系統管理員身份開啟,簡單來說所有安裝都需要用這身份才可以)。下方是 CUDA 12.1 的指令:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
貼上後按下 Enter:
等安裝跑完,就可以開始轉換了:
PyTorch 安裝好後,就變成改用 GPU 了,下圖左邊 GPU 瞬間上升到 100%,速度快超級多,一瞬間就完成:
總結
以上就是在 Windows 10/11 電腦裡安裝和使用 OpenAI Whisper 的方法,如果未來不想用,想要移除,就進到新增移除程式裡,把 Anaconda、PyTorch 給移除即可。