PyDub ile stereo sesi mono kanallara ayırma
Telefon görüşmelerini yazıya dökmeye çalışıyorsan, kayıtların her kanalda bir konuşmacı olacak şekilde stereo formatta yapılmış olma ihtimali var.
Gördüğün gibi, birden fazla konuşmacının olduğu bir ses dosyasını yazıya dökmek zordur. Çözümlerden biri, birden çok konuşmacı içeren ses dosyasını, her biri tek bir konuşmacı içeren ayrı dosyalara ayırmaktır.
PyDub'un split_to_mono() işlevi bu konuda yardımcı olabilir. Stereo olarak kaydedilmiş bir AudioSegment üzerinde çağrıldığında, her kanal için bir tane olmak üzere, mono formatta iki ayrı AudioSegment'ten oluşan bir liste döndürür.
Bu egzersizde, bu stereo telefon görüşmesi (stereo_phone_call.wav) kaydını kanal 1 ve kanal 2 olarak ayırarak bunu uygulayacaksın. Bu sayede iki konuşmacı birbirinden ayrılır ve yazıya dökme işlemi kolaylaşır.
Bu egzersiz
Python ile Konuşma Dili İşleme
kursunun bir parçasıdırEgzersiz talimatları
pydubiçindenAudioSegment'i içe aktar.stereo_phone_call.wavilestereo_phone_calladlı birAudioSegmentörneği oluştur.stereo_phone_call'ısplit_to_mono()kullanarakchannelsdeğişkenine ayır ve ortaya çıkan kanalları kontrol et.- Her kanalı yeni değişkenlere kaydet:
phone_call_channel_1vephone_call_channel_2.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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 = ____