はじめに
RealtimeVoiceChatは、音声による人工知能とのリアルタイムで自然な会話に焦点を当てたオープンソースプロジェクトです。ユーザーはマイクを使って音声を入力し、システムはブラウザを通して音声をキャプチャし、素早くテキストに変換し、大規模言語モデル(LLM)によって返答を生成し、テキストを音声出力に変換します。このプロジェクトは、低遅延に重点を置いたクライアント・サーバ・アーキテクチャを採用し、WebSocketストリーミングと動的対話管理をサポートしています。Dockerデプロイメントを提供し、LinuxシステムとNVIDIA GPU環境での実行を推奨しています。 オーラマ など、開発者が音声対話アプリケーションを構築するのに適した技術がある。
機能一覧
- リアルタイム音声対話ユーザーがブラウザのマイクを通して音声を入力すると、システムがリアルタイムで音声を書き起こし、応答を生成します。
- 低遅延処理WebSocketを使って音声をストリーミングすることで、音声合成の待ち時間を0.5-1秒に最適化します。
- 音声テキスト化(STT)WhisperをベースにしたRealtimeSTTで、音声を素早くテキストに変換します。
- 音声合成 (TTS)RealtimeTTS(Coqui、Kokoro、Orpheus対応)で自然な音声を生成します。
- インテリジェントな対話管理OllamaやOpenAIの言語モデルを統合し、柔軟な対話生成や割り込み処理をサポート。
- ダイナミック音声検出スルー
turndetect.py
インテリジェントな無音検出を可能にし、ダイアログのリズムに適応します。 - ウェブインタフェースきれいなブラウザインターフェースを提供し、Vanilla JSとWeb Audio APIを使用し、リアルタイムフィードバックをサポートします。
- DockerのデプロイメントDocker Composeによるインストールの簡素化、GPUアクセラレーションとモデル管理のサポート。
- モデルのカスタマイズSTT、TTS、LLMモデルの切り替えをサポートし、音声と対話のパラメータを調整。
- オープンソースで拡張可能コードは公開されており、開発者は自由に機能を変更、拡張することができます。
ヘルプの使用
設置プロセス
RealtimeVoiceChatは、Dockerデプロイメント(推奨)と手動インストールの両方をサポートしています。Dockerを使用する方法は、Linuxシステム、特にNVIDIA GPUを使用している環境に適しています。手動インストールは、Windowsやよりコントロールが必要なシナリオに適しています。以下は詳細な手順です:
Dockerデプロイメント(推奨)
Docker Engine、Docker Compose v2+、NVIDIA Container Toolkit(GPUユーザー向け)が必要です。最高のGPUサポートのためにLinuxシステムを推奨します。
- クローン倉庫::
git clone https://github.com/KoljaB/RealtimeVoiceChat.git cd RealtimeVoiceChat
- Dockerイメージの構築::
docker compose build
このステップでは、ベースイメージをダウンロードし、Pythonと機械学習の依存関係をインストールし、デフォルトのSTTモデル(Whisper
base.en
).時間がかかるので、ネットワークが安定していることを確認してください。 - サービス開始::
docker compose up -d
コンテナがバックグラウンドで動作している状態で、アプリケーションと Ollama サービスを起動します。初期化が完了するまで約1~2分待ちます。
- プル・オラマモデル::
docker compose exec ollama ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
このコマンドはデフォルトの言語モデルを引き出します。デフォルトの言語モデルは
code/server.py
修正LLM_START_MODEL
他のモデルを使う - モデルの使いやすさを検証する::
docker compose exec ollama ollama list
モデルが正しく読み込まれていることを確認してください。
- サービスの停止または再起動::
docker compose down # 停止服务 docker compose up -d # 重启服务
- ログを見る::
docker compose logs -f app # 查看应用日志 docker compose logs -f ollama # 查看 Ollama 日志
手動インストール (Windows/Linux/macOS)
手動インストールには、Python 3.9+、CUDA 12.1(GPUユーザー)、FFmpegが必要です。 Windowsユーザーは、提供されている install.bat
スクリプトはプロセスを単純化する。
- 基本的な依存関係のインストール::
- Python 3.9+がインストールされていることを確認してください。
- GPUユーザーは、NVIDIA CUDAツールキット12.1とcuDNNをインストールしてください。
- FFmpegをインストールする:
# Ubuntu/Debian sudo apt update && sudo apt install ffmpeg # Windows (使用 Chocolatey) choco install ffmpeg
- リポジトリをクローンし、仮想環境を作成する::
git clone https://github.com/KoljaB/RealtimeVoiceChat.git cd RealtimeVoiceChat python -m venv venv # Linux/macOS source venv/bin/activate # Windows .\venv\Scripts\activate
- PyTorchのインストール(ハードウェアのマッチング)::
- gpu (cuda 12.1):
pip install torch==2.5.1+cu121 torchaudio==2.5.1+cu121 torchvision --index-url https://download.pytorch.org/whl/cu121
- CPU(パフォーマンスが落ちる):
pip install torch torchaudio torchvision
- gpu (cuda 12.1):
- 追加の依存関係をインストールする::
cd code pip install -r requirements.txt
注: DeepSpeedのインストールは複雑な場合があります。
install.bat
自動処理。 - Ollamaをインストールする(Dockerユーザー以外)::
- インストールについては、Ollamaの公式ドキュメントを参照してください。
- モデルを引っ張る:
ollama pull hf.co/bartowski/huihui-ai_Mistral-Small-24B-Instruct-2501-abliterated-GGUF:Q4_K_M
- アプリケーションの実行::
python server.py
ほら
- ハードウェア要件NVIDIA GPU(少なくとも8GBのRAM)は、低レイテンシーを保証するために推奨されます。
- Dockerの設定修正
code/*.py
もしかしたらdocker-compose.yml
その前に、以下のコマンドを再実行する必要がある。docker compose build
. - ライセンス・コンプライアンスTTSエンジン(例:Coqui XTTSv2)とLLMモデルには別々のライセンスがあり、それぞれの条件に従います。
ワークフロー
- ウェブインターフェースへのアクセス::
- ブラウザを開き、次のサイトにアクセスする。
http://localhost:8000
(またはリモートサーバーのIP)。 - マイク権限を付与し、"Start "をクリックして会話を開始する。
- ブラウザを開き、次のサイトにアクセスする。
- 音声対話::
- マイクに向かって話すと、Web Audio API経由で音声が取り込まれます。
- 音声はWebSocket経由でバックエンドに転送され、RealtimeSTTはテキストに変換され、Ollama/OpenAIは返答を生成し、RealtimeTTSは音声に変換され、ブラウザを通して再生される。
- 対話の遅延は通常0.5~1秒で、いつでも中断・続行が可能。
- リアルタイム・フィードバック::
- インターフェイスには、部分的に書き起こされたテキストとAIの応答が表示され、ユーザーは簡単に対話を追うことができる。
- Stop "をクリックするとダイアログが終了し、"Reset "をクリックすると履歴が消去される。
- コンフィギュレーション調整::
- TTSエンジンで
code/server.py
セットアップSTART_ENGINE
(例coqui
そしてkokoro
そしてorpheus
)、ボイススタイルを調整する。 - LLMモデル修正
LLM_START_PROVIDER
歌で応えるLLM_START_MODEL
以下はOllamaの最も人気のある機能の一部である。 - STTパラメータで
code/transcribe.py
センターステージ調整 ウィスパー モデリング、言語、沈黙の閾値。 - 無音検出で
code/turndetect.py
修正silence_limit_seconds
(デフォルトは0.2秒)で、対話のペースを最適化します。
- TTSエンジンで
- デバッグと最適化::
- ログを見る
docker compose logs -f
(Docker)をチェックするか、あるいはserver.py
出力。 - パフォーマンスの問題:CUDAバージョンのマッチングを確実にする。
realtime_batch_size
あるいは軽量モデルを使う。 - ネットワーク設定: HTTPSが必要な場合は、以下のように設定します。
USE_SSL = True
を入力し、証明書のパスを指定する(公式のSSL設定を参照)。
- ログを見る
注目の機能操作
- 低遅延ストリーミング処理RealtimeSTT とRealtimeTTSを組み合わせることで、0.5秒のレイテンシーを実現。待ち時間なくスムーズな会話が可能です。
- ダイナミックな対話管理::
turndetect.py
話し終わりをインテリジェントに検出し、自然な中断をサポートします。例えば、ユーザーはいつでも中断することができ、システムは新しい入力を生成して処理するために一時停止します。 - ウェブ・インターフェイス・インタラクションブラウザインタフェースは、Vanilla JSとWeb Audio APIを使用し、リアルタイムの文字入力と応答表示を提供します。ユーザーは「スタート/ストップ/リセット」ボタンで対話をコントロールできます。
- モデリングの柔軟性TTSエンジン(Coqui/Kokoro/Orpheus)とLLMバックエンド(Ollama/OpenAI)の切り替えをサポートします。例えば、TTSの切り替え:
START_ENGINE = "kokoro" # 在 code/server.py 中修改
- ドッカー管理このサービスはDocker Composeで管理され、モデルの更新だけで済みます:
docker compose exec ollama ollama pull <new_model>
アプリケーションシナリオ
- AI音声インタラクション研究
開発者は、RealtimeSTT、RealtimeTTS、LLMを統合して、低遅延音声インタラクションの最適化をテストすることができます。オープンソースのコードは、カスタムパラメーターに対応しており、学術的な研究に適しています。 - インテリジェント・カスタマー・サービスのプロトタイプ
企業はこのプロジェクトに基づき、音声カスタマーサービス・システムを開発することができる。ユーザーは音声で質問し、システムは技術サポートや製品アドバイスなどの一般的な質問にリアルタイムで答える。 - 語学学習ツール
教育機関は、多言語TTS機能を利用して音声対話練習ツールを開発することができます。生徒はAIと対話しながら発音や会話を練習し、システムはリアルタイムでフィードバックを提供します。 - パーソナル音声アシスタント
技術愛好家は、個人的な娯楽や小規模なプロジェクトのために、知的アシスタントをシミュレートし、AIとの自然な音声対話を体験するプロジェクトを展開することができます。
品質保証
- どのようなハードウェアのサポートが必要ですか?
NVIDIA GPU(少なくとも8GBのビデオメモリ)とCUDA 12.1を搭載したLinuxシステムを推奨。最小要件:Python 3.9+、8GB RAM。 - Dockerのデプロイに関する問題をどのように解決していますか?
Docker、Docker Compose、およびNVIDIA Container Toolkitが正しくインストールされていることを確認してください。確認docker-compose.yml
ログを表示するには、GPUコンフィギュレーションのdocker compose logs -f
. - 音声とモデルを切り替えるには?
修正code/server.py
正鵠を得るSTART_ENGINE
(TTS)またはLLM_START_MODEL
(LLM)。Dockerユーザーはモデルをプルし直す必要がある:docker compose exec ollama ollama pull <model>
. - 対応言語は?
RealtimeTTSは複数の言語(例えば、英語、中国語、日本語)をサポートしています。code/audio_module.py
で言語・音声モデルを指定する。