Разделение стереозвука на моно с помощью 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на каналы с помощью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 = ____