Rozdělení stereo audia na mono pomocí PyDub
Pokud chceš přepisovat telefonní hovory, je velká šance, že jsou nahrané ve stereo formátu – každý mluvčí na samostatném kanálu.
Jak už víš, přepis zvukového souboru s více mluvčími bývá problematický. Jedno z řešení je rozdělit takový soubor na samostatné soubory pro každého mluvčího zvlášť.
S tím ti pomůže funkce split_to_mono() z knihovny PyDub. Když ji zavoláš na stereo AudioSegment, vrátí seznam dvou samostatných AudioSegment v mono formátu – jeden pro každý kanál.
V tomto cvičení si to vyzkoušíš: rozdělíš nahrávku stereo telefonního hovoru (stereo_phone_call.wav) na kanál 1 a kanál 2. Tím od sebe oddělíš oba mluvčí a přepis bude mnohem snazší.
Toto cvičení je součástí kurzu
Zpracování mluveného jazyka v Pythonu
Pokyny k cvičení
- Importuj
AudioSegmentzpydub. - Vytvoř instanci
AudioSegments názvemstereo_phone_callze souborustereo_phone_call.wav. - Rozděl
stereo_phone_callnachannelspomocísplit_to_mono()a zkontroluj kanály výsledného výstupu. - Ulož každý kanál do nové proměnné:
phone_call_channel_1aphone_call_channel_2.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = ____