MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Impor AudioSegment dari pydub.
  • Buat instance AudioSegment bernama stereo_phone_call dengan stereo_phone_call.wav.
  • Pisahkan stereo_phone_call menjadi channels menggunakan split_to_mono() dan periksa kanal dari keluaran yang dihasilkan.
  • Simpan setiap kanal ke variabel baru, phone_call_channel_1 dan phone_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 = ____
Edit dan Jalankan Kode