所有文章
Whispermac教學免程式openai字幕

在 Mac 上執行 OpenAI Whisper 最簡單的方法(免寫程式)

OpenAI Whisper 免費又準確,但要在 Mac 上跑起來,得先搞定 Python、Homebrew、FFmpeg,還有一堆終端機錯誤訊息。這篇文章教你不用寫任何程式碼,就能取得同樣的裝置端字幕轉錄體驗。

·Tom Mong
下載 Mac 版 — 免費
在 Mac 上執行 OpenAI Whisper 最簡單的方法(免寫程式)

快速解答: OpenAI 的 Whisper 模型本身不是一款 App——它是一個要用終端機安裝、執行的 Python 函式庫,這代表你得先搞定 Homebrew、正確的 Python 版本、虛擬環境、FFmpeg,而且(很常見)在拿到第一份逐字稿之前,會先撞上一堆相依套件錯誤。如果你不想寫程式,最快取得同樣本機端、私密轉錄體驗的方法,是使用一款已經內建 Whisper 的 Mac App——例如 Subtitle Studio——完全跳過設定步驟,還加上原始 Whisper 沒有的預處理與編輯工具。

如果你搜尋過「如何在 Mac 上執行 Whisper」,然後點進一篇教學文章,發現第一步之前竟然還有六個步驟,都還沒提到你的音訊檔——你沒有想錯。這篇文章會告訴你為什麼會這樣、大家通常卡在哪裡,以及免寫程式的替代方案。


OpenAI Whisper 是什麼(為什麼它不是一款 App)

Whisper 是 OpenAI 在 2022 年推出、之後持續更新(large-v3、turbo)的開源語音辨識模型。它真的很出色——支援 90 種以上語言、免費使用,而且完全在你自己的裝置上執行,不會上傳任何音訊。這正是為什麼那麼多人想自己動手跑跑看。

openai/whisper 的 GitHub 頁面——106k 顆星星,但這只是一個原始碼倉庫,沒有下載按鈕、沒有安裝程式,也沒有可以打開的 Appopenai/whisper 的 GitHub 頁面——106k 顆星星,但這只是一個原始碼倉庫,沒有下載按鈕、沒有安裝程式,也沒有可以打開的 App

留意這個頁面缺少什麼:下載按鈕、安裝程式、App 圖示。你拿到的其實是一個 Python 原始碼資料夾——106,000 人替這個倉庫按了星星,但按星星並不會在你的 Mac 上安裝任何東西。

但這個 GitHub 倉庫是一份 研究用程式碼,不是消費性產品。官方安裝說明 預設你已經熟悉:

  • 安裝與管理不同的 Python 版本
  • 使用 pip 與虛擬環境
  • 讀懂 Python 錯誤堆疊訊息(traceback)
  • 另外安裝一個系統相依套件(FFmpeg),這跟模型本身是分開的

對機器學習研究人員來說,這些要求都很合理。但對一個今晚就想幫 YouTube 影片做好字幕的人來說,門檻實在不低。


「官方」在 Mac 上執行 Whisper 的完整步驟

平心而論,Whisper 的 README 寫得不錯。以下是從「什麼都沒裝」到「畫面上出現逐字稿」實際需要做的事。

步驟 1:安裝 Homebrew

如果你還沒裝 Apple 這套非官方套件管理工具,第一步就是先裝它:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

步驟 2:安裝相容的 Python 版本

Whisper 的相依套件鏈(numbatiktoken、PyTorch)不支援最新的 Python 版本。以目前來說,Python 3.13 會讓安裝失敗——你需要 3.10、3.11 或 3.12:

brew install python@3.11

步驟 3:建立虛擬環境

為了避免 Whisper 的相依套件跟系統上其他東西打架,官方建議使用獨立環境:

python3.11 -m venv whisper-env
source whisper-env/bin/activate

步驟 4:安裝 FFmpeg

Whisper 本身不會解碼音訊——它會呼叫 FFmpeg,而這是另一個要單獨安裝的東西:

brew install ffmpeg

步驟 5:安裝 Whisper

pip install -U openai-whisper

步驟 6:跑出你的第一份逐字稿

whisper your-audio.mp3 --model turbo

六個步驟、三個各自獨立的安裝程式、一個你必須事先知道的 Python 版本限制——這些都還沒轉錄到任何一個字。而且這還是一切順利、沒出任何錯的版本。


大家通常卡在哪裡(GitHub 與 StackOverflow 上的真實案例)

搜尋 openai-whisper 安裝問題,會一再看到同樣幾種失敗情況。以下直接引用真實回報內容,沒有改寫。

「Whisper 無法在 Python 3.13 上使用」

如果你安裝的是 python.org 上最新的 Python,而不是用 Homebrew 指定舊版本,安裝會立刻失敗:

Getting requirements to build wheel ... error
KeyError: '__version__'

正如該討論串其中一則回答所說:「以目前 Whisper 相依套件鏈中已發佈、受支援的版本來看,Whisper 無法在 Python 3.13 上使用。」來源:StackOverflow)解法是降版 Python、重建虛擬環境——如果你不知道 Whisper 對版本這麼敏感,根本猜不到問題出在這裡。

明明已經裝好 ffmpeg,卻還是說「找不到 ffmpeg」

這是 Mac 上最常見的 Whisper 錯誤之一,讓人抓狂的地方在於,看起來該做的都做了,錯誤卻沒消失:

FileNotFoundError: [Errno 2] No such file or directory: 'ffmpeg': 'ffmpeg'

發問者已經成功執行過 brew install ffmpeg、重新安裝過一次,甚至試過 Python 的 FFmpeg 包裝套件——實際問題其實是 FFmpeg 的執行檔沒有出現在 Python 看得到的 PATH 裡。(來源:StackOverflow)要診斷 PATH 問題,前提是你得先知道什麼是 PATH

Mac 沒有 CUDA——但多數教學都預設你有

幾乎每一篇 Whisper 效能教學都會提到 CUDA,也就是 NVIDIA 的 GPU 框架。但 Mac 沒有 NVIDIA 顯示卡。Apple Silicon 用的是 MPS(Metal Performance Shaders),而 PyTorch 對 MPS 的支援有實際存在、有紀錄可查的缺口:

NotImplementedError: The operator 'aten::isin.Tensor_Tensor_out' is not
currently implemented for the MPS device. ... you can set the environment
variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to use the CPU as a fallback for
this op.

這是一個與 Whisper 同類型的 PyTorch 模型,在 Apple Silicon 上實際出現的錯誤。(來源:GitHub — huggingface/transformers #31408)建議的解法是讓那個運算退回 CPU 執行——換句話說,為了修好一個「只因為你用的是 Mac」才會出現的 bug,你得犧牲速度。

安裝過程跳出 Rust 編譯器錯誤

Whisper 依賴 OpenAI 的 tiktoken 分詞器。如果你的平台沒有現成的 wheel 檔可用,pip 就會試著從原始碼編譯,而這需要一套你大概率沒裝過的 Rust 工具鏈。官方 README 也直接點出這點:如果安裝失敗並顯示 No module named 'setuptools_rust',你需要額外安裝 setuptools-rust,甚至可能要裝完整的 Rust 開發環境。只是要跑一個語音轉文字模型,卻要先裝一套編譯器工具鏈。

「更快」的方案需要自己編譯原始碼

原版 Whisper 跑在 PyTorch 上,在 Mac 上明顯偏慢,所以常見的建議是改用 whisper.cppmlx-whisper 來發揮 Apple Silicon 的真正速度。這兩者確實比較快——但代價是把 Python 環境設定,換成另一種設定:

git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
make
./models/download-ggml-model.sh large-v3
./main -m models/ggml-large-v3.bin -f your-audio.wav

這需要 git、一套 C++ 編譯工具鏈,還要手動下載模型檔——怎麼看都稱不上「免寫程式」。而且就算你順利編譯成功,事情也可能以很難排查的方式出錯。有位資深使用者在 M4 Mac mini 上,用自己編譯的 whisper.cpp 執行檔批次處理一堆檔案:在 M1 上「跑得完全正常」,但在 M4 上,跑個幾小時後就「直接停止」輸出,沒有錯誤訊息,也沒有當機——他的解法是寫一支腳本,每小時自動關掉、重啟一次程序。(「Whisper 繼續在跑,終端機沒有任何錯誤,也沒有當機……就是不再有任何輸出了。」)(來源:Ars Technica OpenForum

這可不是新手才會犯的錯——這是一位資深使用者,仍然需要寫腳本、排程來繞過的問題。

「安裝過程非常不友善」

這則抱怨是針對一款以 Whisper 為基礎的工具,在 GitHub 上提出的 issue,完整總結了非工程背景使用者的體驗:「安裝程式非常不友善,大檔案下載過程一直中斷,導致安裝不完整,資料夾裡也少了執行檔……對沒有寫程式背景的人來說,唯一的辦法只剩下解除安裝。」來源:GitHub — meizhong986/WhisperJAV #85)而該討論串最後的解法,同樣是 Python 版本不相容——一位陌生網友一步步帶著發問者在終端機裡操作才解決。

就算跑起來,大模型也可能爆記憶體

large-v3 模型大約需要 10 GB 的 VRAM/統一記憶體才能順暢執行。在標配 8 GB 或 16 GB 的 MacBook 上,這個門檻相當緊繃,足以讓程序直接當掉,逼你退而求其次改用較小、準確率較低的模型。


就算跑起來了,Whisper 本身也不等於字幕

假設你排除萬難,終於跑出 whisper your-video.mp4 --model large-v3 這樣的指令。你拿到的是一份 逐字稿,不是字幕——對影片來說,這是完全不同的任務:

  • 沒有預處理。 Whisper 會原封不動地接收你的音訊。如果有背景音樂、房間回音或吵雜的片頭,模型完全不知道要忽略——而且它有紀錄可查的問題是,在靜音或音樂段落時會產生幻覺(重複句子、捏造從未出現的對白),而不是老實承認自己不確定。
  • 時間軸只是近似值。 Whisper 內建的時間戳記大約四捨五入到最近一秒——對逐字稿還好,但字幕需要在有人開口的那一刻精準出現。
  • 沒有換行邏輯。 原始輸出常見冗長連續區塊或尷尬的句中斷行,而且除了打開 .srt 檔用文字編輯器手動修之外,沒有任何工具可以處理。
  • 沒有翻譯功能。 如果你需要第二語言的字幕軌,那完全是另一套工具與流程。
  • 沒有編輯介面。 一切都在終端機裡完成。沒有波形圖、沒有拖曳調整、也沒有復原按鈕。

換句話說,解決了安裝問題,不代表解決了字幕問題。你最後還是需要另一個工具,把粗糙的逐字稿變成真正能發布的東西。


最簡單的方法:完全跳過 Python,直接用 Subtitle Studio

Subtitle Studio 執行的是同一類 Whisper 模型,但包裝成一款 原生 Mac App:下載、把影片拖進去,就能拿到字幕。不用終端機、不用管理 Python 版本、不用排查 pip install 的錯誤。

Subtitle Studio 編輯器,波形、字幕列表與影片預覽對齊語音Subtitle Studio 編輯器,波形、字幕列表與影片預覽對齊語音

除了完全跳過終端機安裝之外,你還能得到:

  • 針對 Apple Silicon 調校的模型。 轉錄模型專門針對 M 系列晶片與 Metal 加速最佳化——而不是一套通用 PyTorch 版本,一遇到 MPS 不支援的運算就退回 CPU。
  • 轉錄前的預處理。 語音活動偵測(VAD)與降噪會在 Whisper 處理音訊之前先清理過,讓背景音樂與房間雜訊造成的漏字、幻覺文字都大幅減少——這正是原始 Whisper 最為人詬病的失效模式。
  • 幻覺過濾。 透過信心分數與語音活動分析,偵測並移除模型在靜音或音樂時捏造的幽靈文字,而不是直接把它們送進你的字幕檔。
  • 強制對齊。 轉錄完成後,強制對齊器會將文字以詞級別對應回音訊波形,取代 Whisper 那種約 1 秒四捨五入的時間戳記,換來影格級精準時間軸。
  • NLP 分段處理。 原始逐字稿會在自然片語邊界重新分段成易讀的字幕行,而不是按任意字元數硬切。
  • 內建編輯工具。 拖曳調整字幕時間軸、分割過長的一行,或合併零碎片段——不必匯出到文字編輯器。

Subtitle Studio 重新對齊工具,字幕區塊正被拖曳以對齊音訊波形Subtitle Studio 重新對齊工具,字幕區塊正被拖曳以對齊音訊波形

  • 裝置端翻譯。 將完成的字幕翻譯成 25 種語言,完全離線執行,不需要 API 金鑰,也沒有逐字計費——可參考我們的 離線字幕翻譯深度介紹,了解本機模型如何運作。

Subtitle Studio 翻譯面板,顯示語言選擇器與 AI 供應商選項Subtitle Studio 翻譯面板,顯示語言選擇器與 AI 供應商選項

你的音訊與影片絕不會離開你的 Mac——與自己動手跑 Whisper 一樣的隱私保障,只是少了設定的麻煩。

Subtitle Studio

買斷制,無訂閱,完全離線運行於你的 Mac。


Whisper 指令列 vs Subtitle Studio 並排比較

OpenAI Whisper(指令列)Subtitle Studio
安裝設定Homebrew、Python 版本管理、虛擬環境、FFmpeg、pip install下載 App、直接打開
需要寫程式需要——終端機指令、偶爾要排查相依套件問題不需要
Apple Silicon 加速取決於 PyTorch 的 MPS 支援程度(有已知缺口)內建、Metal 最佳化模型
音訊預處理無——原始音訊直接送進模型轉錄前先做 VAD + 降噪
幻覺處理無——原始模型輸出自動偵測並過濾
時間戳記精準度約 1 秒粒度詞級強制對齊
字幕換行無——需手動清理自動 NLP 分段
編輯工具匯出檔案後用文字編輯器波形式拖曳重新對齊、分割、合併
翻譯功能未內建內建、離線、25 種語言
輸出格式.txt.srt.vtt.srt.fcpxml
費用免費(付出的是你的時間)一次性買斷

結論

如果你是開發者,想把 Whisper 寫進自動化流程、批次處理成千上萬個檔案,或自行微調模型,官方指令列工具就是對的選擇——那份彈性正是它設計的初衷,而設定成本也只需要付一次。

如果你只是想在不打開終端機的情況下,拿到準確、可直接發布的影片字幕,免寫程式的路徑會讓你更快抵達目的地:同樣的底層技術,省去環境管理的麻煩,再加上一整套原始 Whisper 從未打算納入的字幕專用工具。

Subtitle Studio

不需要 Python、Homebrew 或終端機,把影片拖進去就好。


常見問題

在 Mac 上執行 Whisper 需要懂 Python 嗎?

要使用官方的 openai-whisper 套件,答案是需要——你得安裝 Python、管理虛擬環境,並在終端機執行指令。如果你不想碰程式碼,像 Subtitle Studio 這類 App 執行的是同一類模型,但提供拖放介面,完全不需要寫程式。

為什麼 Whisper 在我的 Mac 上安裝失敗?

最常見的原因是:使用了不受支援的 Python 版本(目前 3.13 會讓安裝失敗,請用 3.10 至 3.12)、就算裝了 FFmpeg 但沒有出現在系統 PATH 裡,以及缺少編譯 tiktoken 相依套件所需的 Rust 編譯器。這幾種情況會產生完全不同、而且相當難懂的錯誤訊息。

Whisper 會用到我 Mac 的 GPU 嗎?

會,透過 PyTorch 裡 Apple 的 MPS(Metal Performance Shaders)後端,但 MPS 對 Whisper 部分運算的支援有紀錄可查的缺口——某些運算子沒有實作,會悄悄退回速度較慢的 CPU 執行。whisper.cpp 與 mlx-whisper 通常能更有效地運用 Apple Silicon,但兩者都需要自行編譯原始碼。

openai-whisper、whisper.cpp 與 mlx-whisper 有什麼差別?

openai-whisper 是 OpenAI 官方的 Python 套件——用 pip 安裝最簡單,但因為透過 PyTorch 的 MPS 後端執行,在 Apple Silicon 上速度較慢。whisper.cpp 是一套 C++ 重新實作版本,直接使用 Metal,速度明顯更快,但你得自己複製倉庫並編譯。mlx-whisper 使用 Apple 自家的 MLX 框架,在 M 系列晶片上通常是最快的選項,同樣需要類似的原始碼編譯設定。這三者都不包含音訊預處理、字幕編輯或翻譯功能——它們是轉錄引擎,不是字幕工具。

有沒有免費、又不用寫程式就能在 Mac 上跑 Whisper 的方法?

Whisper 模型本身免費且開源,但要在完全不用設定的情況下執行,需要一套包裝好的 App,而不是原始的 Python 函式庫——總得有人幫你處理安裝、模型管理與介面。Subtitle Studio 就是專為此設計的 Mac App:不需要終端機、不需要管理相依套件,一次性買斷取代訂閱制。

Subtitle Studio 用的是跟指令列一樣的 Whisper 模型嗎?

Subtitle Studio 使用的是針對影片創作者實際會遇到的混合音訊——片頭音樂上的對白、房間雜訊、多語言語音——特別優化、微調過的 Whisper 模型,並搭配 Apple Silicon 加速。它被包裝在一整套管線中(預處理、幻覺過濾、強制對齊、NLP 分段),而不是你用 pip install openai-whisper 拿到的那個獨立模型。想進一步了解這套管線如何影響實際輸出結果,可以參考我們的 MacWhisper vs Subtitle Studio 比較文章

免費試用 Subtitle Studio

一次性購買。無月費訂閱。完全在你的 Mac 上離線運作。

下載 Mac 版 — 免費