[파이썬] pydub 오디오의 트림 및 루프 설정

오디오 처리는 소리를 다루고 변형하는 프로세스입니다. pydub는 Python에서 간단하게 오디오 파일을 처리하기 위한 라이브러리입니다. pydub을 이용하면 오디오 파일을 자르거나 루프(loop)로 재생하는 등 다양한 작업을 할 수 있습니다.

1. pydub 설치

pydub를 사용하기 위해 먼저 설치해야 합니다. 다음 명령어를 사용하여 pydub을 설치합니다.

pip install pydub

2. 오디오 파일 불러오기

우선, 트림(trim)하고자 하는 오디오 파일을 불러와야 합니다. pydub은 다양한 오디오 파일 형식을 지원하며 AudioSegment 객체로 오디오를 표현합니다. 다음은 WAV 파일을 불러오는 예시입니다.

from pydub import AudioSegment

audio = AudioSegment.from_wav('audio.wav')

3. 오디오 트림

오디오 파일에서 원하는 부분만을 추출하려면 트림 기능을 사용합니다. AudioSegment 객체의 slice() 메소드를 이용하여 트림할 수 있습니다.

trimmed_audio = audio[:10000]  # 오디오 파일의 첫 10초 부분을 추출

여기서 10000은 밀리초 단위이므로 10초를 의미합니다. 만약 10초부터 20초까지를 추출하고 싶다면 다음과 같이 할 수 있습니다.

trimmed_audio = audio[10000:20000]  

4. 오디오 루프 설정

오디오 파일을 반복해서 재생하기 위해 루프(loop) 설정을 사용할 수 있습니다. 이를 위해 AudioSegment 객체의 loop() 메소드를 사용합니다.

looped_audio = audio.loop(count=5)  # 오디오 파일을 5번 반복하여 재생

위 예시에서 count=5는 오디오 파일을 5번 반복한다는 의미입니다. 만약 무한 반복을 원한다면 count=-1로 설정할 수 있습니다.

5. 트림과 루프의 조합적 사용

트림과 루프 설정은 조합적으로 사용할 수도 있습니다. 즉, 특정 구간을 반복해서 재생할 수도 있습니다.

trimmed_loop = audio[5000:10000].loop(count=3)  # 오디오 파일의 5초부터 10초까지를 3번 반복하여 재생

위 예시는 오디오 파일의 5초부터 10초까지를 잘라내고, 해당 구간을 3번 반복해서 재생하는 것을 나타냅니다.

이처럼 pydub을 사용하면 오디오의 트림 및 루프 설정을 간편하게 수행할 수 있습니다. pydub에는 다양한 오디오 처리 기능이 포함되어 있으므로 필요에 맞게 활용해보세요!