narcotic-sh/senko
Very fast, accurate speaker diarization
解決的問題
Senko 是一個高效率的說話者分離流程,專門用於識別音訊記錄中的「誰在何時說話」。它著重於極致的速度與準確性,可在現代硬體(例如 RTX 4090)上僅用數秒(例如 5 秒)處理一小時的音訊。
工作原理
Senko 是 3D-Speaker 流程的優化版本,採用四階段流程:
- 語音活動檢測 (VAD):使用 Pyannote segmentation-3.0 或 Silero VAD 來找出語音段落。
- 特徵提取:提取 Fbank 特徵,利用
kaldifeat在 NVIDIA 系統上實現 GPU 加速。 - 嵌入生成:使用 CAM++ 模型進行批次推論,產生說話者嵌入。
- 聚類:使用譜聚類或 UMAP+HDBSCAN 對相似嵌入進行分組,支援 NVIDIA 顯示卡的 RAPIDS 提供 GPU 加速。
在 Mac 上,Senko 借助 CoreML 進行 VAD 和嵌入處理,以優化 Apple Silicon 的效能。
適用對象
需要快速、準確且與語言無關的說話者分離工具,並可整合至轉錄服務或媒體播放器中的開發者與研究人員。
主要亮點
- 極致速度:在高階 GPU 與 Apple M3 芯片上,一小時音訊處理時間低於 8 秒。
- GPU 加速:Linux/WSL 上的 NVIDIA 用戶可享有完整的 GPU 流程(CUDA 7.0+)。
- 語言無關:透過聚焦聲學模式,支援多種語言,雖以英語與中文為優化目標。
- 跨平台支援:原生支援 Linux、macOS 與 Windows(透過 WSL)。
- 易於整合:提供 JSON 與 RTTM 輸出格式,方便整合至其他應用。
相關
- 專案
- 專案
- 專案
- 專案