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
Instructions
- Passez
speakersà la fonctionenumerate()pour itérer sur les différents locuteurs. - Appelez
record()surrecognizerpour convertir lesAudioFileenAudioData. - Utilisez
recognize_google()pour transcrire chacun des objetsspeaker_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"))