Skip to main content

Eventos de cliente de reconocimiento de voz en tiempo real de Fun-ASR-Realtime

Este tema describe los eventos de cliente que el cliente envía al servidor a través de WebSocket en el servicio de reconocimiento de voz en tiempo real de Fun-ASR-Realtime, incluidas las estructuras de datos y definiciones de campos para run-task (iniciar una tarea) y finish-task (finalizar una tarea).

run-task

Inicia una tarea de reconocimiento de voz y establece parámetros como el modelo, el formato de audio y la frecuencia de muestreo. Cuándo enviar: Envíe inmediatamente después de establecer la conexión WebSocket. Evento de respuesta: Puede enviar audio solo después de que el servidor devuelva el evento task-started.
headerobject(Obligatorio)

Propiedades

actionstring(Obligatorio)El tipo de comando. Establézcalo en run-task.task_idstring(Obligatorio)Un ID de tarea generado por el cliente (formato UUID) que vincula eventos posteriores a esta tarea.streamingstring(Obligatorio)Establecido en duplex.
payloadobject(Obligatorio)

Propiedades

task_groupstring(Obligatorio)El grupo de tareas. Establézcalo en audio.taskstring(Obligatorio)El tipo de tarea. Establézcalo en asr.functionstring(Obligatorio)El tipo de función. Establézcalo en recognition.modelstring(Obligatorio)El nombre del modelo.inputobject(Obligatorio)El objeto de entrada. Pase {} cuando no se proporcione contexto.
Solo los modelos fun-asr-realtime admiten contexto.

Propiedades

contextarray(object)(Opcional)El contexto de la conversación, que mejora la precisión del reconocimiento para vocabulario específico del dominio. Para obtener detalles de uso, consulte Mejora del contexto.
Límites: Puede proporcionar como máximo 5 mensajes de contexto de cada tipo (input_text y text). Si supera este límite, solo se conservan los 5 mensajes más recientes. La longitud total del texto por turno (la longitud combinada de los campos text de los mensajes user y assistant) no puede exceder los 400 caracteres (contados por carácter, donde cada carácter cuenta como 1). El texto que supere este límite se trunca desde el final.
Cuando proporciona contexto, los mensajes en context deben seguir un orden específico. Los mensajes de contexto deben organizarse por turno de conversación, y dentro de cada turno el mensaje user (de tipo input_text) debe aparecer antes de su mensaje assistant correspondiente (de tipo text).

Propiedades

rolestring(Obligatorio)El rol del mensaje. Valores válidos:
  • user: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio.
  • assistant: Las respuestas del modelo de lenguaje grande en turnos anteriores.
contentarray(object)(Obligatorio)La lista de contenidos de mensajes.

Propiedades

typestring(Obligatorio)El tipo de contenido. Valores válidos:
  • input_text: Los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio (se usa cuando el rol es user). También debe proporcionar el campo text.
  • text: Las respuestas del modelo de lenguaje grande en turnos anteriores (se usa cuando el rol es assistant). También debe proporcionar el campo text.
textstring(Obligatorio)El contenido de texto. Cuando type es input_text, ingrese los resultados de reconocimiento de turnos anteriores de habla del usuario o una lista de palabras específica del dominio. Cuando type es text, ingrese las respuestas del modelo de lenguaje grande en turnos anteriores.
parametersobject(Obligatorio)Los parámetros de reconocimiento de voz.

Propiedades

formatstring(Obligatorio)El formato de audio.Valores válidos:
  • pcm
  • wav
  • mp3
  • opus
  • speex
  • aac
  • amr
opus/speex: Debe usar encapsulación Ogg.wav: Debe usar codificación PCM.amr: Solo se admite el tipo AMR-NB.
sample_rateinteger(Obligatorio)La frecuencia de muestreo, en Hz.Valores válidos: Los modelos de 8 kHz solo admiten 8000 Hz; otros modelos admiten cualquier frecuencia de muestreo.vocabulary_idstring(Opcional)El ID de una lista de palabras clave precompilada.Genere este ID con antelación llamando a la API de creación de lista de palabras clave. Pase el ID durante el reconocimiento para usar las palabras clave de la lista.Adecuado para escenarios donde el vocabulario es conocido y relativamente estable, y donde necesita reutilizar la misma lista de palabras en distintas solicitudes.Para obtener detalles sobre el uso, consulte Palabras clave precompiladas.language_hintsarray[string](Opcional)El idioma del audio a reconocer. No hay valor predeterminado; si no se establece, el modelo detecta el idioma automáticamente.Puede establecer 1 valor. Si establece más, solo el primer valor surte efecto.
  • fun-asr-realtime:
    • zh: Chino
    • en: Inglés
    • ja: Japonés
    • ko: Coreano
    • vi: Vietnamita
    • th: Tailandés
    • id: Indonesio
    • ms: Malayo
    • tl: Filipino
    • hi: Hindi
    • ar: Árabe
    • fr: Francés
    • de: Alemán
    • es: Español
    • pt: Portugués
    • ru: Ruso
    • it: Italiano
    • nl: Neerlandés
    • sv: Sueco
    • da: Danés
    • fi: Finés
    • no: Noruego
    • el: Griego
    • pl: Polaco
    • cs: Checo
    • hu: Húngaro
    • ro: Rumano
    • bg: Búlgaro
    • hr: Croata
    • sk: Eslovaco
  • fun-asr-realtime-2026-02-28:
    • zh: Chino
    • en: Inglés
    • ja: Japonés
  • fun-asr-flash-8k-realtime, fun-asr-flash-8k-realtime-2026-01-28:
    • zh: Chino
max_sentence_silenceinteger(Opcional)El umbral de silencio VAD para la segmentación, en ms. Cuando el silencio después de un segmento de habla supera este umbral, el sistema determina que la oración ha terminado.Valor predeterminado: 1300.Valores válidos: [200, 6000].multi_threshold_mode_enabledboolean(Opcional)Si se debe habilitar el modo de umbral múltiple. Cuando está habilitado, esto evita que los segmentos VAD sean demasiado largos.Valor predeterminado: false.heartbeatboolean(Opcional)Si se deben habilitar los paquetes de latido.Valor predeterminado: false.
  • true: Mantiene activa la conexión con el servidor incluso cuando se envía audio silencioso de forma continua.
  • false (predeterminado): Incluso cuando se envía audio silencioso de forma continua, la conexión expira y se cierra después de un período de tiempo.
El audio silencioso se refiere al contenido en un archivo de audio o flujo de datos que no contiene señal de sonido. Puede generar audio silencioso de varias maneras, como utilizando software de edición de audio como Audacity o Adobe Audition, o utilizando una herramienta de línea de comandos como FFmpeg.speech_noise_thresholdfloat(Opcional)El umbral para distinguir el habla del ruido, utilizado para ajustar la sensibilidad de la Detección de Actividad de Voz (VAD).Valores válidos: [-1.0, 1.0].Descripciones de valores:
  • Cuanto más cerca esté el valor de -1: El umbral de ruido disminuye, por lo que es más probable que el ruido se reconozca como habla, lo que puede causar que se transcriba más ruido.
  • Cuanto más cerca esté el valor de +1: El umbral de ruido aumenta, por lo que es más probable que el habla se juzgue erróneamente como ruido, lo que puede causar que se filtre parte del habla.
Este es un parámetro de configuración avanzada. Ajustarlo puede afectar significativamente los resultados del reconocimiento. Recomendaciones:
  • Pruebe y verifique exhaustivamente los resultados antes de ajustar.
  • Ajuste en incrementos pequeños según el entorno de audio real (se recomienda un paso de 0.1).
special_word_filter string(Opcional)Especifica las palabras sensibles a procesar durante el reconocimiento de voz y permite configurar diferentes métodos de procesamiento para distintas palabras sensibles. Para obtener más detalles, consulte Filtrado de palabras sensibles.
{
    "header": {
        "action": "run-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "task_group": "audio",
        "task": "asr",
        "function": "recognition",
        "model": "fun-asr-realtime",
        "parameters": {
            "format": "pcm",
            "sample_rate": 16000
        },
        "input": {}
    }
}

finish-task

Notifica al servidor que se ha enviado todo el audio y solicita finalizar la tarea. Cuándo enviar: Envíe después de que se hayan enviado todos los datos de audio. Evento de respuesta: El servidor devuelve el evento task-finished.
headerobject(Obligatorio)

Propiedades

actionstring(Obligatorio)El tipo de comando. Establézcalo en finish-task.task_idstring(Obligatorio)Un ID de tarea generado por el cliente (formato UUID) que debe coincidir con el task_id en el evento run-task.streamingstring(Obligatorio)Establecido en duplex.
payloadobject(Obligatorio)

Propiedades

inputobject(Obligatorio)Establecido en {}.
{
    "header": {
        "action": "finish-task",
        "task_id": "2bf83b9a-baeb-4fda-8d9a-xxxxxxxxxxxx",
        "streaming": "duplex"
    },
    "payload": {
        "input": {}
    }
}