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
  • プロジェクト