Aan de slagGa gratis aan de slag

Stereo-audio naar mono splitsen met PyDub

Als je telefoongesprekken wilt transcriberen, is de kans groot dat ze in stereo zijn opgenomen, met één spreker per kanaal.

Zoals je hebt gezien, is het lastig om een audiobestand met meer dan één spreker te transcriberen. Een oplossing is om het audiobestand met meerdere sprekers op te splitsen in afzonderlijke bestanden met één spreker per bestand.

De functie split_to_mono() van PyDub kan hierbij helpen. Als je deze aanroept op een in stereo opgenomen AudioSegment, krijg je een lijst met twee aparte AudioSegmenten in monoformaat terug, één voor elk kanaal.

In deze oefening ga je dit oefenen door deze opname van een stereo-telefoongesprek (stereo_phone_call.wav) op te splitsen in kanaal 1 en kanaal 2. Zo scheid je de twee sprekers, wat het transcriberen makkelijker maakt.

Deze oefening maakt deel uit van de cursus

Spoken Language Processing in Python

Cursus bekijken

Oefeninstructies

  • Importeer AudioSegment uit pydub.
  • Maak een AudioSegment-instantie stereo_phone_call met stereo_phone_call.wav.
  • Splits stereo_phone_call in channels met split_to_mono() en controleer de kanalen van de resulterende output.
  • Sla elk kanaal op in nieuwe variabelen: phone_call_channel_1 en phone_call_channel_2.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 = ____
Code bewerken en uitvoeren