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

오디오 편집은 음악 제작, 음성 처리 및 다양한 프로젝트에서 중요한 요소입니다. 최근에는 Python을 사용하여 오디오 편집에 대한 다양한 도구와 라이브러리들이 개발되고 있습니다. 그 중에 Pydub은 파이썬으로 오디오 파일을 처리하는 데 유용한 도구입니다. 이번 블로그에서는 Pydub을 사용하여 오디오의 피치를 조절하는 방법에 대해 알아보겠습니다.

Pydub이란?

Pydub은 파이썬에서 오디오 파일을 다루기 위한 간단한 API 패키지입니다. 여러 가지 오디오 편집 작업을 수행할 수 있으며, 오디오 파일을 로드하고 저장할 수 있습니다. Pydub은 FFmpeg 또는 avconv와 같은 외부 응용 프로그램을 사용하여 오디오 파일을 처리합니다.

Pydub 설치하기

먼저 Pydub을 설치해야 합니다. 다음 명령을 사용하여 Pydub을 설치할 수 있습니다:

pip install pydub

Pydub을 설치한 후, FFmpeg 또는 avconv를 설치해야 할 수도 있습니다. 이러한 프로그램은 오디오 파일 형식의 변환과 같은 작업을 수행하는 데 필요합니다.

오디오 파일의 피치 조절하기

이제 오디오 파일의 피치를 조절해 보겠습니다. 다음은 Pydub을 사용하여 오디오 파일의 피치를 조절하는 예제 코드입니다:

from pydub import AudioSegment
from pydub.playback import play

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

# 피치 조절
new_pitch = 0.5  # 조절할 피치 비율 (0.5는 반음 내리기, 2는 반음 올리기)
pitch_adjusted = audio._spawn(audio.raw_data, overrides={
    "frame_rate": int(audio.frame_rate * new_pitch)
})

# 피치 조절된 오디오 재생
play(pitch_adjusted)

위의 코드에서는 AudioSegment.from_file() 함수를 사용하여 오디오 파일을 로드합니다. new_pitch 변수를 사용하여 피치를 조절할 비율을 설정하고, audio._spawn() 함수를 사용하여 피치를 조절합니다. 마지막으로 play() 함수를 사용하여 피치 조절된 오디오를 재생합니다.

이 코드를 실행하면 피치가 조절된 오디오가 재생됩니다.

결론

이번에는 Pydub을 사용하여 오디오의 피치를 조절하는 방법에 대해 알아보았습니다. Pydub은 파이썬에서 오디오 편집 작업을 수행하기 위한 편리한 도구입니다. 이 외에도 Pydub은 오디오 파일의 자르기, 이어 붙이기, 변환 등 다양한 작업을 수행할 수 있습니다. 따라서 Pydub을 사용하여 오디오 편집을 자유롭게 할 수 있습니다.

더 많은 정보를 원하신다면 Pydub의 공식 문서를 확인해 보시기 바랍니다.

참고 문서: Pydub Documentation