Skip to main content

Qwen-LiveTranslate-Realtime クライアントイベント

Qwen リアルタイム音声・音声映像翻訳 API のクライアントイベントについて説明します。

リファレンス:リアルタイム音声・映像翻訳 - Qwen 。
このページは Qwen-LiveTranslate-Realtime のイベントリファレンスです。イベント定義は WebSocket アクセスを基準としています。AOQ と WebRTC は、それぞれのデータチャネルでモデルイベントを送受信し、メディアトラックでメディアを転送します。最初に WebSocket アクセス、WebRTC アクセス、または AOQ アクセスをお読みください。
WebSocket SDK の使用方法は、Python SDKと Java SDKをご覧ください。モデルとプロトコルの選択は、概要をご覧ください。

session.update

WebSocket 接続を確立した後、デフォルトのセッション構成を更新するには、このイベントを送信します。サーバーはパラメーターを検証し、無効な場合はエラーを返し、有効な場合は更新後の構成を返します。
typestring(必須)イベントタイプ。必ず session.update に設定してください。sessionobject(任意)セッション構成。

プロパティ

output_modalitiesarray(任意)qwen3.8-livetranslate-flash-realtime に適用されます。出力モダリティは ["text"](テキストのみ)または ["text", "audio"](テキストと音声、デフォルト)です。audioobject(任意)qwen3.8-livetranslate-flash-realtime に適用されます。音声設定。
inputobject入力音声の設定。
formatobject(任意)入力音声のフォーマット。
typestring(任意)音声フォーマット。有効値は pcm(デフォルト)と opus です。sample_rateinteger(任意)入力音声のサンプルレート(Hz)。デフォルトは 16000 です。
turn_detectionobject(任意)音声検出の設定。
typestring(任意)有効値:speaker_detection(デフォルト、リアルタイムの話者分離を有効化)、server_vad(音声アクティビティ検出)。thresholdnumber(任意)speaker_detection の場合、無音と有効な発話を区別するしきい値です。しきい値を下回る音声は除外され、モデルには入力されません。値は 0.5 に固定されています。
modalitiesarray(任意)qwen3.5-livetranslate-flash-realtime に適用されます。出力モダリティ。有効値:
  • ["text"] テキストのみを出力します。
  • ["text","audio"] (デフォルト) テキストとオーディオを出力します。
voicestring(任意)生成されるオーディオの音声。音声クローニングが無効の場合、システムプリセット音声のいずれかを指定します。有効値:サポートされている音声。デフォルト値:Qwen3.5-LiveTranslate-Flash-Realtime の場合は Tina、Qwen3-LiveTranslate-Flash-Realtime の場合は Cherry です。qwen3.8-livetranslate-flash-realtime のデフォルトの音色は Tina です。
enable_voice_clone が true の場合、voice の値は frequency 設定に依存します。frequency が once または always の場合、default に設定してください。frequency が never の場合、以前にクローニングした音声 ID を設定してください。この場合にシステムプリセット音声を使用すると、サーバーエラーが発生します。
enable_voice_cloneboolean(任意)音声クローニングを有効にするかどうかです。デフォルトは false です。有効にすると、翻訳時に入力音声の声をリアルタイムでクローンするか、事前にクローンした音声を使用できます。この場合、voice はシステムのプリセット音声を使用しません。default、または音声クローニング APIで事前にクローンした音声の ID を設定してください。voice_clone_optionsobject(任意)音声クローニングの制御オプション。enable_voice_clone が true の場合にのみ有効になります。

プロパティ

voice_clone_options.frequencystring(任意)音声クローニングの頻度。有効値:
  • never サーバー側での音声クローニングを無効にし、以前にクローニングした音声を使用します。voice にクローニング済みの音声 ID を設定してください。
  • once セッション開始時に一度だけ音声をクローニングし、以降のすべての出力で再利用します。単一話者シナリオに適しています。voice は default に設定してください。
  • always 各出力の直前にリアルタイムで音声を再クローニングし、入力音声に動的に適応します。複数話者シナリオに適しています。voice は default に設定してください。
sample_rateinteger(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声のサンプルレート(Hz 単位)。有効値:
  • 8000
  • 16000 (デフォルト)
input_audio_transcriptionobject(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声の構成。

プロパティ

modelstring(任意)音声認識モデル。設定すると、サーバーは認識結果(元のソース言語テキスト)と翻訳の両方を conversation.item.input_audio_transcription.text イベントおよび conversation.item.input_audio_transcription.completed イベントで返します。有効値:qwen3-asr-flash-realtime。languagestring(任意)翻訳のソース言語。有効値:サポートされている言語。指定しない場合、モデルが自動的にソース言語を検出します。
input_audio_formatstring(任意)qwen3.5-livetranslate-flash-realtime に適用されます。入力音声フォーマット。有効値:
  • pcm (デフォルト) 非圧縮の生音声データ。
  • opus 低遅延をサポートする可変長圧縮音声コーデック。VoIP シナリオに適しています。
output_audio_formatstring(任意)qwen3.5-livetranslate-flash-realtime に適用されます。出力音声フォーマット。現在、このパラメーターは pcm のみに設定できます。turn_detectionobject(任意)qwen3.5-livetranslate-flash-realtime に適用されます。音声アクティビティ検出(VAD)の構成。音声の開始および終了の検出方法を制御するために使用されます。
  • 構成オブジェクトに設定(デフォルト):VAD モードを有効にします。サーバーが自動的に音声の開始および終了を検出し、オーディオバッファーをコミットして翻訳応答をトリガーします。クライアントは input_audio_buffer.commit イベントを送信する必要はありません。
  • null に設定:マニュアルモードを有効にします。クライアントが input_audio_buffer.commit イベントを送信してオーディオバッファーを手動でコミットします。サーバーはコミットを受信すると自動的に翻訳応答の生成を開始します。

プロパティ

typestring(任意)VAD タイプ。必ず server_vad に設定してください。thresholdfloat(任意)VAD 検出の感度。値が低いほど、微弱な音(バックグラウンドノイズを含む)も音声として認識されやすくなります。値が高いほど、より明瞭で大きな音声が必要になります。値の範囲:[-1.0, 1.0]。デフォルト値:0.2。silence_duration_msinteger(任意)音声終了後に必要な最小サイレンス持続時間(ミリ秒単位)。この持続時間が超過すると、サーバーは音声が終了したと判断し、自動的にオーディオバッファーをコミットして翻訳応答をトリガーします。値の範囲:[200, 6000]。デフォルト値:1000。
translationobject(任意)翻訳構成。

プロパティ

languagestring(任意)翻訳のターゲット言語。有効値:サポートされている言語。デフォルト値:en。same_language_skip_optionsobject(任意)qwen3.8-livetranslate-flash-realtime はこのパラメーターに対応していません。同一言語出力構成。ソース言語とターゲット言語が同じ場合、サービスはテキスト出力、オーディオ出力、またはその両方をスキップできます。このパラメーターは、translation.language が zh または en に設定されている場合にのみ有効になります。

プロパティ

skip_textboolean(任意)ソース言語とターゲット言語が同じ場合にテキスト出力をスキップするかどうかを指定します。skip_audioboolean(任意)ソース言語とターゲット言語が同じ場合にオーディオ出力をスキップするかどうかを指定します。
corpusobject(任意)特定の用語の翻訳精度を向上させるためのホットワード構成。

プロパティ

phrasesobject(任意)ホットワードマッピング。キーはソース言語の用語、値はそのターゲット言語への翻訳です。例:{"AI": "Artificial Intelligence"}
  • qwen3.8-livetranslate-flash-realtime
  • qwen3.5-livetranslate-flash-realtime
{
  "type": "session.update",
  "session": {
    "output_modalities": [
      "text",
      "audio"
    ],
    "audio": {
      "input": {
        "format": {
          "type": "pcm",
          "sample_rate": 16000
        },
        "turn_detection": {
          "type": "speaker_detection",
          "threshold": 0.5
        }
      }
    },
    "voice": "default",
    "enable_voice_clone": true,
    "voice_clone_options": {
      "frequency": "once"
    },
    "translation": {
      "language": "en",
      "corpus": {
        "phrases": {
          "人工知能": "Artificial Intelligence",
          "機械学習": "Machine Learning"
        }
      }
    }
  }
}

input_audio_buffer.append

WebSocket アクセス時に、入力音声バッファーへ音声バイトを追加します。サーバーはこのバッファーを使用して発話を検出し、コミットのタイミングを判断します。
typestring(必須)イベントタイプ。必ず input_audio_buffer.append に設定してください。audiostring(必須)Base64 エンコードされたオーディオデータ。
{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.append",
    "audio": "xxx"
}

input_audio_buffer.commit

入力オーディオバッファーをコミットします。このイベントはマニュアルモード(turn_detection が null に設定されている場合)でのみ送信する必要があります。VAD モードではサーバーが自動的にコミットするため、クライアントはこのイベントを送信しません。 このイベントを受信すると、サーバーは確認として input_audio_buffer.committed イベントを返し、自動的に翻訳応答の生成を開始します(応答をトリガーするために追加のイベントは不要です)。オーディオバッファーが空の場合、サーバーはエラーイベントを返します。
typestring(必須)イベントタイプ。必ず input_audio_buffer.commit に設定してください。
{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.commit"
}

input_audio_buffer.clear

コミットされていないオーディオデータを入力オーディオバッファーからクリアします。
typestring(必須)イベントタイプ。必ず input_audio_buffer.clear に設定してください。
{
    "event_id": "event_xxx",
    "type": "input_audio_buffer.clear"
}

input_image_buffer.append

WebSocket アクセス時に、画像バッファーへ画像データを追加します。画像はローカルファイルから取得するか、動画ストリームからリアルタイムでキャプチャできます。 画像入力の制限事項:
  • 画像フォーマット:JPG または JPEG。最適なパフォーマンスを得るための推奨解像度:480p または 720p(最大:1080p)。
  • 最大画像サイズ:Base64 エンコーディング前の 500 KB。
  • 画像データは Base64 エンコードされている必要があります。
  • 最大送信頻度:1 秒あたり 2 枚。
  • input_image_buffer.append を送信する前に、少なくとも 1 回は input_audio_buffer.append イベントを送信する必要があります。
typestring(必須)イベントタイプ。必ず input_image_buffer.append に設定してください。imagestring(必須)Base64 エンコードされた画像データ。
{
    "event_id": "event_xxx",
    "type": "input_image_buffer.append",
    "image": "xxx"
}

session.finish

現在のセッションを終了するには、このイベントを送信します。サーバーの応答:
  • 発話が検出された場合:サーバーは残りの翻訳を完了します。入力音声の文字起こしが有効な場合は、conversation.item.input_audio_transcription.completed で原言語の全文を返します。すべての音声翻訳が完了すると、session.finished を送信してセッションの終了を示します。
  • 発話が検出されなかった場合:サーバーは直接 session.finished を送信します。
session.finished イベントを受信した後、残りの翻訳音声を再生する場合は、ローカルでの再生を完了してからクライアント側で接続を切断してください。
typestring(必須)イベントタイプ。必ず session.finish に設定してください。
{
    "event_id": "event_xxx",
    "type": "session.finish"
}