WhisperDesktop替代方案:Whisper.cpp上手指南與Rust GUI介紹
作者在WhisperDesktop出现问题后,尝试使用Whisper.cpp作为替代工具,并详细介绍了模型下载、CPU和NVIDIA GPU版本的使用方法,解决了CUDA兼容性问题,并提到了一个Rust GUI工具whisper_desktop。 2025-11-11 10:15:0 Author: jdev.tw(查看原文) 阅读量:3 收藏

2023年迄今,WhisperDesktop一直是我的語音識別工具首選,最近發生了不管換那種模型都無法正常產生文字的狀況,因此試著找了別的Whisper工具,來測試看看是否能正常使用。

WhisperDesktop的最新版本是2023年7月22日釋出的,也許久沒有更新了,試了一直有更新的Whisper.cpp,應該能取代WhisperDesktop。以下是使用Whisper.cpp的試用報告。

1. 下載模型檔

Whisper.cpp的模型檔和WhisperDesktop相同,可到hugging face下載,我重新下載了下列檔案:

  • ggml-large-v3.bin
  • ggml-medium.bin
  • 又到另一個網址下載了據稱對中文更準確的模型:ggml-whisper-large-zh-cv11.bin,可惜生成的是簡體中文

2. 使用CPU的版本

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才能有較好的執行速度。

3. 使用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錯誤。

gh|700

錯誤訊息如下:

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:

  • 選擇你的 GPU 型號與作業系統(例如 Windows 11 64-bit)
  • 點選「Search」後下載最新的 Game Ready Driver(GRD)Studio Driver(SD)

安裝後,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,大家好

4. Rust GUI應用程式

whisper.cpp基本上是命令行工具,因此又搜尋了另一個Rust寫的GUI工具:whisper_desktop。需要圖形介面時可以使用看看。

gh|700

5. 💡 相關鏈接

✅ 解說文章(繁體中文): https://jdev.tw/blog/9025/
Explanation article(English)
解説記事(日本語)

✅ Whisper.cpp GitHub: https://github.com/ggml-org/whisper.cpp
hugging face模型檔下載
✅ Rust GUI: whisper_desktop

##

您可能也會有興趣的類似文章


文章来源: https://jdev.tw/blog/9025/whisperdesktop-alternatives-whisper-cpp-guide-rust-gui-introduction
如有侵权请联系:admin#unsafe.sh