oboroge0/hayamimi
早耳 - Real-time multilingual speech-to-text on CPU only. Live subtitles, browser dashboard, speaker labels, translation. No GPU, no cloud.
何を解決するか
hayamimi は CPU 側でのみ動作し、メモリ使用量が最小限(2GB RAM未満)のリアルタイム多言語音声認識(STT)を提供します。従来の高精度音声認識に伴う高遅延・高ハードウェア要件という問題を解決し、GPU やクラウド API を必要とせずにライブ字幕や翻訳が可能になります。
動作方法
単一の汎用モデルに依存するのではなく、hayamimi は各発話ごとに最適な言語に対応した専用の量子化(INT8)ONNX モデルにルーティングするシステムを使用しています。推論には sherpa-onnx を利用し、PyTorch や CUDA を回避しています。パイプラインは以下の通りです:
- 言語識別(LID): 入力音声の言語を検出するために
whisper-tinyを使用。 - 専用ルーティング: ReazonSpeech(日本語)、Paraformer(中国語)、SenseVoice(韓国語/広東語)、Parakeet(英語および24か国語のEU言語)などの専用モデルに音声をルーティング。
- 二段階リファインメント: 静音期間後に、最近の発話を再デコードして精度を向上。
- 後処理: CAM++ と pyannote を用いた話者ラベリング、CJK 数値正規化、FuguMT や M2M-100 を用いたリアルタイム翻訳を含む。
- 入力の柔軟性: マイク、WAV ファイル、WebSocket ネットワーク音声、Windows 固有のシステム音声ループバックに対応。
対象ユーザー
- ストリーマー: ライブキャプション用の低遅延 OBS オーバーレイが必要な人。
- 開発者:
EventHubと API を通じて、他のアプリケーションに軽量かつプライベートな STT エンジンを埋め込みたい人。 - 会議録音者: 自分の声とシステム音声(通話/動画)を同時に録音・変換したいユーザー。
特徴
- 超低遅延: 発話終了後、通常100ms程度で最終的なテキストが表示されます。
- CPU最適化: GPU を使用せずに6コアデスクトップCPUで10~50倍リアルタイムで動作可能。
- 高精度: 日本語放送音声において3.8%のCERを達成し、特定の文脈では
whisper-large-v3-turboを大きく上回ります。 - メモリ効率: LRUキャッシュを用いて常駐モデルの使用量を設定可能な上限(デフォルト <2GB)に保ちます。
- 統合ツールキット: ブラウザ用ダッシュボードとOBS対応オーバーレイを内蔵しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト