Faster Whisper

部分內容由 LLM 生成,尚未經過人工驗證。

Faster Whisper 是基於 CTranslate2 的 Whisper 重新實作,相比原版 OpenAI Whisper 可提升 4 倍速度,同時減少記憶體使用量。

Faster Whisper 本身是 Python 函式庫,沒有內建 CLI。若需命令列操作,請安裝 whisper-ctranslate2,其 CLI 介面與原版 OpenAI Whisper 完全相同。

與原版 Whisper 的差異

項目OpenAI WhisperFaster Whisper
引擎PyTorchCTranslate2
速度基準約 4x 更快
記憶體較高較低
量化支援有限int8 / float16
GPU 支援CUDACUDA
CPU 優化一般優化

安裝

安裝 CLI 工具(whisper-ctranslate2)

# 安裝 CLI 包裝器(內含 faster-whisper)
pip install whisper-ctranslate2

僅安裝函式庫

# 使用 pip
pip install faster-whisper

# 使用 uv
uv pip install faster-whisper

安裝 ffmpeg(必要依賴)

Faster Whisper 需要 ffmpeg 處理音訊:

# 使用 Chocolatey
choco install ffmpeg

# 或使用 Scoop
scoop install ffmpeg
brew install ffmpeg
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg

# Arch Linux
sudo pacman -S ffmpeg

可用模型

模型參數量所需 VRAM說明
tiny39 M~1 GB最快,準確度較低
base74 M~1 GB平衡選擇
small244 M~2 GB較佳準確度
medium769 M~5 GB高準確度
large-v21550 M~10 GB最高準確度
large-v31550 M~10 GB最新版本

CLI 用法

CLI 介面與原版 OpenAI Whisper 相同,詳細用法請參考 Whisper 頁面。

基本轉錄

# 基本用法
whisper-ctranslate2 audio.mp3

# 指定模型
whisper-ctranslate2 audio.mp3 --model large-v3

# 指定語言(跳過自動偵測)
whisper-ctranslate2 audio.mp3 --language zh

輸出格式

# 輸出 SRT 字幕
whisper-ctranslate2 audio.mp3 --output_format srt

# 輸出多種格式
whisper-ctranslate2 audio.mp3 --output_format all

# 指定輸出目錄
whisper-ctranslate2 audio.mp3 --output_dir ./output

效能選項

# 使用 int8 量化(減少記憶體)
whisper-ctranslate2 audio.mp3 --compute_type int8

# 啟用 VAD 過濾靜音
whisper-ctranslate2 audio.mp3 --vad_filter true

# 批次推理(額外 2-4x 加速)
whisper-ctranslate2 audio.mp3 --batched true

常用參數

參數說明預設值
device運算設備 (cuda / cpu / auto)auto
compute_type運算精度float16
language指定語言(如 zh, en, ja自動偵測
beam_sizeBeam search 大小5
vad_filter啟用 VAD 過濾靜音段落False
word_timestamps詞級時間戳False

compute_type 選項

類型說明適用場景
float32完整精度CPU 推理
float16半精度GPU 推理(推薦)
int88-bit 量化低記憶體 GPU/CPU
int8_float16混合精度平衡速度與準確度

常見問題

支援的音訊格式

透過 ffmpeg 支援:

  • 音訊:MP3, WAV, FLAC, AAC, OGG, M4A
  • 影片:MP4, MKV, AVI, MOV(自動擷取音軌)

模型下載位置

模型預設下載至:

  • Linux/macOS: ~/.cache/huggingface/hub/
  • Windows: C:\Users\<user>\.cache\huggingface\hub\

最佳實踐

  1. 選擇適當模型:一般用途使用 basesmall,需要高準確度使用 large-v3
  2. 啟用 VAD:長音訊建議啟用 VAD 過濾靜音段落
  3. 指定語言:已知語言時指定可跳過偵測,加快處理
  4. 使用量化:記憶體不足時使用 int8int8_float16

相關主題