Diviser un audio stéréo en mono avec PyDub
Si vous tentez de transcrire des appels téléphoniques, il est possible qu'ils aient été enregistrés en format stéréo, avec une personne par canal.
Comme vous l'avez vu, il est difficile de transcrire un fichier audio comportant plus d'un interlocuteur. Une solution consiste à diviser l'audio multivoix en fichiers séparés, chacun contenant un seul interlocuteur.
La fonction split_to_mono() de PyDub peut vous aider. Lorsqu'elle est appelée sur un AudioSegment enregistré en stéréo, elle renvoie une liste de deux AudioSegment distincts en mono, un pour chaque canal.
Dans cet exercice, vous mettrez cela en pratique en scindant cet enregistrement d'appel stéréo (stereo_phone_call.wav) en canal 1 et canal 2. Cela sépare les deux interlocuteurs et facilite la transcription.
Cette activité fait partie du cours
Traitement de la langue parlée en Python
Instructions de l’exercice
- Importez
AudioSegmentà partir depydub. - Créez une instance
AudioSegmentstereo_phone_callavecstereo_phone_call.wav. - Scindez
stereo_phone_callenchannelsà l'aide desplit_to_mono()et vérifiez les canaux de la sortie obtenue. - Enregistrez chaque canal dans de nouvelles variables,
phone_call_channel_1etphone_call_channel_2.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import AudioSegment
from ____ import ____
# Import stereo audio file and check channels
stereo_phone_call = AudioSegment.from_file(____)
print(f"Stereo number channels: {stereo_phone_call.channels}")
# Split stereo phone call and check channels
channels = stereo_phone_call.____
print(f"Split number channels: {channels[0].____}, {channels[1].____}")
# Save new channels separately
phone_call_channel_1 = channels[0]
phone_call_channel_2 = ____