[파이썬] pydub 오디오의 피치 및 템포 조절

오디오 처리는 음악, 사운드 이펙트, 음성 변조 등 다양한 애플리케이션에서 중요한 역할을 합니다. Pydub는 파이썬을 사용하여 오디오 파일을 처리하는 데 도움이 되는 간단하고 강력한 라이브러리입니다. 오늘은 Pydub를 사용하여 오디오의 피치 및 템포를 조절하는 방법에 대해 알아보겠습니다.

Pydub 설치하기

먼저 Pydub를 설치하기 위해 아래의 명령을 실행합니다:

pip install pydub

피치 조절하기

Pydub를 사용하여 오디오의 피치를 조절하는 것은 매우 간단합니다. 아래의 코드 예제를 참고하세요:

from pydub import AudioSegment

# 오디오 파일 로드
audio = AudioSegment.from_file("input.wav")

# 피치 조절
new_pitch = audio._spawn(audio.raw_data, overrides={
    "frame_rate": int(audio.frame_rate * 1.2)
})
new_pitch.export("output_pitch.wav", format="wav")

위의 예제에서는 input.wav 파일을 로드하고, frame_rate 값을 1.2배 증가시켜 피치를 조절한 후 output_pitch.wav로 내보냅니다. frame_rate를 증가시키면 피치가 증가하고, 감소시키면 피치가 감소합니다.

템포 조절하기

템포 조절 역시 Pydub를 사용하여 간단하게 수행할 수 있습니다. 아래의 코드 예제를 참고하세요:

from pydub import AudioSegment

# 오디오 파일 로드
audio = AudioSegment.from_file("input.wav")

# 템포 조절
new_tempo = audio.speedup(playback_speed=1.2)
new_tempo.export("output_tempo.wav", format="wav")

위의 예제에서는 input.wav 파일을 로드하고, speedup() 메소드를 사용하여 템포를 1.2배 증가시킨 후 output_tempo.wav로 내보냅니다. playback_speed 값을 증가시키면 템포가 빨라지고, 감소시키면 템포가 느려집니다.

결론

이렇게 Pydub를 사용하여 오디오의 피치 및 템포를 조절할 수 있습니다. Pydub는 강력한 오디오 처리 기능을 제공하므로, 오디오 애플리케이션 개발자에게 매우 유용한 도구입니다. 자세한 내용은 Pydub 문서를 참조하세요.