Mac 上的本機 Whisper:需要什麼、成本多少、怎麼執行
作者 Ryleigh Newman · 發佈於
本機 Whisper,是指在你自己的 Mac 上執行 OpenAI 的 Whisper 語音模型,讓你的音訊在這台機器上變成文字,而不是在某處的伺服器上。在 Mac 上,要認識的引擎是 whisper.cpp,它把 Apple 晶片當作一等公民,而真正要做的決定是模型檔案:模型越大,聽得越準,佔用的磁碟空間和記憶體也越多。
這一頁談各部分怎麼組合、依 whisper.cpp 自己的數字,每種模型大小要花多少、自己執行的指令,以及 YapToText 在哪裡派上用場。YapToText 是我做的免費 App,它用 whisper.cpp 執行原版的 Whisper Large v3 Turbo (Q5) 檔案,所以請帶著這一點來評估那一段。如果你只是想知道 Mac 上有沒有 Whisper 的 App,Whisper Mac App 頁面回答了這個問題。
免費下載。不需要帳號,沒有鎖住的功能。需要搭載 Apple 晶片的 Mac 和 macOS 14 或以上版本。 原始碼在 GitHub 上。
用其他語言閱讀: English, العربية, Čeština, Dansk, Deutsch, Ελληνικά, Español, Suomi, Français, עברית, हिन्दी, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Română, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 简体中文
本頁內容:12 個部分
步驟
- 從 GitHub 複製 whisper.cpp 儲存庫,並在終端機裡打開它的檔案夾。
- 用專案的 download-ggml-model.sh 腳本下載模型,例如 large-v3-turbo-q5_0。
- 用 CMake 建置專案,使用它的 README 裡的兩條 cmake 指令。
- 把錄音轉換成 16 位元的 WAV 檔案,例如用 ffmpeg。
- 用你的模型檔案和 WAV 檔案執行 whisper-cli,在終端機裡讀取逐字稿。
認識本機 Whisper 的三個部分
本機 Whisper 有三個部分,而且三個都在你的 Mac 上。模型是一個檔案,引擎負責執行它,你的音訊完全不必離開這台機器。
- 模型。Whisper 是 OpenAI 的語音辨識模型,OpenAI 以 MIT 授權釋出它的程式碼和模型權重。你只要下載一次模型檔案,由這個檔案負責聽。
- 引擎。whisper.cpp 是 Whisper 的純 C 和 C++ 實作,同樣採用 MIT 授權。它的 README 稱 Apple 晶片為一等公民,透過 ARM NEON、Accelerate、Metal 和 Core ML 做了最佳化,並說在 Apple 晶片上,推論完全透過 Metal 在 GPU 上執行。OpenAI 自己的套件則是從 Python 執行 Whisper。
- 你的音訊。錄音或你的麥克風輸入,文字輸出。只有一開始下載模型檔案時需要網際網路。
這就是它和雲端服務的差別:沒有任何內容為了轉寫而上傳。這也代表工作由你的 Mac 來做,所以你選的模型,決定了這份工作要佔用多少記憶體和磁碟空間。

依磁碟空間和記憶體選模型
whisper.cpp 公布了每個模型在磁碟和記憶體中的用量,OpenAI 則公布了每個模型的參數數量。Turbo 是 OpenAI 的 large-v3 加速版,它的 5 位元檔案只佔 large 磁碟空間的約五分之一。
2026年10月3日,在 whisper.cpp 的 README 與模型列表,以及 OpenAI 的 Whisper README 中查證。
| 模型 | 參數(OpenAI) | 磁碟上的檔案(whisper.cpp) | 記憶體(whisper.cpp) |
|---|---|---|---|
| tiny | 39 M | 75 MiB | 約 273 MB |
| base | 74 M | 142 MiB | 約 388 MB |
| small | 244 M | 466 MiB | 約 852 MB |
| medium | 769 M | 1.5 GiB | 約 2.1 GB |
| large(v1、v2 或 v3) | 1550 M | 2.9 GiB | 約 3.9 GB |
| large-v3,5 位元 (q5_0) | 量化的 large-v3 | 1.1 GiB | 未列出 |
| large-v3-turbo | 809 M | 1.5 GiB | 未列出 |
| large-v3-turbo,5 位元 (q5_0) | 量化的 turbo | 547 MiB | 未列出 |
MiB 和 GiB 以 1,024 為單位進位,所以 whisper.cpp 列表裡 547 MiB 的 turbo 檔案,和 YapToText 顯示為 574 MB 的是同一個檔案。這就是兩個誠實的頁面為什麼可以把同一個檔案分別寫成 547 和 574,而且兩個都對。whisper.cpp 的記憶體表只涵蓋原本的五種大小,沒有提供 turbo 或量化檔案的數字。

兩個專案還有幾點補充:
- 英文專用模型。tiny、base、small 和 medium 也有大小相同、只聽英文的 .en 檔案。OpenAI 說它們對英文往往表現較好,尤其是 tiny.en 和 base.en,到了 small.en 和 medium.en 差距就縮小了。
- 量化模型。以 q5_0 結尾的檔案是量化過的。whisper.cpp 說量化模型需要的記憶體和磁碟空間較少,視硬體而定,處理起來可能更有效率。
- Turbo。OpenAI 稱它是 large-v3 的最佳化版本,轉寫更快,準確度只有極小的下降,並評估它的速度約為 large 的 8 倍。這個比例是在 A100 上測得的,不是在 Mac 上,OpenAI 也說 turbo 沒有針對翻譯訓練。
- 語言。OpenAI 說 Whisper 的表現因語言而有很大的差異。
- OpenAI 的記憶體欄。OpenAI 的 README 列的是它的 Python 套件所需的 VRAM:tiny 和 base 約 1 GB,turbo 約 6 GB,large 約 10 GB。這些不是 whisper.cpp 的數字。
我替 YapToText 選了 5 位元的 turbo 檔案,因為用我自己的聽寫來試,它聽到的內容和完整模型幾乎一模一樣,而記憶體只要三分之一。那只是一個人的聽寫,不是基準測試,所以在定案之前,請用你自己的聲音試兩種大小。
用 whisper.cpp 自己執行 Whisper
自己執行 whisper.cpp,需要終端機,以及它的 README 的指令預設已有的兩個工具:Git 和 CMake。下面是 README 自己的指令,只是把模型換成 5 位元的 turbo 檔案。你得到的是在終端機裡的音訊檔案逐字稿,不是輸入到你各個 App 裡的文字。
步驟 1:取得程式碼和模型
終端機:複製 whisper.cpp,並下載 5 位元的 turbo 模型。
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
sh ./models/download-ggml-model.sh large-v3-turbo-q5_0結果:專案會放進 whisper.cpp 檔案夾,腳本會從 Hugging Face 把 ggml-large-v3-turbo-q5_0.bin 下載到它的 models 檔案夾。想下載小一點的,可以換成 base.en 或 small。
步驟 2:建置並轉寫範例
終端機:建置 whisper-cli,再對專案附帶的範例錄音執行它。
cmake -B build
cmake --build build -j --config Release
./build/bin/whisper-cli -m models/ggml-large-v3-turbo-q5_0.bin -f samples/jfk.wav結果:CMake 建置專案,whisper-cli 用你下載的模型轉寫範例,並把文字顯示在終端機裡。
步驟 3:先轉換你自己的音訊
README 說 whisper-cli 目前只能處理 16 位元的 WAV 檔案,並提供了一條 ffmpeg 指令,用來轉換其他格式。ffmpeg 要另外安裝。
終端機:把 MP3 轉成 whisper-cli 讀得懂的 WAV 格式。
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le output.wav結果:ffmpeg 把 output.wav 寫成 16 kHz、單聲道、16 位元的音訊,接著你把它放在 -f 後面交給 whisper-cli。
或是使用 OpenAI 的 Python 套件
終端機:如果你比較想用 Python,就安裝 OpenAI 自己的套件。
pip install -U openai-whisper結果:pip 會安裝 whisper 指令。OpenAI 的 README 說,這段程式碼預期可以在 Python 3.8 到 3.11 上執行,它需要 ffmpeg,預設模型是 turbo。
要做即時語音,whisper.cpp 附有 whisper-stream,它每半秒取樣一次你的麥克風,並持續轉寫。它需要 SDL2,README 稱它是一個簡單的範例。把文字送進 Mail、Slack 或你的編輯器,則是 App 多出來的那一部分。
不用終端機,在 YapToText 用同一個模型
YapToText 執行的是同一個引擎和同一個檔案,不需要終端機視窗:App 內建一份用 Metal 和 Accelerate 建置的 whisper.cpp,ggml-large-v3-turbo-q5_0.bin 就在 App Store 的下載內容裡。它的 SHA-256 和 Hugging Face 上的檔案相同,所以是原版模型,不是自訂調校或重新訓練過的。我做這款 App,是因為我的手打字有困難,我想要 Whisper 把文字輸入到每一個 App,而不是印在終端機視窗裡。它就是腳本下載的那個檔案,改變的是它周圍的一切。

App 在模型周圍加了這些東西:
- 會還給系統的記憶體。在 Energy 頁面,Keep models in memory 決定模型在聽寫之後保持載入多久:預設是使用後 2 分鐘,選項從 Only while dictating 到 Until quit。早一點卸載可以省電和省記憶體,卸載之後的下一次聽寫會多花幾秒。
- 留給 macOS 的空間。當 macOS 的記憶體不足時,YapToText 會立刻卸載它載入的模型,並等五分鐘才再次預熱。
- 用電池時換較輕的模型。Switch models with the power source 預設是關閉的,開啟後,聽寫模型和整理模型各有一個插電時和一個用電池時的選擇。
- 你自己的檔案。在 AI Models 頁面的 Your own models 底下,Add Model 接受任何 whisper.cpp 的 GGML .bin,所以你用腳本下載的模型也可以。App 會讀取檔案來判斷它是什麼,其他的就拒絕。
- 你的 Mac 的數字。Energy 頁面上的 This Mac 卡片會顯示你的晶片和記憶體,這就是拿來對照上面那張表的數字。
AI Models 頁面的 Dictation Model Library 還有十個 Whisper 模型,從 Tiny 到 Large v3,每個都有 App 顯示的大小。AI 模型指南列出了它們,節能指南說明記憶體設定。App Store 的下載大小約為 2.9 GB,因為 App 的兩個模型都包含在內。Homebrew 版本約 12 MB,第一次聽寫之前需要先下載語音模型。
本機 Whisper 很慢或聽錯的時候
在下載更大的模型之前,先試試省事的解決方法。先修好麥克風和用詞,再換模型。
- 等第一次執行完。模型要先載入才能轉寫。在 YapToText 裡,啟動後的第一次聽寫會花一點時間。如果你用 Core ML 建置了 whisper.cpp,它的 README 說,在裝置上第一次執行時會比較慢,因為 Neural Engine 服務要先編譯模型。
- 設定你說的語言。YapToText 在 AI Models 頁面的 Language 選擇器一開始是 Mac 的系統語言,Whisper 不能用的語言會退回自動偵測。語言頁面列出全部 29 種。
- 修好麥克風。藍牙麥克風只有電話等級的音質,所以 Mac 自己的麥克風聽得更清楚。在 YapToText 裡,從選單列面板的 Input 選擇器選它。
- 教它你的用語。YapToText 的 Dictionaries 頁面不只修正它輸入的文字,還會用你的名字和專有名詞預先提示 Whisper。字典指南說明了做法。
- 說英文就用英文專用模型。如果記憶體吃緊,而且你只說英文,OpenAI 說 .en 版本往往表現較好,最明顯的是 tiny 和 base。
- 改變模型大小。聽錯而且記憶體夠用,就換大一點的,太慢就換小一點的。在 YapToText 裡,AI Models 頁面的星等顯示兩者的取捨,History 裡的每次聽寫也有自己從停止到出現文字的時間。

本機 Whisper 不會改變的事
在本機執行 Whisper,是把工作搬到你的 Mac 上,也僅止於此。本機改變的是你的聲音去哪裡,不是聽得有多準。
- 錯誤。不管在哪裡執行,聽得多準都由模型決定,所以聽錯的名字需要字典項目或更好的麥克風,不是換個執行的地方。
- 翻譯。OpenAI 說 turbo 沒有針對翻譯訓練,而 YapToText 只會要求 Whisper 轉寫,從不要求它翻譯。
- 一次下載。本機模型還是要下載一次。whisper.cpp 的腳本從 Hugging Face 取得,YapToText 的 App Store 版本已經內建,Homebrew 版本則從 AI Models 頁面取得。
- Intel Mac。whisper.cpp 列出支援 Intel 和 Arm 的 Mac。YapToText 需要 Apple 晶片和 macOS 14 或以上版本,我不對 Intel Mac 作任何說明。
- 準確度數字。我不公布任何模型的準確度百分比。星等和你自己的 History 才是依據。
要證明一個設定真的在本機執行,離線聽寫頁面有一個一分鐘的測試:關掉 Wi-Fi 再聽寫。
重點整理
- 本機 Whisper。它是你 Mac 上的一個模型檔案加一個引擎,不上傳任何內容。
- 模型。5 位元的 turbo 檔案,在 whisper.cpp 的列表裡是 547 MiB,也是 YapToText 內附的那個。
- 自己動手。複製 whisper.cpp,下載模型,用 CMake 建置,再對 16 位元的 WAV 檔案執行 whisper-cli。
- 或是跳過終端機。YapToText 執行同一個檔案,並且免費把文字輸入到任何 App。
先依你 Mac 的記憶體選模型,再依你自己的聲音選。如果這裡的內容和你看到的不一樣,請在 GitHub 上提交 issue。每一則我都會看。
免費下載。不需要帳號,沒有鎖住的功能。需要搭載 Apple 晶片的 Mac 和 macOS 14 或以上版本。 原始碼在 GitHub 上。
指南
更多指南(英文)
資料來源
- https://github.com/ggml-org/whisper.cpp (查閱於 2026年10月3日)
- https://github.com/ggml-org/whisper.cpp/blob/master/models/README.md (查閱於 2026年10月3日)
- https://github.com/openai/whisper (查閱於 2026年10月3日)
- https://huggingface.co/ggerganov/whisper.cpp/blob/main/ggml-large-v3-turbo-q5_0.bin (查閱於 2026年10月3日)
- https://github.com/ryleighnewman/YapToText (查閱於 2026年10月3日)
- https://apps.apple.com/us/app/yaptotext/id6786382289 (查閱於 2026年10月3日)
常見問題
怎麼在 Mac 上本機執行 Whisper?
用 whisper.cpp:複製儲存庫,用它的 download-ggml-model.sh 腳本下載模型,用 CMake 建置,再對 16 位元的 WAV 檔案執行 whisper-cli。也可以安裝內建它的 App,例如 YapToText,它不用任何設定就能執行 Whisper Large v3 Turbo。
Whisper 需要多少記憶體?
要看模型。whisper.cpp 列出 tiny 約 273 MB、small 約 852 MB、medium 約 2.1 GB、large 約 3.9 GB,並說量化模型需要的更少。它沒有提供 turbo 的記憶體數字。
最好的本機 Whisper 模型是哪一個?
我會從 Large v3 Turbo 開始,它的 5 位元檔案就是 YapToText 內附的那個:在 whisper.cpp 的列表裡是 547 MiB。如果記憶體吃緊,small 或 base 的用量少得多,OpenAI 也說在最小的幾種大小,英文專用版本對英文往往表現較好。
Whisper Large v3 Turbo 模型有多大?
在 whisper.cpp 的模型列表裡是 1.5 GiB,5 位元的 q5_0 檔案則是 547 MiB,以十進位單位計算是 574 MB。OpenAI 列出 turbo 的參數為 8.09 億個。
本機 Whisper 需要網路嗎?
只有下載模型的那一次。之後,whisper.cpp 和 YapToText 不需要連線就能轉寫,YapToText 的 App Store 版本更是內附模型,連那次下載都省了。
可以在 YapToText 裡使用 whisper.cpp 的模型嗎?
可以。在 AI Models 頁面的 Your own models 底下,Add Model 接受任何 whisper.cpp 的 GGML .bin 檔案,App 會從檔案本身判斷它是什麼。