[python] 파이썬으로 오디오 파일의 이퀄라이저를 적용하는 방법

오디오 파일에 이퀄라이저를 적용하는 것은 음악이나 오디오 신호를 조절해서 원하는 사운드를 얻기 위한 방법 중 하나입니다. 이퀄라이저는 주파수 범위마다 음량을 조절하여 원하는 음향 효과를 만들어 줄 수 있습니다. 이번 글에서는 파이썬을 사용하여 오디오 파일에 이퀄라이저를 적용하는 방법에 대해 알아보겠습니다.

필요한 라이브러리 설치

이 예제에서는 pydubnumpy 라이브러리를 사용합니다. 아래의 명령어를 사용하여 라이브러리를 설치하세요.

pip install pydub numpy

코드 예제

from pydub import AudioSegment
import numpy as np

# 오디오 파일 불러오기
audio = AudioSegment.from_file("input.wav")

# 이퀄라이저 설정하기
equalizer = np.array([1, 0.8, 1.2, 0.9, 1.1])  # 이퀄라이저 각 주파수 대역별 음향 조절 비율

# 이퀄라이저 적용하기
for i in range(len(equalizer)):
    audio = audio.apply_gain_stereo(equalizer[i])

# 결과 오디오 파일 저장하기
audio.export("output.wav", format="wav")

위의 코드는 pydub 라이브러리를 사용하여 오디오 파일을 불러오고, 주파수 대역별로 음향을 조절하는 이퀄라이저를 적용한 뒤 결과 오디오 파일을 저장하는 예제입니다.

코드 설명

  1. pydub 라이브러리를 AudioSegment 클래스로부터 audio 객체를 생성합니다.
  2. 이퀄라이저를 설정합니다. equalizer 배열은 주파수 대역별 음향 조절 비율을 나타냅니다.
  3. 주파수 대역별로 이퀄라이저를 적용합니다. apply_gain_stereo 함수를 사용하여 주파수 대역마다 음향 조절을 수행합니다.
  4. 결과 오디오 파일을 export 함수를 사용하여 저장합니다.

실행 예제

위의 코드를 실행하면 input.wav 파일을 불러와서 이퀄라이저를 적용한 후 output.wav 파일로 저장합니다. 이때 equalizer 배열에 주파수 대역별 음향 조절 비율을 적절히 설정하여 원하는 사운드를 얻을 수 있습니다.

결론

파이썬을 사용하여 오디오 파일에 이퀄라이저를 적용하는 방법을 알아보았습니다. 이를 활용하여 음향 조절이 필요한 프로젝트나 음악 편집 작업에 유용하게 사용할 수 있습니다. 더 자세한 내용은 pydub 공식 문서를 참조하세요.

참고 자료