collabora/WhisperLive
A nearly-live implementation of OpenAI's Whisper.
WhisperLive – OpenAIのWhisperを用いたニアリアルタイム音声認識
何であるか – WhisperLiveは、音声をほぼリアルタイムでテキストに変換するオープンソースアプリケーションです。Whisperモデル(faster-whisper、TensorRT、OpenVINOバックエンド経由)をホストするサーバーと、マイク、ファイル、RTSP、HLS、または生のPCM音声をストリーミングし、WebSocketまたはREST APIで認識結果を受け取るクライアントを1つ以上持つシステムです。
主な機能
- ライブモードとバッチモード – マイク入力のストリーミングまたは音声ファイル全体の変換が可能。
- 複数の推論バックエンド –
- faster-whisper(CPU/GPU、CTranslate2経由)
- NVIDIA TensorRT(高スループットGPU推論、オプションのDocker設定)
- Intel OpenVINO(CPU、iGPU、dGPU)
- AMD ROCmサポート(CTranslate2用)。
- 高度な出力オプション
- 単語レベルのタイムスタンプと信頼度スコア。
- カスタム語彙 / ホットワード強調。
- スピーカーの話者分離(オプション
pyannote.audio)。 - 話者トランスクリプトを別の言語に翻訳するオプション。
- バッチ推論 – 複数のクライアントストリームを1つのGPU呼び出しに統合し、より高いスループットを実現。
- クライアントAPI – 簡単なファイル/マイク利用向けの高レベル
TranscriptionClientと、手動でチャンク音声を供給し、部分的・最終結果のコールバックを受け取るStreamingTranscriptionClient。 - クロスプラットフォーム – Linux、macOS、Windows(GPUバックエンドはDocker経由)。Chrome/Firefox拡張機能とネイティブiOSクライアントも提供。
- Dockerイメージ – GPU(TensorRT、OpenVINO、ROCm)およびCPUデプロイ用の即時実行コンテナ。
一般的なワークフロー
- システム依存関係のインストール –
portaudio(マイク用)とPython 3.12。 - 仮想環境の作成 および
pip install whisper-live。 - サーバーの起動(例:faster-whisperバックエンド):
python3 run_server.py --port 9090 --backend faster_whisper \ --max_clients 4 --max_connection_time 600 - クライアントの実行 – ファイル、マイク、RTSPまたはHLSストリームの変換:
またはPython APIを使用:python3 run_client.py --files mytalk.wav # またはライブマイク python3 run_client.pyfrom whisper_live.client import TranscriptionClient client = TranscriptionClient("localhost", 9090, model="small", translate=True, target_language="hi") client("tests/jfk.wav") - オプション機能 – クライアントを構築する際に
word_timestamps=True、hotwords="WhisperLive,TensorRT"、またはenable_diarization=Trueを追加可能。
インストールスニペット
bash scripts/setup.sh # portaudio開発ライブラリのインストール
python3.12 -m venv whisper_env && source whisper_env/bin/activate
pip install whisper-live
ハードウェアアクセラレーションでの実行
- TensorRT – TensorRTエンジンの構築(
TensorRT_whisper.mdを参照)し、--backend tensorrtおよび--trt /path/to/engineでサーバーを起動。 - OpenVINO – OpenVINOランタイムをインストール後、
python3 run_server.py -p 9090 -b openvino(Dockerイメージghcr.io/collabora/whisperlive-openvinoはドライバーを自動処理)。 - ROCm – AMD GPUサポートのための手順は
ROCm_whisper.mdを参照。
Dockerクイックスタート(GPU)
docker run -it --gpus all -p 9090:9090 ghcr.io/collabora/whisperlive-gpu:latest
(必要に応じてTensorRT、OpenVINO、ROCm用のイメージタグに置き換える。)
なぜ重要か – WhisperLiveは、強力なWhisper音声認識モデルを、ライブ字幕、会議記録、音声制御アプリなど、生産環境向けの低遅延シナリオで利用可能にします。また、ハードウェアバックエンド、言語翻訳、話者分離、カスタム語彙の柔軟性も提供します。
さらに読む – リポジトリ内のリンクされたブログ記事では、生産環境での利用事例とWhisperFusionチャットボット統合について詳しく説明されています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト