QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

CosyVoice eventos do lado do servidor

CosyVoice referência de evento do servidor WebSocket de síntese de fala em tempo real

Guia do usuário: Para introdução do modelo e recomendações de seleção, consulte Síntese de fala.

tarefa iniciada

Após o cliente enviar o run-task comando, o servidor retorna um task-started evento para sinalizar que a tarefa foi iniciada. O cliente poderá enviar comandos subsequentes somente após receber esse evento.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-started",
    "attributes": {}
  },
  "payload": {}
}
Campo Tipo Descrição
cabeçalho.task_id corda O ID da tarefa gerado pelo cliente.
cabeçalho.evento corda Tipo de evento. Valor fixo: task-started.
carga útil objeto Objeto vazio.

gerado por resultado

Depois que o cliente envia o texto, o servidor retorna continuamente result-generated eventos. Cada evento carrega metadados em nível de frase.

sentence-begin

```json
{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": []
      },
      "type": "sentence-begin",
      "original_text": "Before my bed, moonlight shines bright,"
    }
  }
}
```

sentence-synthesis

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

sentence-end

```json
{
  "header": {
    "task_id": "3f2d5c86-0550-45c0-801f-xxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "index": 0,
        "words": [
          {
            "text": "Before",
            "begin_index": 0,
            "end_index": 1,
            "begin_time": 0,
            "end_time": 263
          }
        ]
      },
      "type": "sentence-end",
      "original_text": "Before my bed, moonlight shines bright,"
    },
    "usage": {
      "characters": 6
    }
  }
}
```
Campo Tipo Descrição
cabeçalho.task_id corda O ID da tarefa gerado pelo cliente.
cabeçalho.evento corda Tipo de evento. Valor fixo: result-generated.
carga útil.output.type corda Tipo de subevento. Valores válidos: sentence-begin (início da frase, retorna o texto a ser sintetizado), sentence-synthesis (marca um quadro de áudio, um quadro de áudio é transmitido pelo canal binário WebSocket imediatamente após cada evento), sentence-end (fim da frase, retorna o conteúdo do texto e a contagem cumulativa de caracteres).
carga útil.output.sentence.index inteiro Índice de sentença, começando em 0.
carga útil.output.sentence.words matriz Matriz de carimbo de data/hora em nível de palavra.
carga útil.output.sentence.words[].texto corda Conteúdo textual da palavra.
carga útil.output.sentence.words[].begin_index inteiro Índice de caracteres iniciais da palavra dentro da frase. Começa em 0.
carga útil.output.sentence.words[].end_index inteiro Índice de caracteres finais da palavra dentro da frase. Começa em 1.
carga útil.output.sentence.words[].begin_time inteiro Hora de início do áudio correspondente da palavra, em milissegundos.
carga útil.output.sentence.words[].end_time inteiro Hora de término do áudio correspondente da palavra, em milissegundos.
carga útil.output.original_text corda Texto da frase segmentado para síntese.
carga útil.usage.characters inteiro Número cumulativo de caracteres cobrados (retornado no evento de final de frase).

tarefa concluída

O servidor retorna um task-finished evento quando a tarefa for concluída. O cliente pode então fechar a conexão WebSocket ou reutilizá-la para iniciar uma nova tarefa.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-finished",
    "attributes": {
      "request_uuid": "0a9dba9e-d3a6-45a4-be6d-xxxxxxxxxxxx"
    }
  },
  "payload": {
    "usage": {
      "characters": 13
    }
  }
}
Campo Tipo Descrição
cabeçalho.task_id corda O ID da tarefa gerado pelo cliente.
cabeçalho.evento corda Tipo de evento. Valor fixo: task-finished.
carga útil.usage.characters inteiro Número cumulativo de caracteres faturados.

tarefa falhou

O servidor retorna um task-failed evento quando a tarefa falha. Ao receber este evento, o cliente deve fechar a conexão WebSocket e tratar o erro.

{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "task-failed",
    "error_code": "InvalidParameter",
    "error_message": "[tts:]Engine return error code: 418",
    "attributes": {}
  },
  "payload": {}
}
Campo Tipo Descrição
cabeçalho.task_id corda O ID da tarefa gerado pelo cliente.
cabeçalho.evento corda Tipo de evento. Valor fixo: task-failed.
cabeçalho.error_code corda Código de erro.
header.error_message corda Mensagem de erro detalhada.