2023年迄今,WhisperDesktop一直是我的語音識別工具首選,最近發生了不管換那種模型都無法正常產生文字的狀況,因此試著找了別的Whisper工具,來測試看看是否能正常使用。
WhisperDesktop的最新版本是2023年7月22日釋出的,也許久沒有更新了,試了一直有更新的Whisper.cpp,應該能取代WhisperDesktop。以下是使用Whisper.cpp的試用報告。
Whisper.cpp的模型檔和WhisperDesktop相同,可到hugging face下載,我重新下載了下列檔案:
Whisper.cpp有多個版本可下載,whisper-bin-x64.zip 是以CPU執行的版本。
解壓縮後主要的執行檔是 whisper-cli.exe,只能讀取音訊檔(副檔名:flac, mp3, ogg, wav),若使用的是.mp3或.mp4,必須先轉換成 .wav:
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav
或
ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 output.wav
再執行 whisper-cli.exe:
whisper-cli.exe -l zh -osrt -m models/ggml-medium.bin --prompt "提示文字" output.wav
-l: 指定語音是中文 (zh)-osrt: 指定輸出 SRT 格式,也可使用 -otxt、-ocsv、-oj(.json)等-m: 指定模型檔名,檔案複製到安裝資料夾的 models/ 目錄裡-prompt: 初始的提示文字CPU版本比較簡單,但速度很慢,還是要使用有NVIDIA GPU才能有較好的執行速度。
下載並安裝 whisper-cublas-12.4.0-bin-x64.zip,執行前先確認NVIDIA CUDA版本是否在12.4之後:
nvidia-smi
查看後,我的型號是GTX 1650, CUDA版本12.1,執行whisper-cli.exe會有CUDA錯誤。

錯誤訊息如下:
ggl_cuda_compute_forward: IM2COL failed
CUDA error: the provided PTX was compiled with an unsupported toolchain.
current device: 0, in function ggml_cuda_compute_forward at D:\a\whisper.cpp\whisper.cpp\ggml\src\ggml-cuda\ggml-cuda.cu:2531
err
D:\a\whisper.cpp\whisper.cpp\ggml\src\ggml-cuda\ggml-cuda.cu:88: CUDA error
到NVIDIA Developer下載網站下載最新的Driver:
安裝後,CUDA是13.0版。此時 whisper-cli.exe 已能正確執行。
whisper_init_state: compute buffer (cross) = 9.27 MB
whisper_init_state: compute buffer (decode) = 100.04 MB
system_info: n_threads = 4 / 12 | WHISPER : COREML = 0 | OPENVINO = 0 | CUDA : ARCHS = 520 | PEER_MAX_BATCH_SIZE = 128 | CPU : SSE3 = 1 | SSSE3 = 1 | AVX = 1 | AVX2 = 1 | F16C = 1 | FMA = 1 | OPENMP = 1 | REPACK = 1 |
main: processing 'meeting.wav' (25827068 samples, 1614.2 sec), 4 threads, 1 processors, 5 beams + best of 5, lang = zh, task = transcribe, timestamps = 1 ...
[00:00:00.000 --> 00:00:29.980] 台中高雄會議開始囉,高雄你麥克風沒有開,我聽到,OK,大家好
whisper.cpp基本上是命令行工具,因此又搜尋了另一個Rust寫的GUI工具:whisper_desktop。需要圖形介面時可以使用看看。

✅ 解說文章(繁體中文): https://jdev.tw/blog/9025/
✅ Explanation article(English)
✅ 解説記事(日本語)
✅ Whisper.cpp GitHub: https://github.com/ggml-org/whisper.cpp
✅ hugging face模型檔下載
✅ Rust GUI: whisper_desktop
##