narcotic-sh/senko
Very fast, accurate speaker diarization
何を解決するか
Senko は、音声記録における「誰がいつ話したか」を特定するための高性能な話者ダイアライゼーションパイプラインです。極めて高速かつ高精度を重視し、最新のハードウェア(例:RTX 4090)で1時間の音声を数秒(例:5秒)で処理できます。
動作方法
Senko は 3D-Speaker パイプラインの最適化版で、4段階のプロセスを採用しています:
- 音声活動検出 (VAD): Pyannote segmentation-3.0 または Silero VAD を使用して、話されている部分を検出します。
- 特徴抽出: Fbank 特徴量を抽出し、NVIDIA システムでは
kaldifeatを使って GPU 加速を実現します。 - 埋め込み生成: CAM++ モデルをバッチ推論で使用して話者埋め込みを生成します。
- クラスタリング: スペクトルクラスタリングまたは UMAP+HDBSCAN を使って類似する埋め込みをグループ化し、サポートされる NVIDIA カードでは RAPIDS で GPU 加速を実現します。
Mac では、CoreML を使用して VAD と埋め込み処理を最適化し、Apple Silicon のパフォーマンスを最大限に活かします。
対象ユーザー
音声認識サービスやメディアプレーヤーに統合できる、高速で正確な、言語に依存しない話者ダイアライゼーションツールが必要な開発者や研究者です。
特徴
- 極めて高速: 高性能 GPU および Apple M3 チップでは、1時間の音声を8秒未満で処理可能。
- GPU 加速: Linux/WSL の NVIDIA ユーザー向けに CUDA 7.0+ を前提とした完全な GPU パイプライン。
- 言語に依存しない: 音響パターンに焦点を当てることで、さまざまな言語で動作可能(英語および中国語に最適化)。
- クロスプラットフォーム対応: Linux、macOS、Windows(WSL経由)をネイティブサポート。
- 統合可能: JSON および RTTM 形式の出力により、他のアプリケーションへの容易な統合を実現。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト