CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez AudioSegment à partir de pydub.
  • Créez une instance AudioSegment stereo_phone_call avec stereo_phone_call.wav.
  • Scindez stereo_phone_call en channels à l'aide de split_to_mono() et vérifiez les canaux de la sortie obtenue.
  • Enregistrez chaque canal dans de nouvelles variables, phone_call_channel_1 et phone_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 = ____
Modifier et exécuter le code