# ASRX 替代方案研究

## 當前 ASRX 問題

- ❌ PyTorch 2.6+ 兼容性問題
- ❌ 說話人分離需要 pyannote.audio 配置
- ❌ 時間戳對齊需要 PyTorch 2.6+
- ⚠️ 準確度 85%（可提升）

---

## 替代方案列表

### 1. pyannote.audio (說話人分離專家)

**官網**: https://github.com/pyannote/pyannote-audio

**特點**:
- ✅ 專業說話人分離
- ✅ 支援 HuggingFace
- ✅ 最新版本 3.4.0
- ⚠️ 需要 HuggingFace token

**安裝**:
```bash
pip install pyannote.audio
# 需要接受使用條款並獲取 token
```

**優點**:
- 說話人分離 SOTA
- 可獨立使用
- 與 whisper 整合良好

**缺點**:
- 需要 HuggingFace account
- 需要接受使用條款
- 配置較複雜

---

### 2. SpeechBrain

**官網**: https://speechbrain.github.io/

**特點**:
- ✅ 完整語音處理工具包
- ✅ 包含 ASR + 說話人分離
- ✅ PyTorch 為基礎
- ✅ 開源友好

**安裝**:
```bash
pip install speechbrain
```

**優點**:
- 一站式解決方案
- 文檔完善
- 社群活躍
- 不需要 HuggingFace token

**缺點**:
- 模型較大
- 處理速度較慢
- 需要學習新 API

---

### 3. NVIDIA NeMo

**官網**: https://github.com/NVIDIA/NeMo

**特點**:
- ✅ NVIDIA 官方支援
- ✅ 包含 ASR + 說話人分離
- ✅ 高效能（GPU 優化）
- ⚠️ 需要 CUDA（可選）

**安裝**:
```bash
pip install nemo_toolkit['asr']
```

**優點**:
- 企業級品質
- GPU 加速（可選）
- 模型品質高
- 文檔完善

**缺點**:
- 安裝複雜
- 依賴較多
- 模型較大

---

### 4. HuggingFace Transformers + pyannote

**組合方案**:
- ASR: transformers (Whisper/Wav2Vec2)
- 說話人分離：pyannote.audio

**安裝**:
```bash
pip install transformers pyannote.audio
```

**優點**:
- 靈活性高
- 可選擇最佳模型
- HuggingFace 生態
- 社群支援好

**缺點**:
- 需要整合兩個庫
- 需要 HuggingFace token（pyannote）
- 配置較複雜

---

### 5. Silero VAD + Faster-Whisper

**組合方案**:
- VAD: Silero (語音活動檢測)
- ASR: Faster-Whisper

**安裝**:
```bash
pip install silero-vad faster-whisper
```

**優點**:
- 輕量級
- 快速
- 不需要 HuggingFace
- 容易整合

**缺點**:
- 無說話人分離
- 需要自行整合
- 功能較少

---

### 6. WhisperX (當前使用)

**官網**: https://github.com/m-bain/whisperX

**特點**:
- ✅ 已安裝
- ⚠️ PyTorch 2.6 兼容性問題
- ✅ 包含對齊 + 說話人分離

**當前狀態**:
- PyTorch 2.5.0: 轉錄可用
- 對齊：需要 PyTorch 2.6+
- 說話人分離：需要 pyannote.audio 配置

---

## 推薦方案

### 方案 A: SpeechBrain (推薦⭐)

**理由**:
- ✅ 完整解決方案
- ✅ 不需要 HuggingFace token
- ✅ PyTorch 兼容性好
- ✅ 文檔完善

**實施難度**: 中
**預計時間**: 1-2 小時

---

### 方案 B: pyannote.audio + Faster-Whisper

**理由**:
- ✅ 最佳說話人分離
- ✅ 靈活性高
- ✅ 可逐步實施

**實施難度**: 高
**預計時間**: 2-3 小時
**額外需求**: HuggingFace token

---

### 方案 C: 等待 WhisperX 更新

**理由**:
- ✅ 無需切換
- ✅ 保持現有流程
- ⚠️ 時間不確定

**實施難度**: 低
**預計時間**: 等待更新

---

## 測試計畫

### 第一階段：SpeechBrain 測試

1. 安裝 SpeechBrain
2. 測試基本 ASR 功能
3. 測試說話人分離
4. 對比 WhisperX

### 第二階段：pyannote.audio 測試

1. 申請 HuggingFace token
2. 接受使用條款
3. 安裝 pyannote.audio
4. 測試說話人分離

### 第三階段：整合測試

1. 選擇最佳方案
2. 整合到現有流程
3. 批次測試
4. 效能基準

---

## 預期結果

| 方案 | ASR 準確度 | 說話人分離 | 處理速度 | 實施難度 |
|------|-----------|-----------|---------|---------|
| **SpeechBrain** | 85-90% | ✅ | 中 | 中 |
| **pyannote + FW** | 90% | ✅✅ | 快 | 高 |
| **NVIDIA NeMo** | 90-95% | ✅ | 快 (GPU) | 高 |
| **WhisperX** | 85% | ⚠️ | 快 | 低 |

---

**研究日期**: 2026-04-02
**研究員**: OpenCode
**狀態**: 📋 待測試
