すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:Qwen-ASR Realtime のクライアントイベント

最終更新日:Jan 31, 2026

このドキュメントでは、クライアントが Qwen-ASR Realtime API との WebSocket セッション中にサーバーに送信するイベントについて説明します。

ユーザーガイド:モデルの概要、特徴、および完全なサンプルコードについては、「リアルタイム音声認識 - Qwen」をご参照ください。

session.update

セッション構成を更新します。このイベントは、WebSocket 接続を確立した直後に送信してください。このイベントを送信しない場合、システムはデフォルトの構成を使用します。

サーバーがこのイベントを正常に処理した後、確認として <a baseurl="t3166998_v2_0_1.xdita" data-node="5877974" data-root="85177" data-tag="xref" href="t2996392.xdita#424ef2e774q9p" id="7cf3cacc9elyp">session.updated</a> イベントを送信します。

パラメーター

タイプ

必須

説明

type

文字列

はい

イベントタイプ。値は session.update に固定されています。

event_id

文字列

はい

イベント ID。

session

オブジェクト

はい

セッション構成を含むオブジェクト。

session.input_audio_format

文字列

いいえ

オーディオフォーマット。サポートされているフォーマットは pcm および opus です。

デフォルト: pcm

session.sample_rate

整数

いいえ

Hz 単位の音声サンプリングレートです。サポートされている値は 16000 および 8000 です。

デフォルト: 16000

このパラメーターを 8000 に設定すると、サーバーは認識前にオーディオを 16000 Hz にアップサンプリングします。これにより、わずかな遅延が発生する可能性があります。電話回線からのオーディオなど、ソースオーディオが 8000 Hz の場合にのみ、この値を使用してください。

session.input_audio_transcription

オブジェクト

いいえ

音声認識に関連する構成。

session.input_audio_transcription.language

文字列

いいえ

音声のソース言語。

  • zh: 中国語 (標準語、四川語、閩南語、呉語)

  • yue: 広東語

  • en: 英語

  • ja: 日本語

  • de: ドイツ語

  • ko: 韓国語

  • ru: ロシア語

  • fr: フランス語

  • pt: ポルトガル語

  • ar: アラビア語

  • it: イタリア語

  • es: スペイン語

  • hi: ヒンディー語

  • id: インドネシア語

  • th: タイ語

  • tr: トルコ語

  • uk: ウクライナ語

  • vi: ベトナム語

  • cs: チェコ語

  • da: デンマーク語

  • fil: フィリピン語

  • fi: フィンランド語

  • is: アイスランド語

  • ms: マレー語

  • no: ノルウェー語

  • pl: ポーランド語

  • sv: スウェーデン語

session.input_audio_transcription.corpus.text

文字列

いいえ

コンテキストを指定します。音声認識中に背景テキスト、エンティティ語彙、その他の参照情報 (コンテキスト) を提供することで、カスタマイズされた結果を得ることができます。

長さ制限:10,000 トークン。

詳細については、「コンテキストバイアス」をご参照ください。

session.turn_detection

オブジェクト

いいえ

音声区間検出 (VAD) の構成。

このパラメーターは VAD モードを有効または無効にします。このパラメーターを `null` に設定すると、VAD モードが無効になり、手動モードが有効になります。このパラメーターが設定されている場合、VAD モードが有効になります。

session.turn_detection.type

文字列

いいえ、turn_detection が指定されている場合は必須です。

値は server_vad に固定されます。

session.turn_detection.threshold

浮動

いいえ

VAD 検出のしきい値。推奨値: 0.0

デフォルト: 0.2

有効値: [-1, 1]

しきい値を低くすると VAD の感度が向上しますが、バックグラウンドノイズが音声と誤認される可能性があります。しきい値を高くすると感度が低下し、ノイズの多い環境での誤トリガーを減らすのに役立ちます。

session.turn_detection.silence_duration_ms

整数

いいえ

VAD エンドポイント検出のしきい値をミリ秒 (ms) 単位で指定します。このしきい値を超える無音期間は、文の終わりと見なされます。推奨値: 400

デフォルト: 800

有効な値: [200, 6000]

300 ms などの低い値にすると、モデルはより速く応答できますが、通常の間で不自然な区切りが発生する可能性があります。1200 ms などの高い値にすると、長い文の中の間をより適切に処理できますが、全体的な応答レイテンシーが増加します。

{
    "event_id": "event_123",
    "type": "session.update",
    "session": {
        "input_audio_format": "pcm",
        "sample_rate": 16000,
        "input_audio_transcription": {
            "language": "zh"
        },
        "turn_detection": {
            "type": "server_vad",
            "threshold": 0.0,
            "silence_duration_ms": 400
        }
    }
}

input_audio_buffer.append

音声データブロックをサーバーの入力バッファーに追加します。これは、ストリーミング音声のコアとなるイベントです。

シナリオによる違い:

  • VAD モード:音声バッファーは音声区間検出に使用されます。サーバーは、認識のために音声を送信するタイミングを自動的に決定します。

  • 非 VAD モード:クライアントは各イベントの音声データ量をコントロールできます。単一の input_audio_buffer.append イベントにおける audio フィールドの最大サイズは 15 MiB です。より速い応答を得るには、より小さい音声ブロックをストリーミングしてください。

重要:サーバーは input_audio_buffer.append イベントに対する確認応答を送信しません。

パラメーター

タイプ

必須

説明

type

文字列

はい

イベントタイプ。値は input_audio_buffer.append である必要があります。

event_id

文字列

はい

イベントの一意の ID。

audio

文字列

はい

Base64 でエンコードされた音声データ。

{
  "event_id": "event_2728",
  "type": "input_audio_buffer.append",
  "audio": "<Base64 でエンコードされた音声データ>"
}

input_audio_buffer.commit

非 VAD モードでは、このイベントは手動で認識をトリガーします。クライアントが完全な発話の送信を完了したことをサーバーに通知します。その後、サーバーは現在のバッファー内のすべての音声データを単一のユニットとして認識します。

無効化されるモード: VAD モード。

正常に処理された後、サーバーは確認として<a baseurl="t3166998_v2_0_1.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#1108a3764an0e" id="db12619007qx8">input_audio_buffer.committed</a> イベントを送信します。

パラメーター

タイプ

必須

説明

type

文字列

はい

イベントタイプ。値は input_audio_buffer.commit です。

event_id

文字列

はい

イベント ID。

{
  "event_id": "event_789",
   "type": "input_audio_buffer.commit"
}

session.finish

現在のセッションを終了します。

サーバーの応答フロー:

  • 音声が検出された場合: 最終的な音声認識が完了すると、サーバーは認識結果を含む <a baseurl="t3166998_v2_3_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#403ecacd74qqg" id="08b47ad71aid9">conversation.item.input_audio_transcription.completed</a> イベントを送信します。その後、サーバーはセッションが終了したことを示す <a baseurl="t3166998_v2_3_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="5c32b2c857nkp">session.finished</a> イベントを送信します。

  • 音声が検出されない場合、サーバーは直接 <a baseurl="t3166998_v2_3_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="9e19545606n7y">session.finished</a> イベントを送信します。

クライアントが <a baseurl="t3166998_v2_3_0.xdita" data-node="6184673" data-root="85177" data-tag="xref" href="t3167042.xdita#6eaa77339djdv" id="b7b837b1baejl">session.finished</a> イベントを受信した後、クライアントは切断する必要があります。

パラメーター

タイプ

必須

説明

type

文字列

はい

イベントタイプ。値は session.finish です。

event_id

文字列

はい

イベント ID。

{
  "event_id": "event_341",
  "type": "session.finish",
}