Skip to main content

クライアントイベント

このトピックでは、Qwen-TTS Realtime API のクライアントイベントについて説明します。

リファレンス:リアルタイム音声合成 - Qwen。

session.update

セッション構成を更新します。WebSocket 接続が確立された後、インタラクションの最初のステップとしてこのイベントを送信してください。このイベントを送信しない場合、システムはデフォルト構成を使用します。サーバーがこのイベントを正常に処理した後、確認として session.updated イベントを返します。
event_idstring(必須)クライアントが生成する一意のイベント ID です。単一の WebSocket 接続セッション内で一意である必要があります。Universally Unique Identifier (UUID) の使用を強く推奨します。typestring(必須)イベントタイプです。session.update に設定します。sessionobject(オプション)セッション構成です。

プロパティ

voicestring(必須)音声合成に使用するシステム音声。サポートされる音声をご参照ください。modestring(オプション)インタラクションパターンです。有効な値は以下のとおりです。
  • server_commit (デフォルト):サーバーが自動的に合成タイミングを判断し、レイテンシと品質のバランスを取ります。ほとんどのシナリオでこのパターンを推奨します。
  • commit:クライアントが手動で合成をトリガーします。このパターンは最低のレイテンシを実現しますが、文の整合性を管理する必要があります。
language_typestring(オプション)合成オーディオの言語です。デフォルト値は Auto です。
  • Auto:テキストの言語が不明な場合や、複数の言語が混在している場合に使用します。モデルはテキスト内の異なる言語セグメントに対して自動的に発音をマッチングしますが、完全な精度は保証できません。
  • 特定の言語:単一言語のテキストに使用します。言語を指定することで合成品質が大幅に向上し、通常は Auto よりも優れた結果が得られます。有効な値は以下のとおりです。
    • Chinese
    • English
    • German
    • Italian
    • Portuguese
    • Spanish
    • Japanese
    • Korean
    • French
    • Russian
response_formatstring(オプション)モデルからのオーディオ出力フォーマットです。サポートされるフォーマット:
  • pcm (デフォルト)
  • wav
  • mp3
  • opus
sample_rateinteger(オプション)モデルからのオーディオ出力のサンプルレート (Hz) です。サポートされるサンプルレート:
  • 8000
  • 16000
  • 24000 (デフォルト)
  • 48000
speech_ratefloat(オプション)オーディオの話速です。1.0 が通常速度です。1.0 未満は低速、1.0 より大きい値は高速になります。デフォルト値:1.0有効範囲:[0.5, 2.0]volumeinteger(オプション)オーディオのボリュームです。デフォルト値:50有効範囲:[0, 100]pitch_ratefloat(オプション)合成オーディオのピッチです。デフォルト値:1.0有効範囲:[0.5, 2.0]bit_rateinteger(オプション)ビットレート (kbps) です。ビットレートが高いほどオーディオ品質が向上し、ファイルサイズも大きくなります。このパラメーターは、オーディオフォーマット (response_format) が opus に設定されている場合にのみ使用できます。デフォルト値:128有効範囲:[6, 510]
{
    "event_id": "event_123",
    "type": "session.update",
    "session": {
        "voice": "Cherry",
        "mode": "server_commit",
        "language_type": "Chinese",
        "response_format": "pcm",
        "sample_rate": 24000
    }
}

input_text_buffer.append

合成対象のテキストをテキストバッファーに追加します。server_commit モードでは、テキストはサーバー側のテキストバッファーに追加されます。commit モードでは、テキストはクライアント側のテキストバッファーに追加されます。
event_idstring(必須)クライアントが生成する一意のイベント ID です。単一の WebSocket 接続セッション内で一意である必要があります。UUID の使用を強く推奨します。typestring(必須)イベントタイプです。input_text_buffer.append に設定します。textstring(必須)合成対象のテキストです。
{
  "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
  "type": "input_text_buffer.append",
  "text": "Hello, I am Qwen."
}

input_text_buffer.commit

ユーザー入力テキストバッファーをコミットして、会話内に新しいユーザーメッセージアイテムを作成します。入力テキストバッファーが空の場合、このイベントによりエラーが発生します。server_commit モードでは、このイベントを送信すると、それまでに蓄積されたすべてのテキストが即座に合成され、サーバーはそれ以降テキストをキャッシュしません。commit モードでは、クライアントがテキストバッファーをコミットしてユーザーメッセージアイテムを作成する必要があります。入力テキストバッファーのコミットによって、モデルからの応答は生成されません。サーバーは input_text_buffer.committed イベントを返します。
event_idstring(必須)クライアントが生成する一意のイベント ID です。単一の WebSocket 接続セッション内で一意である必要があります。UUID の使用を強く推奨します。typestring(必須)イベントタイプです。input_text_buffer.commit に設定します。
{
  "event_id": "event_B4o9RHSTWobB5OQdEHLTo",
  "type": "input_text_buffer.commit"
}

input_text_buffer.clear

バッファー内のテキストをクリアします。サーバーは input_text_buffer.cleared イベントを返します。
event_idstring(必須)クライアントが生成する一意のイベント ID です。単一の WebSocket 接続セッション内で一意である必要があります。UUID の使用を強く推奨します。typestring(必須)イベントタイプです。input_text_buffer.clear に設定します。
{
  "event_id": "event_2728",
  "type": "input_text_buffer.clear"
}

session.finish

クライアントは session.finish イベントを送信して、これ以上テキスト入力がないことをサーバーに通知します。サーバーは残りのオーディオを返した後、接続を閉じます。
event_idstring(必須)クライアントが生成する一意のイベント ID です。単一の WebSocket 接続セッション内で一意である必要があります。UUID の使用を強く推奨します。typestring(必須)イベントタイプです。session.finish に設定します。
{
  "event_id": "event_2239",
  "type": "session.finish"
}