Розділення стереоаудіо на моно за допомогою PyDub
Якщо ви намагаєтеся транскрибувати телефонні дзвінки, існує ймовірність, що їх записано у стереоформаті, з одним співрозмовником на кожному каналі.
Як ви вже бачили, складно транскрибувати аудіофайл із більш ніж одним мовцем. Один із варіантів — розділити аудіофайл з кількома мовцями на окремі файли з індивідуальними мовцями.
Функція split_to_mono() з PyDub може в цьому допомогти. Якщо викликати її для AudioSegment, записаного в стерео, вона повертає список із двох окремих AudioSegment у моноформаті — по одному для кожного каналу.
У цій вправі ви потренуєтеся, розділивши запис цього стереодзвінка (stereo_phone_call.wav) на канал 1 і канал 2. Це відокремлює двох співрозмовників і спрощує подальшу транскрипцію.
Ця вправа є частиною курсу
Обробка усного мовлення в Python
Інструкції до вправи
- Імпортуйте
AudioSegmentзpydub. - Створіть екземпляр
AudioSegment—stereo_phone_call— зstereo_phone_call.wav. - Розділіть
stereo_phone_callнаchannelsза допомогоюsplit_to_mono()і перевірте канали отриманого результату. - Збережіть кожен канал у нові змінні:
phone_call_channel_1іphone_call_channel_2.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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 = ____