CommencezCommencez gratuitement

Plusieurs interlocuteurs 2

La distinction entre plusieurs interlocuteurs dans un seul fichier audio s'appelle la diarisation des locuteurs. Or, vous avez vu que la fonction gratuite que nous utilisons, recognize_google(), ne peut pas transcrire des interlocuteurs différents.

Une façon de contourner cela, sans recourir à un service de reconnaissance vocale payant, est de s'assurer que vos fichiers audio ne comportent qu'un seul interlocuteur.

Ainsi, si vous travaillez avec des données d'appels téléphoniques, vous veillerez à enregistrer séparément l'appelant et le répondant. Vous pourrez ensuite transcrire chaque fichier individuellement.

Dans cet exercice, nous allons transcrire séparément chacun des interlocuteurs de notre fichier audio avec plusieurs interlocuteurs.

Cette activité fait partie du cours

Traitement de la langue parlée en Python

Voir le cours

Instructions de l’exercice

  • Passez speakers à la fonction enumerate() pour parcourir les différents interlocuteurs.
  • Appelez record() sur recognizer pour convertir les AudioFile en AudioData.
  • Utilisez recognize_google() pour transcrire chacun des objets speaker_audio.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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"))
Modifier et exécuter le code