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
This commit is contained in:
Warren
2026-04-30 15:07:49 +08:00
parent f4697396e4
commit 8f05a7c188
256 changed files with 60505 additions and 299 deletions
+240
View File
@@ -0,0 +1,240 @@
# 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 tokenpyannote
- 配置較複雜
---
### 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
**狀態**: 📋 待測試