ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Pasa speakers a la función enumerate() para iterar por los distintos interlocutores.
  • Llama a record() en recognizer para convertir los AudioFile en AudioData.
  • Usa recognize_google() para transcribir cada objeto speaker_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"))
Editar y ejecutar código