Dela upp stereoljud till mono med PyDub
Om du vill transkribera telefonsamtal finns det en risk att de spelats in i stereoformat, med en talare på varje kanal.
Som du sett är det svårt att transkribera en ljudfil med mer än en talare. En lösning är att dela upp ljudfilen med flera talare i separata filer – en per talare.
PyDubs funktion split_to_mono() kan hjälpa dig med detta. När den anropas på ett AudioSegment inspelat i stereo returnerar den en lista med två separata AudioSegment:s i monoformat, ett för varje kanal.
I den här övningen får du öva på detta genom att dela upp det här stereotelefonsamtalet (stereo_phone_call.wav) i kanal 1 och kanal 2. Det separerar de två talarna och gör transkriberingen enklare.
Den här övningen är en del av kursen
Taligenkänning i Python
Övningsinstruktioner
- Importera
AudioSegmentfrånpydub. - Skapa en
AudioSegment-instansstereo_phone_callmedstereo_phone_call.wav. - Dela upp
stereo_phone_callichannelsmed hjälp avsplit_to_mono()och kontrollera kanalerna i det resulterande utdatan. - Spara varje kanal i nya variabler:
phone_call_channel_1ochphone_call_channel_2.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 = ____