CosyVoice服務端事件

更新時間:
Copy as MD

使用者指南:關於模型介紹和選型建議請參見語音合成

task-started

當用戶端發送 run-task 指令後,服務端返回 task-started 事件,標誌任務已成功開啟。只有在接收到該事件後,用戶端才能繼續發送後續指令。

header.task_id string

用戶端產生的任務 ID。

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-started",
    "attributes": {}
  },
  "payload": {}
}

header.event string

事件類型,固定為 task-started

payload object

無內容,為空白對象。

result-generated

用戶端發送文本後,服務端持續返回 result-generated 事件。該事件返回句子元資訊。

header.task_id string

用戶端產生的任務 ID。

sentence-begin

{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": []
      },
      "type": "sentence-begin",
      "original_text": "床前明月光,"
    }
  }
}

sentence-synthesis

{
    "header": {
        "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
        "event": "result-generated",
        "attributes": {}
    },
    "payload": {
        "output": {
            "sentence": {
                "index": 0,
                "words": []
            },
            "type": "sentence-synthesis"
        }
    }
}

sentence-end

{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": [
          {
            "text": "床",
            "begin_index": 0,
            "end_index": 1,
            "begin_time": 0,
            "end_time": 263
          }
        ]
      },
      "type": "sentence-end",
      "original_text": "床前明月光,"
    },
    "usage": {
      "characters": 6
    }
  }
}

header.event string

事件類型,固定為 result-generated

payload.output object

輸出資訊。

屬性

type string

子事件類型,取值:

  • sentence-begin:句子開始,返回待合成的常值內容

  • sentence-synthesis:標識音頻資料區塊,每個事件後立即通過 WebSocket binary 通道傳輸一個音頻資料幀

  • sentence-end:句子結束,返迴文本內容和累計字元數

sentence.index integer

句子編號,從 0 開始。

sentence.words array

字層級時間戳記資訊數組。

words 元素屬性

text string

字的常值內容。

begin_index integer

字在句子中的開始位置索引,從 0 開始。

end_index integer

字在句子中的結束位置索引,從 1 開始。

begin_time integer

字對應音訊開始時間戳,單位:毫秒。

end_time integer

字對應音訊結束時間戳記,單位:毫秒。

original_text string

分句後的句子常值內容。

payload.usage object

計費資訊,在 sentence-end 事件中返回。

屬性

characters integer

截止當前累計的計費字元數。

task-finished

服務端返回 task-finished 事件,標誌任務已結束。用戶端可以關閉 WebSocket 串連或複用串連開啟新任務。

header.task_id string

用戶端產生的任務 ID。

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {
      "request_uuid": "0a9dba9e-d3a6-45a4-be6d-xxxxxxxxxxxx"
    }
  },
  "payload": {
    "usage": {
      "characters": 13
    }
  }
}

header.event string

事件類型,固定為 task-finished

payload.usage.characters integer

截止當前累計的計費字元數。

task-failed

當任務失敗時,服務端返回 task-failed 事件。用戶端需要關閉 WebSocket 串連並處理錯誤。

header.task_id string

用戶端產生的任務 ID。

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-failed",
    "error_code": "InvalidParameter",
    "error_message": "[tts:]Engine return error code: 418",
    "attributes": {}
  },
  "payload": {}
}

header.event string

事件類型,固定為 task-failed

header.error_code string

錯誤碼。

header.error_message string

具體錯誤資訊。