Zacznij terazZacznij za darmo

Podział audio stereo na mono za pomocą PyDub

Jeśli chcesz transkrybować rozmowy telefoniczne, istnieje spora szansa, że zostały nagrane w formacie stereo – z jednym mówcą na każdym kanale.

Jak już wiesz, transkrypcja pliku audio z więcej niż jednym mówcą jest trudna. Jednym z rozwiązań jest podzielenie takiego pliku na osobne pliki – po jednym dla każdego mówcy.

Funkcja split_to_mono() z biblioteki PyDub świetnie się do tego nadaje. Wywołana na AudioSegment nagranym w stereo, zwraca listę dwóch oddzielnych AudioSegment'ów w formacie mono – po jednym na każdy kanał.

W tym ćwiczeniu przećwiczysz to, dzieląc to nagranie stereofonicznej rozmowy telefonicznej (stereo_phone_call.wav) na kanał 1 i kanał 2. Dzięki temu rozdzielisz obu rozmówców, co znacznie ułatwi transkrypcję.

To ćwiczenie jest częścią kursu

Przetwarzanie mowy w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj AudioSegment z pydub.
  • Utwórz instancję AudioSegment o nazwie stereo_phone_call na podstawie pliku stereo_phone_call.wav.
  • Podziel stereo_phone_call na kanały (channels), używając split_to_mono(), i sprawdź kanały zwróconego wyniku.
  • Zapisz każdy kanał do nowych zmiennych: phone_call_channel_1 i phone_call_channel_2.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 = ____
Edytuj i uruchom kod