CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Importez AudioSegment depuis pydub.
  • Créez une instance AudioSegment stereo_phone_call avec stereo_phone_call.wav.
  • Scindez stereo_phone_call en channels avec split_to_mono() et vérifiez les canaux du résultat obtenu.
  • 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 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 = ____
Modifier et exécuter le code