오디오 스펙트로그램은 오디오 신호의 주파수 성분과 시간에 따른 변화를 시각화하는 유용한 도구입니다. 이 글에서는 파이썬의 pydub
라이브러리를 사용하여 오디오 스펙트로그램을 생성하는 방법에 대해 알아보겠습니다.
pydub
소개
pydub
은 파이썬에서 오디오 파일을 처리하기 위한 간단하고 사용하기 쉬운 인터페이스를 제공하는 라이브러리입니다. 오디오 파일을 잘라내거나 합치는 등 다양한 작업을 할 수 있으며, 이번에는 스펙트로그램 생성에 초점을 맞추어 알아보겠습니다.
스펙트로그램 생성 방법
-
pydub
라이브러리 설치하기먼저,
pydub
라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 설치할 수 있습니다.$ pip install pydub
-
오디오 파일 로드하기
스펙트로그램을 생성하기 위해 오디오 파일을 먼저 로드해야 합니다.
pydub
을 사용하면 다양한 오디오 포맷을 지원하므로, 사용할 오디오 파일의 포맷에 맞춰 로드하면 됩니다.from pydub import AudioSegment audio = AudioSegment.from_file("audio_file.wav", format="wav")
-
스펙트로그램 생성하기
스펙트로그램은 주파수 성분과 시간에 대한 2D 시각화입니다. 파이썬의
matplotlib
라이브러리를 함께 사용하여 스펙트로그램을 생성하고 표시할 수 있습니다.import matplotlib.pyplot as plt spectrogram = audio.spectrogram(window_length=50, overlap=25) plt.imshow(spectrogram.T, aspect='auto', origin='lower') plt.xlabel('Time') plt.ylabel('Frequency') plt.colorbar().set_label('Intensity') plt.show()
위의 코드에서
window_length
는 스펙트로그램의 윈도우 크기를,overlap
은 윈도우 간의 겹침 크기를 조절하는 매개변수입니다. 이 값을 조정하여 원하는 스펙트로그램의 세부성을 조절할 수 있습니다.
마무리
pydub
라이브러리를 사용하여 파이썬에서 오디오 스펙트로그램을 생성하는 방법을 살펴보았습니다. 스펙트로그램은 음악 및 음성 처리, 음악 정보 검색 등 다양한 분야에서 활용될 수 있는 중요한 개념입니다. 이를 통해 오디오 신호의 주파수 성분과 시간에 따른 변화를 시각적으로 파악할 수 있습니다. 결과를 적절하게 해석하고 활용하여 원하는 분야에서 적용해보세요. Happy coding!