En esta página se describe cómo obtener etiquetas para diferentes interlocutores en datos de audio transcritos por Speech-to-Text.
En ocasiones, los datos de audio contienen muestras de más de una persona hablando. Por ejemplo, el audio de una llamada telefónica suele incluir voces de dos o más personas. Lo ideal es que la transcripción de la llamada incluya quién habla en cada momento.
Diarización de interlocutores
Speech-to-Text puede reconocer a varios interlocutores en el mismo clip de audio. Cuando envías una solicitud de transcripción de audio a Speech-to-Text, puedes incluir un parámetro que le indique a Speech-to-Text que identifique a los diferentes interlocutores de la muestra de audio. Esta función, llamada diarización de interlocutor, detecta cuándo cambia el interlocutor y etiqueta con un número las voces individuales detectadas en el audio.
Cuando habilitas la diarización de interlocutores en tu solicitud de transcripción, Speech-to-Text intenta distinguir las diferentes voces incluidas en la muestra de audio. Las etiquetas de los resultados de la transcripción asignan un número a cada palabra según el hablante. Las palabras pronunciadas por el mismo interlocutor tienen el mismo número. Una transcripción puede incluir números de hasta tantos interlocutores como Speech-to-Text pueda identificar de forma única en la muestra de audio.
Cuando usas la diarización de hablantes, Speech-to-Text genera un agregado continuo de todos los resultados proporcionados en la transcripción. Cada resultado incluye las palabras del resultado anterior. Por lo tanto, la matriz words
del resultado final proporciona los resultados completos y diarizados
de la transcripción.
Consulta la página de idiomas disponibles para ver si esta función está disponible en tu idioma.
Habilitar la diarización del interlocutor en una solicitud
Para habilitar la diarización de participantes, debes asignar el valor true
al campo enableSpeakerDiarization
en los parámetros SpeakerDiarizationConfig
de la solicitud. Para mejorar los resultados de la transcripción, también debe especificar el número de participantes que hablan en el clip de audio. Para ello, defina el campo diarizationSpeakerCount
en los parámetros SpeakerDiarizationConfig
. Speech-to-Text usa un valor predeterminado si no proporcionas un valor para diarizationSpeakerCount
.
Speech-to-Text admite la diarización de hablantes en todos los métodos de reconocimiento de voz: speech:recognize
, speech:longrunningrecognize
y Streaming.
Usar un archivo local
En el siguiente fragmento de código se muestra cómo habilitar la diarización de hablantes en una solicitud de transcripción a Speech-to-Text mediante un archivo local.
Protocolo
Consulta todos los detalles en el endpoint de la API speech:recognize
.
Para realizar el reconocimiento de voz síncrono, haz una solicitud POST
y proporciona el cuerpo de la solicitud adecuado. A continuación, se muestra un ejemplo de una solicitud POST
que utiliza curl
. En el ejemplo se usa Google Cloud CLI para generar un token de acceso. Para obtener instrucciones sobre cómo instalar gcloud CLI, consulta la guía de inicio rápido.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v1p1beta1/speech:recognize \ --data '{ "config": { "encoding": "LINEAR16", "languageCode": "en-US", "diarizationConfig": { "enableSpeakerDiarization": true, "minSpeakerCount": 2, "maxSpeakerCount": 2 }, "model": "phone_call", }, "audio": { "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" } }' > speaker-diarization.txt
Si la solicitud se realiza de forma correcta, el servidor devuelve un código de estado HTTP 200 OK
y la respuesta en formato JSON, que se guarda en un archivo llamado speaker-diarization.txt
.
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startTime": "0s", "endTime": "1.100s", "word": "hi", "speakerTag": 2 }, { "startTime": "1.100s", "endTime": "2s", "word": "I'd", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2s", "word": "like", "speakerTag": 2 }, { "startTime": "2s", "endTime": "2.100s", "word": "to", "speakerTag": 2 }, ... { "startTime": "6.500s", "endTime": "6.900s", "word": "certainly", "speakerTag": 1 }, { "startTime": "6.900s", "endTime": "7.300s", "word": "which", "speakerTag": 1 }, { "startTime": "7.300s", "endTime": "7.500s", "word": "color", "speakerTag": 1 }, ... ] } ], "languageCode": "en-us" } ] }
Go
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Go Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Java Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Node.js Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Python Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Usar un segmento de Cloud Storage
En el siguiente fragmento de código se muestra cómo habilitar la diarización de hablantes en una solicitud de transcripción a Speech-to-Text mediante un archivo de Google Cloud Storage.
Go
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Go Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Java Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Node.js Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Speech-to-Text, consulta el artículo Bibliotecas de cliente de Speech-to-Text. Para obtener más información, consulta la documentación de referencia de la API Python Speech-to-Text.
Para autenticarte en Speech-to-Text, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.