En esta página, se describe cómo transmitir la entrada de audio a una solicitud de intent de detección con la API. Dialogflow procesa el audio y lo convierte en texto antes de intentar una coincidencia de intent. Este proceso se denomina entrada de audio, reconocimiento de voz, voz a texto o STT.
Antes de comenzar
Esta función solo es aplicable cuando se usa la API para las interacciones del usuario final. Si usas una integración, puedes omitir esta guía.
Completa las siguientes tareas antes de leer esta guía:
- Lee los conceptos básicos de Dialogflow.
- Realiza los pasos de configuración.
Crea un agente
- Ve a la consola de Dialogflow ES.
- Accede a la consola si se te solicita. Para obtener más información, consulta la descripción general de la consola de Dialogflow.
- En el menú de la barra lateral, expande Cargando agentes.
- Haz clic en Create new agent.
- Ingresa el nombre del agente, el idioma predeterminado y la zona horaria predeterminada.
- Ingresa un proyecto existente. Para permitir que la consola de Dialogflow cree un proyecto, selecciona Crear un proyecto de Google nuevo.
- Haz clic en Crear.
Conceptos básicos de transmisión
El método streamingDetectIntent del tipo Session
devuelve un objeto de transmisión de gRPC bidireccional.
Los métodos disponibles para este objeto varían según el lenguaje, por lo que debes consultar la documentación de referencia de tu biblioteca cliente para obtener más detalles.
El objeto de transmisión se usa para enviar y recibir datos de forma simultánea. Con este
objeto, tu cliente transmite contenido de audio a Dialogflow y, al mismo tiempo,
escucha un StreamingDetectIntentResponse.
El método streamingDetectIntent tiene un
parámetro query_input.audio_config.single_utterance que afecta el reconocimiento
de voz:
- Si es
false(predeterminado), el reconocimiento de voz no se detiene hasta que el cliente cierra la transmisión. - Si es
true, Dialogflow detectará una sola expresión hablada en el audio de entrada. Cuando Dialogflow detecta que la voz del audio se detuvo o pausó, detiene el reconocimiento de voz y envía unStreamingDetectIntentResponsecon un resultado de reconocimiento deEND_OF_SINGLE_UTTERANCEa tu cliente. Dialogflow ignora cualquier audio que se le envíe en la transmisión después de recibirEND_OF_SINGLE_UTTERANCE.
En la transmisión bidireccional, un cliente puede cerrar parcialmente el objeto de transmisión para
indicarle al servidor que no enviará más datos. Por ejemplo, en Java y Go,
este método se llama closeSend.
Es importante cerrar parcialmente (pero no anular) las transmisiones en las siguientes situaciones:
- Tu cliente ya terminó de enviar datos.
- Tu cliente está configurado con
single_utteranceestablecido entruey recibe unStreamingDetectIntentResponsecon un resultado de reconocimiento deEND_OF_SINGLE_UTTERANCE.
Después de cerrar una transmisión, tu cliente debe iniciar una nueva solicitud con una transmisión nueva, según sea necesario.
Transmite intents de detección
En las siguientes muestras, se usa el método streamingDetectIntent del tipo Session para transmitir audio.
Go
Para autenticarte en Dialogflow CX, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para autenticarte en Dialogflow CX, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para autenticarte en Dialogflow CX, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para autenticarte en Dialogflow CX, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Idiomas adicionales
C#: Sigue las instrucciones de configuración de C# en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Dialogflow CX para .NET.
PHP: Sigue las instrucciones de configuración de PHP en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Dialogflow CX para PHP.
Ruby: Sigue las instrucciones de configuración de Ruby en la página de bibliotecas cliente y, luego, visita la documentación de referencia de Dialogflow CX para Ruby.
Muestras
Para obtener más información sobre las prácticas recomendadas para transmitir desde el micrófono de un navegador a Dialogflow, consulta la página de muestras.