CommencerCommencer gratuitement

Plusieurs interlocuteurs 2

Distinguer plusieurs interlocuteurs dans un même fichier audio s’appelle la diarisation des locuteurs. Cependant, comme vous l’avez constaté, la fonction gratuite que nous utilisons, recognize_google(), ne sait pas transcrire différents locuteurs.

Une solution, sans recourir à un service payant de reconnaissance vocale, consiste à s’assurer que vos fichiers audio ne contiennent qu’un seul locuteur.

Cela signifie que, si vous travaillez sur des données d’appels téléphoniques, vous veillerez à enregistrer séparément l’appelant et le destinataire. Vous pourrez ensuite transcrire chaque fichier individuellement.

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

Cet exercice fait partie du cours

Traitement du langage parlé en Python

Afficher le cours

Instructions

  • Passez speakers à la fonction enumerate() pour itérer sur les différents locuteurs.
  • 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 cet exemple de code.

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