Whisper 是 OpenAI 開源的免費語音辨識模型,MIT 授權、支援 99 種語言,中文逐字稿與字幕都能直接轉。安裝只要 pip install openai-whisper 加上 ffmpeg,一行指令就能把 MP3、錄音檔甚至 YouTube 影片轉成文字——而且完全免費、隱私不外流,是 2026 年台灣做會議記錄、Podcast 逐字稿、影片字幕最划算的選擇。
一句話結論
OpenAI Whisper 是免費開源的 AI 語音轉文字工具(MIT 授權、支援 99 種語言),用
pip install openai-whisper安裝後,whisper audio.mp3 --model turbo一行指令就能產出繁體中文逐字稿與 SRT 字幕;追求速度改用 faster-whisper,追求低資源改用 whisper.cpp。
Whisper 是什麼?
Whisper 是 OpenAI 在 2022 年發表的通用語音辨識模型,它的特別之處在於:不是只做「英文轉文字」這種單一任務,而是一個多任務模型,同時具備:
- 多語言語音辨識(speech recognition)——聽懂 99 種語言,包含繁體中文
- 語音翻譯(translation)——直接把非英語語音翻成英文
- 語言識別(language identification)——自動判斷音檔講的是哪種語言
- 語音活動偵測(VAD)——自動跳過沒有說話的段落
架構上它是標準的 Transformer seq2seq 模型,把「語音→文字」當成一個 token 序列預測問題,一個模型就取代了傳統語音管線的好幾個階段。程式碼與模型權重都是 MIT 授權,商用、改寫、自己拿去微調都沒有法律問題——這在 AI 圈是非常佛心的授權。
安裝:只需要兩步
Whisper 官方版(openai/whisper)是 PyTorch 實作,安裝非常簡單:
# 1. 安裝 Whisper
pip install -U openai-whisper
# 2. 安裝 ffmpeg(處理音訊用)
# Ubuntu / Debian
sudo apt update && sudo apt install ffmpeg
# macOS(Homebrew)
brew install ffmpeg
💡 如果
pip install在 tiktoken 階段出錯,通常是缺少 Rust 工具鏈:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh裝完重試即可。Windows 用戶可以用 Chocolatey:choco install ffmpeg。
模型怎麼選?一張表看懂
Whisper 提供 6 種模型大小,速度和準確度是取捨關係。下表是官方 README 的規格(速度以 large 為基準、在 A100 上測量):
| 模型 | 參數量 | 記憶體需求 | 相對速度 | 適合場景 |
|---|---|---|---|---|
tiny | 39M | ~1 GB | ~10x | 快速測試、英文短句 |
base | 74M | ~1 GB | ~7x | 語音備忘錄 |
small | 244M | ~2 GB | ~4x | 中文日常對話、資源有限 |
medium | 769M | ~5 GB | ~2x | 中文較佳、需要翻譯 |
large | 1550M | ~10 GB | 1x | 最高準確度、學術研究 |
turbo | 809M | ~6 GB | ~8x | 中文+速度平衡,最推薦 |
實戰建議:一般中文逐字稿直接選 turbo(它是 large-v3 的最佳化版本,速度 8 倍、準確度幾乎不掉);追求極致準確再上 large。.en 結尾的模型只做英文,中文用戶請用多語言版本。
一行指令產出逐字稿
裝好之後,最簡單的使用方式就是 CLI:
# 基本用法:自動偵測語言並轉錄
whisper 會議錄音.mp3 --model turbo
# 指定中文(避免自動偵測失誤),並輸出 SRT 字幕
whisper 會議錄音.mp3 --model turbo --language zh --output_format srt
# 輸出所有格式(txt / srt / vtt / tsv / json),存到指定資料夾
whisper 會議錄音.mp3 --model turbo --output_format all --output_dir ./transcripts
幾個常用參數:
| 參數 | 說明 |
|---|---|
--model | 模型大小,預設就是 turbo |
--language | 指定語言(如 zh、Japanese),不指定會自動偵測 |
--task translate | 把非英語語音翻譯成英文 |
--output_format | txt / srt / vtt / tsv / json / all,預設 all |
--output_dir | 輸出資料夾(-o) |
--initial_prompt | 給模型「提示詞」,中文辨識的超級密技(見下) |
--fp16 | 預設 True,CPU 上會自動降為 fp32 |
⚠️ 注意:
turbo模型不支援翻譯任務(它只輸出原語言)。要「中文語音翻成英文」請改用medium或large。
Python API:寫進你的自動化流程
想要寫程式批次處理,用 Python API 更彈性:
import whisper
model = whisper.load_model("turbo") # 載入模型(第一次會自動下載)
result = model.transcribe("會議錄音.mp3") # 轉錄
print(result["text"]) # 全文
for seg in result["segments"]: # 分段 + 時間戳
print(f"[{seg['start']:.1f}s -> {seg['end']:.1f}s] {seg['text']}")
中文逐字稿最佳化:initial_prompt 是關鍵
Whisper 對中文的辨識已經很強,但台灣用戶常遇到兩個困擾:簡體字輸出、專有名詞亂翻。解法是 --initial_prompt,用提示詞引導模型:
whisper 訪談.mp3 --model turbo --language zh \
--initial_prompt "以下是台灣國語的訪談逐字稿,請使用繁體中文輸出,並加上適當標點符號。"
專有名詞(人名、公司名、產品名)也可以用同樣技巧,先餵給模型:
whisper 股東會.mp3 --model turbo --language zh \
--initial_prompt "台積電、輝達、聯發科、生成式AI、CoWoS 先進封裝"
根據社群實測,提示詞對「熱詞」的辨識改善非常明顯——把會議中會出現的術語列進去,錯誤率可以顯著下降。
想要更快?faster-whisper 實測快 4 倍
官方版用 PyTorch,慢是最大痛點。faster-whisper 用 CTranslate2 引擎重寫了 Whisper,相同準確度下最高快 4 倍、記憶體更省,而且不需要另外裝 ffmpeg(它用 PyAV 內建解碼)。官方 benchmark(13 分鐘音檔、large-v2、RTX 3070 Ti):
| 實作 | 精度 | 時間 | VRAM |
|---|---|---|---|
| openai/whisper | fp16 | 2m23s | 4708 MB |
| whisper.cpp(Flash Attention) | fp16 | 1m05s | 4127 MB |
| faster-whisper | fp16 | 1m03s | 4525 MB |
| faster-whisper(batch_size=8) | fp16 | 17s | 6090 MB |
| faster-whisper(batch_size=8) | int8 | 16s | 4500 MB |
同一個 13 分鐘的音檔,官方版要 2 分 23 秒,faster-whisper 開批次加 int8 量化只要 16 秒——將近 9 倍差距。CPU 上差距更誇張(small 模型):官方版 6 分 58 秒,faster-whisper int8 批次只要 51 秒。
使用方式幾乎一樣:
from faster_whisper import WhisperModel
# GPU 用 float16;CPU 用 int8
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
# model = WhisperModel("large-v3", device="cpu", compute_type="int8")
segments, info = model.transcribe("會議錄音.mp3", beam_size=5, vad_filter=True)
print(f"偵測語言:{info.language}(信心度 {info.language_probability:.2f})")
for seg in segments:
print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")
幾個進階功能特別實用:
vad_filter=True:內建 Silero VAD,自動過濾靜音段落(預設只移除超過 2 秒的靜音)word_timestamps=True:字級時間戳,做逐字對齊字幕用BatchedInferencePipeline:批次轉錄,吞吐量大增- 支援
distil-large-v3蒸餾模型,再快一截
邊緣裝置救星:whisper.cpp
如果你要在沒 GPU 的機器、樹莓派、甚至手機上跑,那就用 whisper.cpp——純 C/C++ 實作(ggml),記憶體占用極低、CPU 也能跑很快,還支援 Metal(Apple Silicon)、Vulkan 等加速。
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
make
# 下載模型並轉錄
./main -m models/ggml-turbo.bin -f 會議錄音.mp3 -l zh -otxt
三種實作怎麼選?直接看這張表
| 比較 | openai/whisper | faster-whisper | whisper.cpp |
|---|---|---|---|
| 引擎 | PyTorch | CTranslate2 | C/C++(ggml) |
| 速度 | 基準(最慢) | 最快(~4x 起跳) | 很快 |
| 記憶體 | 較高 | 低(int8 量化) | 最低 |
| 需要 ffmpeg? | ✅ 需要 | ❌ 不用 | ❌ 不用 |
| GPU 支援 | CUDA | CUDA | CUDA / Metal / Vulkan |
| 中文品質 | 相同模型、相同品質 | 相同 | 相同 |
| 特別功能 | 官方、文件最全 | VAD、批次、字級時間戳 | 手機、樹莓派、單檔執行檔 |
| 適合誰 | 新手、教學、快速上手 | 生產環境、大量轉錄 | 邊緣裝置、無 GPU 用戶 |
三者共用同一批 OpenAI 模型權重,辨識品質本質上相同,差別只在引擎與生態系。新手建議從官方版開始,確認流程跑通後,大量轉錄直接換 faster-whisper。
實戰:把 YouTube 影片變成逐字稿
這是台灣創作者最常用的組合技——把 YouTube 影片下載、抽音訊、轉文字,全程免費:
flowchart LR
A[YouTube 影片] -->|yt-dlp| B[下載 MP4/M4A]
B -->|ffmpeg| C[抽音訊 WAV/MP3]
C -->|faster-whisper| D[逐字稿 TXT]
C -->|--output_format srt| E[字幕 SRT/VTT]
D --> F[筆記・文章・會議記錄]
E --> G[影片字幕・雙語字幕]# 1. 下載影片音軌(yt-dlp,支援 1000+ 網站)
yt-dlp -x --audio-format mp3 "https://www.youtube.com/watch?v=XXXX"
# 2. 轉成逐字稿
whisper 影片音軌.mp3 --model turbo --language zh --output_format all
出來的 .srt 可以直接丟進剪輯軟體當字幕,.json 檔含逐字時間戳,適合做精準剪輯或「AI 摘要」的前處理——把逐字稿丟給 ChatGPT/Claude,就能自動產出重點整理、標題、社群貼文,這條「語音→文字→LLM」的管線現在已經是內容創作者的標準流程。
完整流程圖
graph TD
A[原始音訊<br/>MP3/WAV/M4A] --> B{選哪個引擎?}
B -->|新手/教學| C[openai/whisper<br/>pip 安裝]
B -->|大量轉錄| D[faster-whisper<br/>4x 速度+VAD]
B -->|無 GPU/邊緣| E[whisper.cpp<br/>低記憶體]
C --> F[中文提示詞<br/>initial_prompt]
D --> F
E --> F
F --> G[逐字稿 TXT]
F --> H[字幕 SRT/VTT]
F --> I[JSON 時間戳]
G --> J[筆記/文章/LLM 摘要]免費 vs 付費:什麼時候該用雲端 API?
Whisper 開源版完全免費,但有三個限制:需要自己的硬體(長音檔很吃 CPU/VRAM)、沒有 GUI、安裝有門檻。如果你的需求是「偶爾轉幾段錄音」或「想要圖形介面」,可以考慮:
- OpenAI 官方 API(whisper-1):上傳檔案即可,按分鐘計費,不用管硬體
- aTrain:開源 GUI 版 faster-whisper,Windows/Linux 點幾下就能轉
- WhisperX:在 faster-whisper 基礎上加上說話者分離(誰在講話)+ 更精準的字級時間戳,訪談記錄神器
- WhisperLive:接近即時的串流轉錄,會議現場直接出稿
對台灣用戶最實用的建議:隱私敏感的內容(醫療、法律、公司會議)用開源版自己跑,資料完全不出機器——這點是雲端 API 永遠比不上的。
延伸閱讀
- MLX-Audio:為 Apple Silicon 最佳化的 TTS、STT 和 STS 函式庫(Mac 用戶的本地語音方案)
- yt-dlp:功能豐富的開源 YouTube 與影片下載工具(下載影片音軌的必備工具)
- ChatTTS:開源文字轉語音(TTS)工具(跟 Whisper 相反方向的語音工具)
- MarkItDown 教學:Microsoft 官方 PDF、Office 轉 LLM 友善 Markdown(文字處理管線的下一步)
- Surya:開源多語言 OCR 與文件理解系統(掃描檔轉文字的另一條路)
