Skip to main content

用戶端事件

本文介紹 Qwen-TTS Realtime API 的用戶端事件。

相關文檔:即時語音合成-千問。

session.update

用於更新會話配置。在WebSocket串連建立成功後,可立即發送此事件作為互動的第一步。如果未發送,系統將使用預設配置。服務端成功處理此事件後,會返回session.updated事件作為確認。
event_idstring(必選)用戶端產生的唯一事件ID。在單次WebSocket串連會話中必須保持唯一。強烈建議使用 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": "您好,我是千問。"
}

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"
}
用戶端事件 - Alibaba Cloud Model Studio