Skip to main content

Eventos enviados por el servidor para reconocimiento de voz en tiempo real (Paraformer)

Referencia de los eventos enviados por el servidor que el servicio de reconocimiento de voz en tiempo real Paraformer envía a los clientes a través de WebSocket. Este tema documenta la estructura de datos y la semántica de campos de los cuatro tipos de eventos: task-started, result-generated, task-finished y task-failed.

Guía del usuario: Para obtener detalles sobre el modelo y orientación para la selección, consulte Conversión de voz a texto. Flujo de interacción de eventos: Para el diagrama de secuencia de eventos, consulte API de WebSocket.

task-started

Descripción: La tarea se ha iniciado correctamente. El cliente puede comenzar a enviar datos de audio.
headerobject

Propiedades

task_idstringID de tarea generado por el cliente (formato UUID).eventstringTipo de evento. Siempre task-started.attributesobjectAtributos adicionales. Generalmente vacíos.
payloadobjectSiempre {}.
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-started",
        "attributes": {}
    },
    "payload": {}
}

result-generated

Descripción: Resultado de reconocimiento. Incluye resultados intermedios (sentence_end=false) y resultados finales (sentence_end=true).
headerobject

Propiedades

task_idstringID de tarea generado por el cliente (formato UUID).eventstringTipo de evento. Siempre result-generated.
payloadobject

Propiedades

outputobject

Propiedades

usageobjectCuando payload.output.sentence.sentence_end es false (la oración actual no ha terminado), usage es null.Cuando payload.output.sentence.sentence_end es true (la oración actual ha terminado), usage.duration indica la duración facturable de la tarea actual.

Propiedades

durationintegerDuración facturable de la tarea, en segundos.

Propiedades

sentenceobject

Propiedades

begin_timeintegerTiempo de inicio de la oración, en milisegundos.end_timeintegerTiempo de finalización de la oración, en milisegundos.textstringTexto reconocido.heartbeatbooleanSi es true, puede omitir este resultado (paquete de latido).sentence_endbooleanIndica si la oración ha terminado (true=resultado final, false=resultado intermedio).emo_tagstring
  • Solo paraformer-realtime-8k-v2 admite esta función.
  • Esta función requiere que la segmentación semántica esté deshabilitada. Establezca semantic_punctuation_enabled en false en el evento run-task.
  • El resultado de reconocimiento de emociones se devuelve solo cuando payload.output.sentence.sentence_end es true.
Sentimiento de la oración actual:
  • positive: Sentimiento positivo, como feliz o satisfecho.
  • negative: Sentimiento negativo, como enojado o abatido.
  • neutral: Sin sentimiento distintivo.
emo_confidencefloat
  • Solo paraformer-realtime-8k-v2 admite esta función.
  • Esta función requiere que la segmentación semántica esté deshabilitada. Establezca semantic_punctuation_enabled en false en el evento run-task.
  • El resultado de reconocimiento de emociones se devuelve solo cuando payload.output.sentence.sentence_end es true.
Puntuación de confianza de la emoción en el rango [0.0, 1.0]. Un valor más alto indica mayor confianza.wordsarray[object]Información de marcas de tiempo a nivel de palabra.

Propiedades

begin_timeintegerTiempo de inicio de la palabra, en milisegundos.end_timeintegerTiempo de finalización de la palabra, en milisegundos.textstringTexto reconocido.punctuationstringSigno de puntuación.
{
  "header": {
    "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
    "event": "result-generated",
    "attributes": {}
  },
  "payload": {
    "output": {
      "sentence": {
        "begin_time": 170,
        "end_time": null,
        "text": "Okay, I got it.",
        "heartbeat": false,
        "sentence_end": true,
        "words": [
          {
            "begin_time": 170,
            "end_time": 295,
            "text": "Okay",
            "punctuation": ","
          },
          {
            "begin_time": 295,
            "end_time": 503,
            "text": "I",
            "punctuation": ""
          },
          {
            "begin_time": 503,
            "end_time": 711,
            "text": "got",
            "punctuation": ""
          },
          {
            "begin_time": 711,
            "end_time": 920,
            "text": "it",
            "punctuation": ""
          }
        ]
      }
    },
    "usage": {
      "duration": 3
    }
  }
}

task-finished

Descripción: La tarea finalizó normalmente. Puede cerrar la conexión o reutilizarla.
headerobject

Propiedades

task_idstringID de tarea generado por el cliente (formato UUID).eventstringTipo de evento. Siempre task-finished.attributesobjectAtributos adicionales. Generalmente vacíos.
payloadobjectEl contenido se puede ignorar. Generalmente {}.
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-finished",
        "attributes": {}
    },
    "payload": {
        "output": {},
        "usage": null
    }
}

task-failed

Descripción: La tarea falló. La conexión está cerrada y no se puede reutilizar.
headerobject

Propiedades

task_idstringID de tarea generado por el cliente (formato UUID).eventstringTipo de evento. Siempre task-failed.error_codestringDescripción del tipo de error.error_messagestringCausa específica del error.attributesobjectAtributos adicionales. Generalmente vacíos.
payloadobjectSiempre {}.
{
    "header": {
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "event": "task-failed",
        "error_code": "CLIENT_ERROR",
        "error_message": "request timeout after 23 seconds.",
        "attributes": {}
    },
    "payload": {}
}