whisper.cpp 是 OpenAI Whisper 語音辨識模型的 C/C++ 本機實作。它讓你可以在自己的電腦或伺服器上做語音轉文字,不一定需要雲端 API。
如果你是工程師、資料處理人員、影音字幕工作者,或想把錄音轉文字接進自動化流程,whisper.cpp 是很重要的開源工具。
whisper.cpp 適合誰?
| 使用者 | 適合原因 |
|---|---|
| 工程師 | 可用命令列與腳本批次處理 |
| 影音工作者 | 可輸出時間戳與字幕相關格式 |
| 研究團隊 | 可在本機或內網處理敏感錄音 |
| 自動化開發者 | 可接到資料管線、Cron、後處理流程 |
| 自架服務者 | 可把轉錄包成內部工具 |
如果你只是偶爾轉一支錄音,又不想碰命令列,MacWhisper 或 Notta 會比較快上手。
基本概念
使用 whisper.cpp 通常會碰到四件事:
- 下載或編譯程式。
- 下載 Whisper 模型。
- 把音訊轉成可處理格式。
- 執行轉錄並輸出文字或字幕。
常見流程會搭配 ffmpeg 先整理音訊,再把檔案丟給 whisper.cpp。
ffmpeg -i meeting.mp4 -ar 16000 -ac 1 meeting.wav
./whisper-cli -m models/ggml-medium.bin -f meeting.wav -l zh
不同版本的可執行檔名稱與參數可能會變,請以 GitHub README 為準。
模型怎麼選?
大方向:
tiny、base:快,適合測試。small:速度與品質平衡。medium:中文與複雜音訊通常更穩。large:較準,但耗資源。- 量化模型:比較省資源,但可能犧牲一點準確度。
正式工作不要只看速度。請拿自己的錄音測「可用文字比例」。有時候快一倍但校稿多三倍,總時間反而更長。
適合的自動化流程
會議錄音批次轉文字
- 每天把錄音檔放到資料夾。
- 腳本用
ffmpeg轉音訊。 - whisper.cpp 產生逐字稿。
- 用本機 LLM 或規則整理摘要。
- 儲存到內部知識庫。
影片字幕
- 匯出影片音軌。
- whisper.cpp 產生時間戳。
- 輸出 SRT 或 VTT。
- 用 Subtitle Edit 校字幕。
- 回到剪輯軟體上字幕。
隱私型轉錄服務
- 在內部伺服器部署 whisper.cpp。
- 使用者上傳錄音到內網。
- 轉錄後自動刪除原始音訊。
- 只保留人工確認後的文字。
這類流程比雲端工具麻煩,但資料邊界更清楚。
和 MacWhisper、Notta 差在哪?
| 工具 | 適合 |
|---|---|
| whisper.cpp | 工程師、自動化、伺服器、本機批次轉錄 |
| MacWhisper | Mac 使用者、圖形介面、本機轉錄 |
| Notta | 多語言、雲端轉錄、檔案匯入、翻譯 |
| Fireflies | 會議 bot、CRM、團隊整合 |
whisper.cpp 的價值在可控與自動化,不在漂亮介面。
常見問題
中文標點不漂亮
Whisper 輸出可能需要後處理。你可以用 LLM 做斷句、修標點、去口頭禪,但不要讓它改掉原意。
講者分離不足
Whisper 本身不等於完整 speaker diarization 系統。若需要精準標出誰說話,可能要加其他工具。
專有名詞錯很多
AI 轉錄很容易錯公司名、人名、產品名。正式流程應建立詞表與人工校稿步驟。
跑很慢
換小模型、用量化模型、改善硬體或分段轉錄。速度和準確度要一起測。
FAQ
whisper.cpp 是 OpenAI 官方工具嗎?
它不是 OpenAI 官方倉庫,而是社群維護的 Whisper C/C++ 實作。OpenAI 官方 Whisper 模型與原始實作在 OpenAI GitHub。
whisper.cpp 可以完全離線嗎?
可以在本機執行模型推論。第一次下載程式、模型或依賴時需要網路;部署完成後可依環境設計離線流程。
whisper.cpp 適合非工程師嗎?
不太適合。非工程師通常先用 MacWhisper、Buzz、Subtitle Edit 或雲端工具比較省力。
whisper.cpp 可以輸出字幕嗎?
可以產生帶時間資訊的輸出,再接 Subtitle Edit 等工具校正字幕時間軸。