1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Xử lý Ngôn ngữ Nói bằng Python

Connected

Bài tập

Tách âm thanh stereo thành mono với PyDub

Nếu bạn đang cố gắng chuyển lời thoại của các cuộc gọi điện thoại, rất có thể chúng được ghi ở định dạng stereo, với mỗi kênh là một người nói.

Như bạn đã thấy, việc chuyển lời một tệp âm thanh có nhiều hơn một người nói là khá khó. Một cách giải quyết là tách tệp âm thanh có nhiều người nói thành các tệp đơn, mỗi tệp chỉ có một người.

Hàm split_to_mono() của PyDub có thể giúp việc này. Khi gọi trên một AudioSegment được ghi ở stereo, hàm sẽ trả về một danh sách gồm hai AudioSegment riêng biệt ở định dạng mono, tương ứng với mỗi kênh.

Trong bài tập này, bạn sẽ thực hành bằng cách tách bản ghi cuộc gọi stereo (stereo_phone_call.wav) thành kênh 1 và kênh 2. Việc này sẽ tách hai người nói, giúp quá trình chuyển lời dễ dàng hơn.

Hướng dẫn

100 XP
  • Import AudioSegment từ pydub.
  • Tạo một đối tượng AudioSegment tên stereo_phone_call với stereo_phone_call.wav.
  • Tách stereo_phone_call thành channels bằng split_to_mono() và kiểm tra các kênh trong kết quả đầu ra.
  • Lưu mỗi kênh vào biến mới, phone_call_channel_1 và phone_call_channel_2.