Memisahkan audio stereo menjadi mono dengan PyDub
Jika Anda mencoba mentranskripsikan panggilan telepon, ada kemungkinan rekamannya dalam format stereo, dengan satu penutur pada setiap kanal.
Seperti yang telah Anda lihat, sulit untuk mentranskripsikan berkas audio dengan lebih dari satu penutur. Salah satu solusinya adalah memisahkan berkas audio dengan banyak penutur menjadi berkas-berkas tunggal yang masing-masing berisi satu penutur.
Fungsi split_to_mono() dari PyDub dapat membantu. Ketika dipanggil pada sebuah AudioSegment yang direkam dalam stereo, fungsi ini mengembalikan daftar berisi dua AudioSegment terpisah dalam format mono, masing-masing untuk setiap kanal.
Dalam latihan ini, Anda akan mempraktikkannya dengan membagi rekaman panggilan telepon stereo (stereo_phone_call.wav) menjadi kanal 1 dan kanal 2. Ini memisahkan kedua penutur, sehingga memudahkan proses transkripsi.
Latihan ini adalah bagian dari kursus
Pemrosesan Bahasa Lisan dengan Python
Petunjuk latihan
- Impor
AudioSegmentdaripydub. - Buat instance
AudioSegmentbernamastereo_phone_calldenganstereo_phone_call.wav. - Pisahkan
stereo_phone_callmenjadichannelsmenggunakansplit_to_mono()dan periksa kanal dari keluaran yang dihasilkan. - Simpan setiap kanal ke variabel baru,
phone_call_channel_1danphone_call_channel_2.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 = ____