[파이썬] pydub 오디오 스펙트럼 분석

오디오 스펙트럼 분석은 오디오 신호의 주파수 컨텐츠와 에너지 분포를 시각화하는 방법입니다. 이를 통해 오디오 신호의 특징과 트렌드를 분석하고 이해할 수 있습니다.

이번 블로그에서는 Python 라이브러리인 pydub를 사용하여 오디오 스펙트럼 분석을 수행하는 방법을 알아보겠습니다.

pydub 소개

pydub은 오디오 파일을 다루는 데 사용되는 Python 라이브러리입니다. 이 라이브러리는 음악 파일을 잘라내고 합치고, 변환하고, 실시간으로 처리하고, 오디오 형식을 변경하는 등의 다양한 작업을 수행할 수 있습니다.

pydub로 오디오 스펙트럼 분석하기

먼저, pydub를 설치해야 합니다. 아래의 커맨드를 사용하여 pydub를 설치할 수 있습니다.

pip install pydub

다음으로, 스펙트럼 분석을 위해 numpymatplotlib 라이브러리도 설치해야 합니다.

pip install numpy
pip install matplotlib

이제 pydub를 사용하여 오디오 파일을 로드하고 스펙트럼 분석을 수행할 수 있습니다. 아래의 예제 코드를 사용하면 됩니다.

from pydub import AudioSegment
import numpy as np
import matplotlib.pyplot as plt

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

# numpy 배열로 변환
samples = np.array(audio.get_array_of_samples())

# 스펙트럼 계산
frequencies, times, spectrogram = plt.specgram(samples, Fs=audio.frame_rate)

# 스펙트럼 시각화
plt.imshow(spectrogram, aspect='auto', origin='lower', cmap='inferno')
plt.xlabel('Time')
plt.ylabel('Frequency')
plt.colorbar(label='Intensity')
plt.title('Audio Spectrum')
plt.show()

위의 코드는 주어진 오디오 파일(“audio.wav”)을 로드하고, numpy 배열로 변환한 후 스펙트럼을 계산하고 시각화합니다.

결론

pydub를 사용하면 Python에서 오디오 스펙트럼 분석을 쉽게 수행할 수 있습니다. 이를 통해 오디오 신호에 대한 통찰력을 얻고, 오디오 데이터를 더 잘 이해할 수 있습니다.