ComenzarEmpieza gratis

Dividir audio estéreo a mono con PyDub

Si intentas transcribir llamadas telefónicas, es posible que se hayan grabado en formato estéreo, con una persona hablante en cada canal.

Como has visto, es difícil transcribir un archivo de audio con más de una persona. Una solución es dividir el archivo con varios interlocutores en archivos individuales con una sola voz.

La función split_to_mono() de PyDub puede ayudarte. Cuando se llama sobre un AudioSegment grabado en estéreo, devuelve una lista de dos AudioSegment independientes en formato mono, uno por cada canal.

En este ejercicio, practicarás esto dividiendo esta llamada estéreo (stereo_phone_call.wav) en canal 1 y canal 2. Esto separa a las dos personas hablantes, lo que facilita la transcripción.

Este ejercicio forma parte del curso

Procesamiento del lenguaje hablado en Python

Ver curso

Instrucciones del ejercicio

  • Importa AudioSegment de pydub.
  • Crea una instancia de AudioSegment stereo_phone_call con stereo_phone_call.wav.
  • Divide stereo_phone_call en channels usando split_to_mono() y comprueba los canales del resultado.
  • Guarda cada canal en nuevas variables, phone_call_channel_1 y phone_call_channel_2.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 = ____
Editar y ejecutar código