PyDub으로 스테레오 오디오를 모노로 분리하기
전화 통화를 필사하려고 할 때, 발화자가 각 채널에 나뉘어 담긴 스테레오 형식으로 녹음된 경우가 많아요.
보셨듯이, 여러 명의 화자가 들어 있는 오디오는 필사하기가 어렵습니다. 한 가지 해결책은 여러 화자가 담긴 오디오 파일을 화자별 단일 파일로 분리하는 거예요.
PyDub의 split_to_mono() 함수가 이를 도와줍니다. 스테레오로 녹음된 AudioSegment에 호출하면, 각 채널에 해당하는 두 개의 모노 AudioSegment로 이루어진 리스트를 반환해요.
이번 연습에서는 이 스테레오 전화 통화(stereo_phone_call.wav) 녹음을 채널 1과 채널 2로 분리해 보겠습니다. 이렇게 두 화자를 분리하면 필사가 훨씬 쉬워집니다.
이 연습은 강의의 일부입니다
Python으로 배우는 음성 언어 처리
연습 안내
pydub에서AudioSegment를 임포트하세요.stereo_phone_call.wav로AudioSegment인스턴스stereo_phone_call을 생성하세요.split_to_mono()를 사용해stereo_phone_call을channels로 분리하고, 결과의 채널을 확인하세요.- 각 채널을
phone_call_channel_1과phone_call_channel_2라는 새 변수에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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 = ____