Diviser un audio stéréo en mono avec PyDub
Si vous cherchez à transcrire des appels téléphoniques, il est possible qu’ils aient été enregistrés en stéréo, avec un interlocuteur par canal.
Comme vous l’avez vu, il est difficile de transcrire un fichier audio comportant plusieurs interlocuteurs. Une solution consiste à scinder le fichier contenant plusieurs voix en fichiers séparés, chacun avec 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 par canal.
Dans cet exercice, vous allez vous entraîner à le faire en séparant cet enregistrement d’appel téléphonique stéréo (stereo_phone_call.wav) en canal 1 et canal 2. Cela sépare les deux interlocuteurs et facilite la transcription.
Cet exercice fait partie du cours
Traitement du langage parlé en Python
Instructions
- Importez
AudioSegmentdepuispydub. - Créez une instance
AudioSegmentstereo_phone_callavecstereo_phone_call.wav. - Scindez
stereo_phone_callenchannelsavecsplit_to_mono()et vérifiez les canaux du résultat obtenu. - Enregistrez chaque canal dans de nouvelles variables,
phone_call_channel_1etphone_call_channel_2.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 = ____