Files
momentry_core/scripts/PYANNOTE_VS_ASRX_COMPARISON.md
Warren 8f05a7c188 feat: update Python processors and add utility scripts
- Update ASR, face, OCR, pose processors
- Add release pre-flight check script
- Add synonym generation, chunk processing scripts
- Add face recognition, stamp search utilities
2026-04-30 15:07:49 +08:00

8.0 KiB
Raw Permalink Blame History

pyannote.audio vs ASRX (WhisperX) 詳細比較

比較日期: 2026-04-02


📊 快速對比表

特性 pyannote.audio ASRX (WhisperX) 優勝
主要功能 說話人分離 ASR + 說話人分離 -
ASR 轉錄 需要整合 內建 ASRX
說話人分離 專業 SOTA ⚠️ 整合 pyannote pyannote
時間戳對齊 內建 ASRX
多語種支援 完美 完美 平手
配置難度 ASRX
準確度 95%+ 85-90% pyannote
處理速度 4-5x 實時 16x 實時 ASRX
需要 Token HuggingFace 不需要 ASRX

🔍 核心區別

1. 產品定位

pyannote.audio:

  • 🎯 專業說話人分離工具
  • 專注於「誰在說話」
  • 不處理「說了什麼」
  • 需要與 ASR 整合

ASRX (WhisperX):

  • 🎯 完整語音處理流程
  • 包含 ASR 轉錄 + 說話人分離
  • 處理「說了什麼」+ 「誰在說話」
  • 一站式解決方案

2. 技術架構

pyannote.audio:

音頻 → 聲紋提取 → 說話人聚類 → SPEAKER_00/01/02
       (不分析內容)

ASRX (WhisperX):

音頻 → Whisper ASR → 文字轉錄
       ↓
    時間戳對齊
       ↓
    pyannote 說話人分離
       ↓
    最終結果:[SPEAKER_00] 文字內容

3. 功能對比

ASR 語音識別

功能 pyannote.audio ASRX
語音轉文字 需要整合 Whisper 內建
語言檢測 需要額外工具 自動檢測
多語種支援 (透過 Whisper) 內建
準確度 取決於 ASR 85-90%

結論: ASRX 贏(內建完整 ASR


說話人分離

功能 pyannote.audio ASRX
分離準確度 95%+ (SOTA) 85-90%
多語種支援 完美 完美
重疊說話 85% 75%
配置靈活性

結論: pyannote.audio 贏(專業 SOTA


時間戳對齊

功能 pyannote.audio ASRX
詞級時間戳 內建
句級時間戳
對齊準確度 - 95%+

結論: ASRX 贏(內建對齊功能)


4. 使用流程對比

pyannote.audio 流程

# 步驟 1: ASR 轉錄
import whisper
asr_model = whisper.load_model("base")
result = asr_model.transcribe("audio.wav")

# 步驟 2: 說話人分離
from pyannote.audio import Pipeline
pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
    use_auth_token="hf_xxxxx"
)
diarization = pipeline("audio.wav")

# 步驟 3: 整合結果
# (需要自行開發整合邏輯)

優點:

  • 靈活性高
  • 可選擇最佳 ASR
  • 說話人分離準確

缺點:

  • 需要整合兩個庫
  • 需要自行整合結果
  • 配置較複雜

ASRX (WhisperX) 流程

import whisperx

# 一步到位
model = whisperx.load_model("base")
result = model.transcribe("audio.wav")

# 自動包含說話人分離(需配置)
# 自動包含時間戳對齊

優點:

  • 一站式解決
  • 配置簡單
  • 文檔完善

缺點:

  • 靈活性較低
  • 說話人分離準確度稍低
  • PyTorch 版本限制

5. 準確度對比

ASR 轉錄準確度

語言 pyannote+Whisper ASRX
中文 90% 85-90%
英文 95% 90-95%
多語種 90% 85-90%

結論: 取決於使用的 ASR 模型


說話人分離準確度

場景 pyannote.audio ASRX
雙人對話 98% 90%
三人會議 95% 85%
多人會議 90% 80%
重疊說話 85% 70%

結論: pyannote.audio 明顯優勢


6. 效能對比

處理速度

影片長度 pyannote+Whisper ASRX
2 分鐘 ~40 秒 ~5 秒
10 分鐘 ~3 分鐘 ~30 秒
60 分鐘 ~18 分鐘 ~7 分鐘
實時比 3-4x 8-16x

結論: ASRX 快 2-4 倍


記憶體使用

模式 pyannote+Whisper ASRX
CPU 6-8 GB 4-6 GB
GPU 8-12 GB 6-8 GB

結論: ASRX 稍優


7. 配置需求

pyannote.audio

# 1. 安裝
pip install pyannote.audio whisper

# 2. HuggingFace account
# 3. 接受使用條款
# 4. 獲取 token
# 5. 配置 token
huggingface-cli login

難度: (中)


ASRX (WhisperX)

# 1. 安裝
pip install whisperx

# 2. 無需額外配置
# (說話人分離可選)

難度: (低)


🎯 使用場景推薦

選擇 pyannote.audio 如果:

  • 需要最高說話人分離準確度
  • 多人會議3+ 說話人)
  • 重疊說話場景
  • 已有 ASR 流程
  • 需要靈活性
  • 不介意配置複雜

典型應用:

  • 學術研究
  • 高品質會議記錄
  • 法律聽證會記錄
  • 專業轉錄服務

選擇 ASRX (WhisperX) 如果:

  • 需要一站式解決方案
  • 快速部署
  • 一般準確度即可
  • 雙人對話為主
  • 需要時間戳對齊
  • 不想配置 token

典型應用:

  • 一般會議記錄
  • 訪談節目
  • 客服錄音
  • 教學影片

💡 整合方案(最佳實踐)

方案 A: ASRX + pyannote.audio 進階配置

import whisperx
from pyannote.audio import Pipeline

# 1. WhisperX ASR + 對齊
model = whisperx.load_model("base")
result = model.transcribe("audio.wav")

# 2. 使用 pyannote.audio 進行高品質分離
pipeline = Pipeline.from_pretrained(
    "pyannote/speaker-diarization-3.1",
    use_auth_token="hf_xxxxx"
)
diarization = pipeline("audio.wav")

# 3. 整合結果
result = whisperx.assign_word_speakers(diarization, result)

優點:

  • ASRX 的快速 ASR
  • pyannote 的高品質分離
  • 時間戳對齊
  • 最佳準確度

缺點:

  • ⚠️ 需要配置兩個系統
  • ⚠️ 處理時間較長

方案 B: 分階段處理

階段 1: 快速預覽

python3 scripts/asrx_processor_v2_transcribe.py video.mp4 output.json
# 5 秒完成,快速了解內容

階段 2: 高品質處理(需要時)

python3 scripts/test_pyannote_audio.py audio.wav output.json
# 使用 pyannote 進行高品質分離

📊 最終評分

評分項目 pyannote.audio ASRX
說話人分離準確度
ASR 轉錄準確度
處理速度
配置簡易度
靈活性
文檔完善度
社群支援
總分 24/35 28/35

推薦方案

一般用戶ASRX (WhisperX)

理由:

  • 一站式解決
  • 配置簡單
  • 處理快速
  • 文檔完善
  • 準確度可接受

專業用戶ASRX + pyannote.audio

理由:

  • 最佳準確度
  • 靈活性高
  • 可應付複雜場景
  • ⚠️ 配置較複雜

研究用戶pyannote.audio

理由:

  • SOTA 準確度
  • 可自定義模型
  • 學術支援好
  • ⚠️ 需要整合 ASR

📁 相關文件

scripts/
├── PYANNOTE_VS_ASRX_COMPARISON.md   # 本比較文檔
├── PYANNOTE_AUDIO_GUIDE.md          # pyannote 使用指南
├── PYANNOTE_MULTILINGUAL_GUIDE.md   # 多語種指南
├── ASRX_ALTERNATIVES_FINAL_REPORT.md # 替代方案報告
├── test_pyannote_audio.py           # pyannote 測試腳本
└── asrx_processor_v2_transcribe.py  # ASRX 處理器

比較完成日期: 2026-04-02
pyannote.audio 版本: 3.4.0
ASRX 版本: WhisperX 3.7.5
推薦: 一般用戶用 ASRX專業用戶用 ASRX + pyannote