Hugging Face、低遅延音声エージェントパイプラインをOSS公開
Hugging Faceが低遅延で完全モジュール型の音声エージェントパイプライン「speech-to-speech」をオープンソース公開。VAD・STT・LLM・TTSの4段構成で、OpenAI Realtime互換APIを提供。ローカル完全動作も可能。
Hugging Faceは、低遅延かつ完全モジュール型の音声エージェントパイプライン「speech-to-speech」をオープンソースで公開した。このプロジェクトは、Voice Activity Detection(VAD)から始まり、Speech to Text(STT)、Language Model(LLM)、Text to Speech(TTS)の4段階を経由するカスケード構成を採用している。各コンポーネントは独立したスレッドで動作し、キューで接続される仕組みだ。APIはOpenAI Realtime互換のWebSocketインターフェースとして公開されており、既存のクライアント資産を活用できる点が特徴である。
技術的特徴
speech-to-speechの最大の特徴は、そのモジュール性にある。VADにはSilero VAD v5を採用し、発話境界とターンテイキングを検出する。STTはParakeet TDTがデフォルトで、ライブ部分書き起こしもサポートする。LLMスロットはOpenAI互換プロトコルで通信するため、ホスト型プロバイダー、Hugging Face Inference Providers、あるいは自前ハードウェア上のvLLMやllama.cppサーバーを指定できる。TTSはQwen3-TTSがデフォルトで、GGMLバックエンドを利用する。
Hugging Faceの公式ブログでは、「このパイプラインは、何千台ものReachy Miniロボットの会話バックエンドとして本番稼働している」と説明されている。つまり、単なる実験的なデモではなく、実運用に耐える品質を備えていると言える。
インストールとクイックスタート
インストールはシンプルだ。Python 3.10以上が必要で、以下のコマンドでセットアップできる。
pip install speech-to-speech
続いて、OpenAI APIキーを環境変数に設定し、サーバーを起動する。
export OPENAI_API_KEY=...
speech-to-speech
これで、ws://localhost:8765/v1/realtime にOpenAI Realtime互換のサーバーが起動する。別のターミナルからクライアントスクリプトを実行すれば、実際に会話を行うことが可能だ。
python scripts/listen_and_play_realtime.py --host 127.0.0.1 --port 8765
ローカルLLMを利用したい場合、llama.cppでGemma 4を起動し、speech-to-speechの起動時に--responses_api_base_urlでそのサーバーを指定すれば、完全ローカルスタックが実現する。
モジュールの交換と拡張性
speech-to-speechの設計思想は「すべてのコンポーネントが交換可能であること」だ。CLIフラグによって、各ステージのバックエンドを自由に切り替えられる。コードはTransformersとHugging Face Hubを通じて利用可能なモデルを重視して設計されており、容易に改造できるようになっている。
現時点でデフォルトの組み合わせは以下の通り:
- STT: Parakeet TDT
- LLM: OpenAI互換API(設定次第で任意のプロバイダー)
- TTS: Qwen3-TTS(GGMLバックエンド、Apple Siliconではmlx-audio)
macOSと非macOSの依存関係は、pyproject.tomlのプラットフォームマーカーで自動解決される。Linux環境ではCUDA 12.8ランタイムが必要だが、該当しない場合はHugging Faceのwheelハウスから該当するwheelを事前にインストールすることで対応可能だ。
生産環境でのユースケース
前述の通り、本パイプラインは数千台のReachy Miniロボットで実際に運用されている。これは、音声エージェントの本番導入において、speech-to-speechが有効な選択肢であることを示している。特に、エッジデバイスやロボティクス分野において、低遅延で完全ローカルの音声パイプラインを構築する基盤として期待される。
また、OpenAI Realtime互換APIを備えている点は、開発者にとって大きな利点となる。既存のOpenAI Realtime APIクライアントがそのまま接続可能であるため、移行コストが低い。
オープンソース戦略の文脈
Hugging Faceは、オープンソースAIのプラットフォームとして独自の地位を築いてきた。CEOのClément Delangueは、以前からオープンソースモデルの価値を繰り返し主張している。このspeech-to-speechの公開も、その戦略の一環と見ることができる。プロプライエタリな音声エージェントAPIに依存せず、自前のハードウェアで完全クローズドなパイプラインを構築できるという選択肢を提供することで、企業のデータ主権やプライバシー要件に応える狙いがある。
以前、Hugging Face CEOが語る、オープンソースAIの価値でも指摘した通り、同社はオープンなエコシステムの拡大に注力している。
編集部の見解
短期的には、このspeech-to-speechパイプラインは、ロボティクスやエッジAI分野の開発者にとって有力な選択肢となるだろう。特に、OpenAI Realtime APIとの互換性を保ちながら、完全ローカル動作を可能にする点は、データセキュリティやレイテンシに敏感なユースケースで評価されると見る。Hugging Faceのエコシステム内でコミュニティによるコンポーネントの拡充が進めば、さらなる普及が期待される。 長期的視点では、音声エージェント市場におけるオープンソースのプレゼンスを押し上げる可能性がある。現在、音声エージェントAPIは各社がプロプライエタリな形で提供しているが、本プロジェクトのように全てのコンポーネントが交換可能なオープンな選択肢が広がれば、企業はベンダーロックインを回避しやすくなる。特に、プライバシー規制が厳しい医療や金融分野での採用が進む可能性がある。 ただし、本パイプラインの実運用にはまだ課題も残る。VADの精度やSTTのノイズ耐性、LLMのレイテンシなど、各コンポーネントの性能が全体の品質に直結する。
参考
-
「huggingface /
speech-to-speech」, by **huggingface** — GitHub Trending, 2026-07-31 (ARR)
よくある質問
- speech-to-speechパイプラインを完全ローカルで動作させるにはどうすればいいですか?
- LLMスロットに、llama.cppやvLLMで起動したローカルサーバーを指定します。具体的には、`speech-to-speech`起動時に`--responses_api_base_url "http://127.0.0.1:8080/v1"`のように設定します。これにより、STT・LLM・TTSの全コンポーネントをインターネット接続なしで動作させることが可能です。
- このプロジェクトはどのようなバックエンドをサポートしていますか?
- VADにはSilero VAD v5、STTにはParakeet TDT、TTSにはQwen3-TTSがデフォルトです。LLMはOpenAI互換プロトコルに対応する任意のプロバイダー(ホスト型、HF Inference Providers、vLLM、llama.cpp等)を選択できます。各コンポーネントはCLIフラグで自由に交換可能です。
- 既存のOpenAI Realtime APIクライアントは接続できますか?
- はい、接続できます。speech-to-speechはOpenAI Realtime互換のWebSocket APIを提供するため、既存のクライアントコードをほとんど変更せずに利用できます。接続先を`ws://localhost:8765/v1/realtime`に変更するだけで動作します。 ## 参考 - [huggingface/speech-to-speech - GitHub](https://github.com/huggingface/speech-to-speech) — 2026-07-31公開 - [Hugging Face CEOが語る、オープンソースAIの価値](https://singulism.com/ja/hugging-face-ceo-open-source-value)
コメント