Speech-to-Speechモデルは音声を聞き、音声で答えます。聞く、考える、話すを1つのモデルが担います。カスケード型の音声エージェントは、この仕事を3つに分けます。音声認識(STT)が発話を文字にし、大規模言語モデル(LLM)が何を言うかを決め、音声合成(TTS)がそれを話します。どちらも音声エージェントの作り方であり、どちらを選ぶかで応答の速さ、コスト、使える声、そして通話を後からどこまで検証できるかが決まります。
要点を先に言うと、Speech-to-Speechはデモへの最短ルートです。注文の照会、保険証券番号の読み上げ、コンプライアンス部門が承認したスクリプトの遵守など、エージェントが実際に作業をこなす段階になると、カスケードのほうが向いています。かつて判断を左右したレイテンシの差は、ほぼ解消しています。
声を別の声に変える「音声変換」をお探しなら、それは別のツールです。音声変換をご覧ください。
3つのアーキテクチャ
| アーキテクチャ | 動くもの | 例 |
|---|---|---|
| カスケード(STT → LLM → TTS) | 3つのモデルが互いにストリーミングでつながる | 任意のSTT、LLM、TTS、Cartesia Managed Agents |
| ネイティブSpeech-to-Speech | 1つのモデルが音声を受け取り、音声を返す | gpt-realtime-2、Gemini 3.8 Live、Qwen3.8 Omni Flash Realtime |
| 委任型の音声フロントエンド | 会話は音声モデル、推論とツールはテキストモデルが担う | OpenAI GPT-Live 1 |
OpenAI自身の音声エージェントガイドも3つすべてを挙げ、各段の間で「テキストを確認・変換したい」場合の選択肢としてカスケードを説明しています。トレードオフを一言でまとめた説明として妥当です。
レイテンシ:ベンチマークが示すこと
重要な数字は、相手が話し終えてから応答の最初の音が聞こえるまでの「間」です。CovalはSpeech-to-Speechモデルについてまさにこれを測っています。プロバイダーのイベントではなく通話の録音から、すべてのモデルで同じ複数ターンの模擬通話を使って計測します。2026年10月16日時点の30日間のランキングは次のとおりです。
| モデル(CovalのS2Sランキング) | 中央値 | P95 | サンプル数 |
|---|---|---|---|
| Gemini 3.8 Live | 1,000 ms | 1,192 ms | 50 |
| GPT-Live 1 | 1,163 ms | 1,572 ms | 290 |
| Gemini 3.1 Flash Live (preview) | 1,175 ms | 1,375 ms | 290 |
| GPT Realtime 2 | 1,420 ms | 1,944 ms | 290 |
| Qwen3.8 Omni Flash Realtime | 1,450 ms | 1,526 ms | 79 |
つまり「モデルが1つで中継がない」ことは、即座に返るという意味ではありません。各ターンで相手が話し終えたことを検出し、推論し、音声をトークンごとに生成する必要があるのは同じで、それが1つのモデルの中で起きているだけです。
カスケードの時間は別の形で積み上がります。間の長さは、ターン検出、LLMの最初のトークンまでの時間、TTSの最初の音声までの時間、そしてその間のネットワーク往復の合計です。カスケードを一から構築した2026年の研究では、クラウドLLMを使った場合のエンドツーエンドの中央値を958 msと見積もり、文字起こしの確定から最初の音声までを755 msと実測しました。結論は、関数呼び出しを使うセルフホスト型エージェントでは、ストリーミングのカスケードが「依然として実用的なアーキテクチャ」だというものでした。
カスケードが時間を失う箇所:
- ターン検出。 相手が話し終えたと確信するまで700 ms待つ無音タイマーは、毎ターン700 msを費やします。文が完結しているかを読む意味的なターン検出なら、もっと早く判断できます。Ink-2は、相手がおそらく話し終えた時点で
turn.eager_endイベントを出してLLMを早めに動かし、違った場合はturn.resumeを出します。 - ストリーミングしない。 TTSが始まる前にLLMが応答全体を書き終えると、生成時間がまるごと間に加わります。トークンは文ごとにTTSへ流してください。
- LLMそのもの。 最初のトークンまでの時間は、たいてい最も長く、最も予測しにくい段です。前述の研究では、同じクラウドモデルで278〜784 msのばらつきがありました。
最も短くしやすいのはTTSの段です。Sonicは90ms未満で最初の音声を返すため、予算の大半を推論するモデルに残せます。
どちらのアーキテクチャでも、中央値ではなくP95で評価してください。会話には何十ものターンがあるので、20回に1回の遅いターンは、どの相手も必ず耳にします。理由はP95レイテンシのガイドで説明しています。
コスト:3種類のメーター
Speech-to-Speech APIは課金方式がそれぞれ違うので、料金表ではなく現実的な通話で比べてください。
- OpenAI gpt-realtime-2はトークン課金です。音声入力トークン100万あたり32ドル、音声出力トークン100万あたり64ドル、テキストは100万あたり4ドルと24ドルです(OpenAIの料金)。相手の音声は100 msごとに1トークン、モデルの音声は50 msごとに1トークンなので、相手の発話1分は入力600トークン(0.019ドル)、エージェントの発話1分は出力1,200トークン(0.077ドル)になります。注意点はコストガイドにあります。「会話全体が応答ごとにモデルへ送られます。」20ターン目では1〜19ターン目の分も再び支払うことになり、キャッシュが効く場合は100万あたり0.40ドルのキャッシュ料金です。
- Gemini 3.8 Liveは音声を分単位で課金します。入力が1分あたり約0.005ドル、出力が1分あたり約0.018ドルで、テキストトークンは100万あたり0.75ドルと4.50ドルです(Geminiの料金)。
- OpenAI GPT-Live 1はセッション時間で課金します。1分あたり0.05ドルの秒単位課金で、双方が黙っている時間も含みます。推論を行うバックエンドのモデルは別料金です。
カスケードは段ごとに別のメーターで課金されます。STTは音声の分数、LLMはテキストのトークン数、TTSは文字数です。テキストトークンは音声トークンよりはるかに安く、LLMが見るのは音声ではなく文字起こしだけです。Cartesia Managed Agentsは、音声認識、エージェントの実行環境、Sonicの声をまとめて1分あたり0.06ドルの単一料金で提供しています。
制御:何が見えて、何を変えられるか
両者が最も大きく分かれるのはここで、本番運用するチームの多くもここで判断します。
カスケードでは、すべての段がテキストを残します。 LLMが実際に推論に使った文字起こし、LLMが話すと決めたテキスト、そして音声が手元に残ります。通話がうまくいかなかったとき、どの段が間違えたかがわかります。相手は「15」と言ったのにSTTが「50」と聞き取った、LLMが返金ポリシーを作り上げた、TTSが「Dr.」を誤読した、といった具合です。他の段を再学習したり置き換えたりせずに、1つの段だけを直せます。
- STTモデルに業界用語を追加する(Ink-2はセッションごとに最大100個のキータームを受け付けます)
- より良いLLMが出たら切り替える、または難しいターンだけ大きなモデルに回す
- 誰かが聞く前に、LLMのテキストにガードレールをかける
- TTS側で辞書を使って読み方を直す
Speech-to-Speechモデルでは、推論は音声の上で行われます。 文字起こしは、Gemini Liveのoutput_audio_transcriptionのようにオンにする副次的な出力であり、モデルが推論に使ったテキストではありません。挙動はプロンプトとセッション設定で変えます。言語モデルそのものなので、言語モデルを差し替えることはできません。
OpenAIの答えが委任です。GPT-Liveが会話を続けている間に、自分で選んだバックエンドが推論とツール実行を行い、「バックエンドの処理中もユーザーは話し続けられます」。声はOpenAIのモデルのままで、両方の料金がかかります。
声と言語
Speech-to-Speechモデルは、搭載されている声で話します。カスケードなら、ブランドに合ったクローン音声を含む任意のTTSの声と、TTSとSTTのモデルが対応する任意の言語を使えます。Sonicは1つのモデルで44言語に対応し、電話番号、住所、IDを人が読むように読み上げます。
Speech-to-Speechのベンダーが強調するのは韻律です。相手の声色を聞けるモデルなら、相手が動揺していれば静かに、急いでいれば速く、と調子を合わせて答えられます。カスケードは声色をテキスト経由で伝えます。LLMが応答ごとに感情や話す速さを選び、TTSモデルがそれを表現します。Sonicはリクエストごとに感情と速度の制御を受け付けるので、話し方はモデルの即興ではなく、設定してテストできるものになります。
どちらを選ぶか
Speech-to-Speechモデルを選ぶのは、次のような場合です。
- APIキー1つで、今日の午後には動くプロトタイプがほしい
- エージェントは話すだけで、ツールも記録も、正確さが求められる数字もない
- モデル内蔵の声で十分で、推論の文字起こしも必要ない
カスケードを選ぶのは、次のような場合です。
- エージェントがツールを呼び出す、記録を参照する、支払いを受け付ける
- コンプライアンスやデバッグのために、エージェントが何を聞き、なぜそう答えたかの文字起こしが必要
- 名前、数字、コード、住所を正確に扱う必要がある
- 特定のLLMを使いたい、あるいは切り替える自由がほしい
- ブランドの声、クローン音声、またはSpeech-to-Speechモデルが対応していない言語が必要
顧客対応の電話エージェントのほとんどは、後者に当てはまります。Managed Agentsはまさにそのために作られました。Ink-2、選んだLLM、Sonic 3.6が1つのストリーミングパイプラインとして動き、ターンテイキングと割り込みも処理されるので、3社のベンダーをつなぎ合わせることなく、カスケードの制御性が手に入ります。Playgroundで作成して、上の数字と比べて時間を測ってみてください。
決める前のテスト方法
同じ20ターンの台本付き通話を各選択肢で流し、録音します。Covalと同じく、相手の発話の終わりから各応答の最初に聞こえる音までを測り、中央値、P95、ターン数を記録します。ツール呼び出しを含むターンも入れてください。どちらのアーキテクチャもそこで遅くなります。最後に録音を聞き、聞き間違えた数字、間違った名前、相手の発話にかぶせた応答を数えます。こうした失敗は200 msよりも高くつきます。