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
Oefeninstructies
- Importeer
AudioSegmentuitpydub. - Maak een
AudioSegment-instantiestereo_phone_callmetstereo_phone_call.wav. - Splits
stereo_phone_callinchannelsmetsplit_to_mono()en controleer de kanalen van de resulterende output. - Sla elk kanaal op in nieuwe variabelen:
phone_call_channel_1enphone_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 = ____