本文介紹通過WebSocket串連訪問Qwen-Audio-TTS/CosyVoice即時語音合成服務的互動流程、介面地址和要求標頭。
DashScope SDK目前僅支援Java和Python。使用其他程式設計語言時,可通過WebSocket串連與服務進行通訊。
使用者指南:關於模型介紹和選型建議請參見語音合成。
WebSocket URL固定如下:
要求標頭中需添加如下資訊:
用戶端事件和服務端事件的詳細說明,請參見用戶端事件和服務端事件。
按時間順序,用戶端與服務端的互動流程如下:
介面地址
WebSocket URL固定如下:
- 新加坡
- 華北2(北京)
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inference調用時請將{WorkspaceId}替換為真實的Workspace ID。要求標頭
要求標頭中需添加如下資訊:
參數 | 類型 | 是否必選 | 說明 |
|---|---|---|---|
Authorization | string | 是 | 鑒權令牌,格式為 |
user-agent | string | 否 | 用戶端標識,便於服務端追蹤來源。 |
X-DashScope-WorkSpace | string | 否 | 阿里雲百鍊業務空間ID。 |
X-DashScope-DataInspection | string | 否 | 是否啟用資料合規檢測功能。預設不傳或設為 |
互動流程
用戶端事件和服務端事件的詳細說明,請參見用戶端事件和服務端事件。
按時間順序,用戶端與服務端的互動流程如下:
- 建立串連:用戶端與服務端建立WebSocket串連。
- 開啟任務:用戶端發送run-task事件以開啟任務。
- 等待確認:用戶端收到服務端返回的task-started事件,標誌著任務已成功開啟,可以進行後續步驟。
-
發送待合成文本:
用戶端按順序向服務端發送一個或多個包含待合成文本的continue-task事件,服務端接收到完整語句後返回result-generated事件和音頻流(文本長度有約束, 詳情參見continue-task事件中
text欄位描述)。支援多次發送continue-task事件,按順序提交文本片段。服務端接收文本片段後自動進行分句:- 完整語句立即合成,此時用戶端能夠接收到服務端返回的音頻
- 不完整語句緩衝至完整後合成,語句不完整時服務端不返迴音頻
-
接收音頻:通過
binary通道接收音頻流 - 通知服務端結束任務: 待文本發送完畢後,用戶端發送finish-task事件通知服務端結束任務,並繼續接收服務端返回的音頻流。此步驟不可省略,否則可能導致語音資料不完整。
- 任務結束: 用戶端收到服務端返回的task-finished事件,標誌著任務結束。
- 關閉串連:用戶端關閉WebSocket串連。