KoljaB/RealtimeSTT

A robust, efficient, low-latency speech-to-text library with advanced voice activity detection, wake word activation and instant transcription.

What it solves

RealtimeSTT は、Python アプリケーションに音声認識(STT)機能を統合するためのシンプルな方法を提供します。音声活動検出(VAD)の処理、オーディオストリームの管理、ウェイクワードの実装といった複雑な作業を簡素化し、開発者は最小限のコードで音声をテキストに変換できます。

How it works

このライブラリは AudioToTextRecorder クラスを中心に構成されており、マイクから直接音声を取得したり、外部ソース(ファイルや websockets など)から音声チャンクを受け取ったりできます。デフォルトは faster_whisper を使用するモジュラーエンジンシステムで、kroko_onnxwhisper.cpp など他のエンジンもサポートします。さらに、WebRTC または Silero による VAD を組み込み、音声の開始・終了を検出し、Porcupine や OpenWakeWord によるオプションのウェイクワード検出で録音をトリガーします。

Who it’s for

このツールは、AI アシスタント、ディクテーションソフト、ブラウザベースのストリーミングサーバー、そして高速なローカル音声認識が必要なプロトタイプ開発者向けに設計されています。

Highlights

  • Flexible Audio Input: 直接マイクアクセスと外部 PCM オーディオチャンクの両方をサポート。
  • Multiple Engine Support: faster-whisper、OpenAI Whisper、Kroko-ONNX など多数の文字起こしエンジンに対応。
  • Integrated VAD and Wake Words: 音声活動検出とカスタマイズ可能なウェイクワード機能を内蔵。
  • Event-Driven Architecture: 録音、VAD 状態、文字起こし更新のコールバックを提供。
  • Web Server Example: ブラウザベースのストリーミングとマルチユーザーセッション分離を実現する FastAPI 参照サーバーを含む。