Varios interlocutores 2
Distinguir entre varios interlocutores en un único archivo de audio se llama diarización de hablantes. Sin embargo, como has visto, la función gratuita que hemos estado usando, recognize_google(), no permite transcribir a diferentes interlocutores.
Una forma de evitar esto, sin usar uno de los servicios de pago de conversión de voz a texto, es asegurarte de que tus archivos de audio tengan un único interlocutor.
Esto significa que, si trabajas con datos de llamadas telefónicas, te asegurarías de grabar por separado a quien llama y a quien recibe la llamada. Luego podrías transcribir cada archivo de forma individual.
En este ejercicio, transcribiremos por separado a cada uno de los interlocutores de nuestro archivo de audio con varios interlocutores.
Este ejercicio forma parte del curso
Procesamiento del lenguaje hablado en Python
Instrucciones del ejercicio
- Pasa
speakersa la funciónenumerate()para iterar por los distintos interlocutores. - Llama a
record()enrecognizerpara convertir losAudioFileenAudioData. - Usa
recognize_google()para transcribir cada objetospeaker_audio.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
recognizer = sr.Recognizer()
# Multiple speakers on different files
speakers = [sr.AudioFile("speaker_0.wav"),
sr.AudioFile("speaker_1.wav"),
sr.AudioFile("speaker_2.wav")]
# Transcribe each speaker individually
for i, speaker in enumerate(____):
with speaker as source:
speaker_audio = recognizer.____(source)
print(f"Text from speaker {i}:")
print(recognizer.____(____,
language="en-US"))