AI 科技新聞站每日更新
開發工具2026年9月27日

OpenAI Whisper 怎麼用?從安裝到輸出字幕,一篇搞定

A
AI 觀察家
專欄作者 · 2747 字
OpenAI Whisper 怎麼用?從安裝到輸出字幕,一篇搞定

你可能早就在用 ChatGPT 或 API,但 Whisper 這個工具很多人其實從來沒認真碰過。它是 OpenAI 在 2022 年底開源的語音轉文字模型,到 2026 年依舊是準確度、多語言支援跟免費程度之間最平衡的選項之一。白話講就是:你給它一段音訊,它吐出逐字稿或字幕檔,而且中文、日文、台語夾雜英文都行。

這篇的目標很明確:讓你從零跑出第一份逐字稿,然後知道怎麼把它接進實際需求——不管是 YouTube 字幕、Zoom 會議紀錄還是 Podcast 後製。


你需要先準備什麼

硬體:有 NVIDIA GPU 會快很多,但沒有也能跑,只是 CPU 模式處理長音訊會慢。M1/M2/M3 Mac 用 MPS 加速也 OK。

軟體前置條件:

  • Python 3.9 以上(建議 3.11)
  • ffmpeg:Whisper 底層要用它解碼音訊,沒裝會直接報錯
  • pip 或 conda 管理環境

安裝 ffmpeg 最省力的方式:

  • Mac:brew install ffmpeg
  • Ubuntu/Debian:sudo apt install ffmpeg
  • Windows:從 ffmpeg.org 下載或用 winget

Step 1:建虛擬環境、裝 Whisper

別直接裝在系統 Python,這種事做多次就知道為什麼了。

python -m venv whisper-env
source whisper-env/bin/activate  # Windows 用 whisper-env\Scripts\activate
pip install openai-whisper

這會把 Whisper 跟它依賴的 PyTorch 一起拉進來,體積不小,第一次裝需要一點時間。


Step 2:選模型大小,第一次先用 small

Whisper 有五個模型等級:tiny、base、small、medium、large(目前最新是 large-v3)。

模型 VRAM 需求 速度 適合場景
tiny ~1 GB 最快 快速草稿
base ~1 GB 快 英文為主
small ~2 GB 中 新手首選
medium ~5 GB 慢 多語言夾雜
large-v3 ~10 GB 最慢 高準確度需求

第一次跑建議 small,準確度夠用又不會等太久。如果你是在 CPU 上跑,tiny 或 base 比較不痛苦。


Step 3:執行轉錄,輸出你要的格式

最基本的指令:

whisper audio.mp3 --model small

Whisper 預設會輸出 .txt、.vtt、.srt、.tsv、.json 五種格式,全部一起吐出來。如果只要 SRT 字幕:

whisper audio.mp3 --model small --output_format srt

中文音訊要指定語言,不然它會先跑語言偵測浪費時間:

whisper audio.mp3 --model small --language zh

輸出檔案會存在當前目錄,檔名跟音訊檔一樣、副檔名換掉。


Step 4:用 Python API 整合進你的工作流

如果你不是只要一次性轉錄、而是要把 Whisper 接進某個自動化流程,直接用 Python 呼叫更靈活:

import whisper

model = whisper.load_model("small")
result = model.transcribe("audio.mp3", language="zh")

print(result["text"])  # 完整逐字稿
for segment in result["segments"]:
    print(f"[{segment['start']:.1f}s] {segment['text']}")

result["segments"] 裡每一段都有開始時間、結束時間跟文字,你可以直接拿來生字幕、做關鍵字搜尋,或餵進 LLM 做摘要。

如果你在用 OpenAI 的其他服務,可以參考 OpenAI API 實戰踩坑筆記 裡對 API 定價結構的說明——Whisper 也有雲端版本可以直接打 API,不用本地跑。


常見錯誤與怎麼避開

「No module named 'whisper'」:你忘了啟動虛擬環境,或裝錯成 whisper 而不是 openai-whisper(這兩個是不同 package)。

「ffmpeg not found」:裝了 ffmpeg 但沒加進 PATH。Mac 用 Homebrew 裝通常沒問題,Windows 要手動設環境變數。

中文逐字稿有大量錯字:試試看換成 medium 或 large-v3,small 對中文方言或口音較重的音訊支援有限。另外確認有加 --language zh,讓它跳過語言偵測步驟。

跑很慢:如果是 NVIDIA GPU 但沒用到,檢查 PyTorch 版本是否有 CUDA 支援:python -c "import torch; print(torch.cuda.is_available())",輸出 False 代表沒抓到 GPU。


進階技巧:timestamp、音訊分段、搭配其他工具

Word-level timestamp:Whisper 支援輸出每個詞的時間點,搭配 whisper-timestamped 這個第三方套件可以做到,適合做 Karaoke 字幕或精確剪輯。

長音訊分段:超過 30 分鐘的檔案建議先用 pydub 切段再分批送,可以避免記憶體爆掉的問題,速度也比較好控制。

接進自動化流程:Whisper 輸出的逐字稿接上 LLM 做摘要是很常見的組合。如果你在想怎麼讓 LLM「查資料」而不是死背,可以看看 RAG 是什麼? 這篇,把會議記錄建成可查詢的知識庫是個蠻實用的應用。

批次處理多檔:Python 跑迴圈就能搞定:

import whisper, os
model = whisper.load_model("small")
for f in os.listdir("./audio_files"):
    if f.endswith(".mp3"):
        result = model.transcribe(f"./audio_files/{f}", language="zh")
        with open(f"{f}.txt", "w") as out:
            out.write(result["text"])

跑完之後,確認一下這幾點

跑出第一份逐字稿之後,檢查幾個東西:

  • SRT 時間軸有沒有偏移?(常見於音訊開頭有長靜音的情況)
  • 專有名詞或人名有沒有辨識錯?(這個 Whisper 本來就弱,可以後處理替換)
  • 如果要上傳 YouTube,.vtt 格式直接支援,不用轉檔

下一步可以試著把逐字稿接進 Fine-tuning vs RAG 裡提到的 RAG 架構,讓你的會議紀錄變成可以問答的知識庫——這個組合在 2026 年已經是蠻成熟的 workflow 了。

常見問題

Whisper 要有 GPU 才能跑嗎?

不一定。Whisper 在 CPU 上也能執行,只是速度較慢,處理長音訊時會很明顯。如果你有 NVIDIA GPU 且 PyTorch 有 CUDA 版本,速度會快很多;M1/M2/M3 Mac 則可以用 MPS 加速,體感也比純 CPU 快。

Whisper 跟 OpenAI 的雲端語音 API 有什麼差?

本地跑的 Whisper 是開源版本,免費但需要自己的硬體。OpenAI 也提供雲端 Whisper API(/v1/audio/transcriptions),按分鐘計費,不用管理本地環境,適合不想自己架的情境,但長時間大量使用成本會累積。

Whisper 的中文辨識準確嗎?

用 medium 或 large-v3 模型、並加上 --language zh 參數的話,普通話的準確度相當不錯。台語、廣東話或口音很重的音訊會有明顯掉字,這類情境目前還是建議用更大的模型或後處理校正。

輸出的 SRT 字幕時間對不上怎麼辦?

最常見原因是音訊開頭有長靜音,Whisper 的 VAD(語音活動偵測)有時會跳過或誤判。解法是先用 ffmpeg 剪掉靜音頭,或用 --condition_on_previous_text False 參數減少累積誤差。

可以直接處理影片檔嗎?

可以。Whisper 底層透過 ffmpeg 解碼,所以 .mp4、.mov、.mkv 等影片格式可以直接傳入,不用手動先抽出音軌。指令跟音訊檔完全一樣,直接把檔名換成影片檔即可。

分享這篇

同系列文章