キュウタイラボのdelayed-streams-modeling
プロジェクトはオープンソースの音声テキスト変換フレームワークで、コアは遅延ストリームモデリング(DSM)技術に基づいています。リアルタイム音声テキスト変換(STT)と音声合成(TTS)機能をサポートしており、効率的な音声対話アプリケーションの構築に適しています。このプロジェクトでは、研究、開発、生産環境のニーズを満たすために、PyTorch、Rust、MLXによる複数の実装を提供しています。このモデルは英語とフランス語をサポートし、レイテンシは0.5秒と低く、リアルタイム対話、音声アシスタント、翻訳シナリオに適しています。プロジェクトのコードはGitHubにホストされており、明確なドキュメントと簡単に始めることができます。
機能一覧
- リアルタイム音声テキスト化(STT)セマンティック音声アクティビティ検出(VAD)により、英語とフランス語に対応。
- リアルタイム音声合成(TTS)約220msの遅延で自然な音声を生成し、長文のテキスト生成にも対応。
- ボイスクローニング音声のクローンを作成するのに必要な音声はわずか10秒です。
- 多言語サポート英語とフランス語のモデルがあり、他の言語の実験的機能も部分的にサポートしている。
- 効率的なバッチ処理Rustサーバーは、L40S GPUで最大64のリアルタイムオーディオストリームをサポートします。
- クロスプラットフォーム展開: PyTorch (research), Rust (production), MLX (Apple devices) をサポート。
- タイムスタンプ出力STTモデルは、字幕の生成やインタラクティブな制御を容易にするために、単語レベルのタイムスタンプを返します。
ヘルプの使用
設置プロセス
delayed-streams-modeling
このプロジェクトは、利用シーンに応じて様々な展開方法をサポートしています。以下は詳細なインストールと使用ガイドです:
1. PyTorch (研究と実験)
研究者や開発者がローカルでモデルをテストするのに適している。
- 環境準備::
- Python 3.8+とPyTorch(GPUバージョン推奨)がインストールされていることを確認してください。
- クローン倉庫
git clone https://github.com/kyutai-labs/delayed-streams-modeling.git cd delayed-streams-modeling
- 依存関係をインストールします:
pip install -r requirements.txt
- STTモデルの実行::
- 以下のような訓練済みモデルをダウンロードする。
kyutai/stt-1b-en_fr
(ハギング・フェイス・ウェアハウス) - 推論の例を実行する:
python -m moshi_mlx.run_inference --hf-repo kyutai/stt-2.6b-en-mlx audio/sample.wav --temp 0
- その結果、書き起こされたテキストとタイムスタンプが出力される。
- 以下のような訓練済みモデルをダウンロードする。
- TTSモデルの実行::
- 同様のコマンドでTTSモデルを起動し、テキストファイルを入力して音声を生成する。
2. ラスト(本番環境)
並行性の高い生産環境に適しており、優れたパフォーマンスを発揮します。
- 環境準備::
- Rustをインストールする。
rustup
). - クローン
moshi
倉庫:git clone https://github.com/kyutai-labs/moshi.git cd moshi
- 取り付け
moshi-server
::cargo install moshi-server
- Rustをインストールする。
- サーバーの設定::
- 設定ファイルを編集する。
moshi/config
L40S GPUでは64を推奨)、バッチサイズを設定します。 - サーバーを起動します:
cargo run --release -- --config config.toml
- サーバーはWebSocket経由のストリーミング・アクセスを提供し、マルチユーザー同時実行をサポートする。
- 設定ファイルを編集する。
- 使用方法::
- WebSocketクライアントを介してオーディオストリームを送信し、書き起こされたテキストを受信したり、音声を生成します。
3. MLX(アップル製デバイス)
ハードウェア・アクセラレーションに最適化されたiPhoneまたはMacでの実行に適しています。
- 環境準備::
- MLXフレームワーク(アップル公式の機械学習フレームワーク)をインストールする。
- リポジトリをクローンしてインストールする
moshi-mlx
::pip install moshi-mlx
- 走り推理::
- リアルタイムでのマイク転写:
python -m moshi_mlx.run_inference --hf-repo kyutai/stt-1b-en_fr-mlx --mic
- 文書転写:
python -m moshi_mlx.run_inference --hf-repo kyutai/stt-2.6b-en-mlx audio/sample.mp3 --temp 0
- 1BモデルはiPhone 16 Proでスムーズに動作する。
- リアルタイムでのマイク転写:
機能 操作の流れ
リアルタイム音声テキスト化(STT)
- 入力オーディオリアルタイムのマイク入力や音声ファイル(WAV、MP3など)のアップロードに対応。
- モデルの選択::
kyutai/stt-1b-en_fr
英語とフランス語に最適、低遅延(0.5秒)、セマンティックVAD付き。kyutai/stt-2.6b-en
英語専用、2.5秒遅れ、高精度。
- セマンティックVADユーザーが話し終えたかどうかを自動的に検出し、誤判定を避けるために一時停止時間を動的に調整します。
- 出力結果: 書き起こされたテキストと単語レベルのタイムスタンプを返し、単語字幕の生成やインタラクションの制御に利用できる。
- 待ち時間の最適化音声の終わりを検出したときに処理を高速化する「フラッシュ・トリック」技術を使うことで、待ち時間を500ミリ秒から125ミリ秒に短縮。
リアルタイム音声合成(TTS)
- 入力テキストリアルタイム対話に適した、文単位またはストリーミング入力に対応。
- オーディオの生成このモデルは220ミリ秒で自然な音声を生成し、長いテキスト(30秒以上)をサポートします。
- ボイスクローニング参考音声を10秒間入力し、同様の音声を生成します(別途設定が必要です。)
- 出力フォーマットWAVフォーマットのオーディオを生成し、直接再生または保存することができます。
本番環境への展開
- ラストサーバーH100 GPUは、最大400のリアルタイムオーディオストリームを扱うことができます。
- バッチ最適化DSMアーキテクチャにより、コードを追加することなく効率的なバッチ処理を実現。
- WebSocketインターフェースクライアントがWebSocket経由で音声やテキストを送信し、サーバーがその結果をリアルタイムで返す。
ほら
- モデルの選択ハードウェアと要件に応じて適切なモデルを選択します(軽量デバイスの場合は1Bパラメータ、高精度シナリオの場合は2.6Bパラメータ)。
- ネットワーク要件本番環境では、WebSocketストリーミングをサポートするために安定したネットワークが必要です。
- 文書参照詳細な設定とAPIドキュメントについては、GitHubリポジトリを参照してください。
README.md
.
アプリケーションシナリオ
- 音声アシスタント開発
- シーンの説明開発者はSTTとTTSモデルを使用して、リアルタイム対話をサポートするインテリジェント音声アシスタントを構築します。セマンティックVADは、ユーザーの意図を正確に検出し、カスタマーサービスロボットやスマートホームデバイスに適しています。
- リアルタイム字幕生成
- シーンの説明STTモデルは、教育、会議、メディア業界向けに、ビデオ会議やライブストリーミング用のリアルタイムキャプションを生成します。
- 音声翻訳
- シーンの説明Hibikiモデルと組み合わせることで、翻訳結果のストリーミング出力に対応し、言語横断的な会議や旅行シーンに適したリアルタイム音声翻訳を実現します。
- モバイル機器のための音声対話
- シーンの説明MLXは、iPhoneユーザーが音声でアプリケーションを操作できるようにするもので、音声メモやリアルタイムのテープ起こしなど、モバイルオフィスやパーソナルアシスタントに適している。
品質保証
- 正しい実装モデルを選ぶには?
- 研究・テスト用にはPyTorch、本番環境での高い並行性にはRust、Appleデバイス用にはMLXがあります。ハードウェアとシナリオの選択を参照してください。
- 音声クローン機能は完全にオープンソースですか?
- 現時点では、音声クローン機能は完全にオープンソースではなく、追加の設定が必要です。
- サーバーのパフォーマンスを最適化するには?
- GPUメモリが十分であることを確認するために、Rustサーバー設定ファイルでバッチサイズ(64など)を調整します。
- 対応言語は?
- 主に英語とフランス語をサポートし、他の言語は実験的にサポートしています。
- 遅延ストリームモデリング(DSM)の利点は?
- DSMは、時間整合されたオーディオとテキストストリームによってレイテンシーを削減し、効率的なバッチ処理をサポートし、Whisperのような従来のモデルを凌駕します。