[python] 파이썬으로 오디오 파일의 음량 변화 그래프를 그리는 방법

이번 포스트에서는 파이썬을 사용하여 오디오 파일의 음량 변화 그래프를 그리는 방법을 알아보겠습니다. 오디오 파일의 음량 변화를 그래프로 시각화하면 음악이나 음성 데이터의 특성을 쉽게 파악할 수 있습니다.

1. 필요한 라이브러리 설치

오디오 파일의 음량 변화 그래프를 그리기 위해서는 몇 가지 라이브러리를 설치해야 합니다. 이번에는 다음 라이브러리들을 사용하겠습니다.

터미널에서 다음 명령어를 실행하여 라이브러리들을 설치합니다.

pip install matplotlib numpy librosa

2. 오디오 파일 불러오기

그래프를 그릴 오디오 파일을 불러와야 합니다. 이번에는 test.wav라는 파일을 예시로 사용하겠습니다. 다음 코드를 통해 오디오 파일을 불러옵니다.

import librosa

path = 'test.wav'
audio, sr = librosa.load(path)

librosa.load() 함수를 사용하여 오디오 파일을 불러올 수 있습니다. audio는 오디오 데이터를, sr은 샘플링 레이트(sample rate)를 나타냅니다.

3. 음량 변화 계산

불러온 오디오 파일에서 음량 변화를 계산해야 합니다. 음량은 주로 오디오 파일의 파형의 크기(RMS 값)로 표현됩니다. 다음 코드를 통해 음량 변화를 계산합니다.

import numpy as np

rms = np.sqrt(np.mean(audio**2))

np.sqrt(np.mean(audio**2))를 통해 오디오 파일의 파형의 크기를 계산한 값을 rms 변수에 저장합니다.

4. 그래프 그리기

이제 음량 변화를 그래프로 그릴 차례입니다. matplotlib 라이브러리를 사용하여 그래프를 그릴 수 있습니다. 다음 코드를 통해 그래프를 그립니다.

import matplotlib.pyplot as plt

plt.plot(audio)
plt.title('Audio Waveform')
plt.xlabel('Sample')
plt.ylabel('Amplitude')
plt.grid(True)
plt.show()

plt.plot() 함수를 사용하여 오디오 파일의 파형을 그래프로 그립니다. plt.title(), plt.xlabel(), plt.ylabel()를 사용하여 그래프의 제목과 축 레이블을 설정할 수 있습니다. plt.grid(True)를 사용하여 그래프에 격자를 표시할 수 있습니다. 마지막으로 plt.show()를 사용하여 그래프를 시각화합니다.

위의 코드를 실행하면 오디오 파일의 음량 변화를 시각화한 그래프가 출력됩니다.

마치며

이번 포스트에서는 파이썬을 사용하여 오디오 파일의 음량 변화를 그래프로 그리는 방법을 알아보았습니다. matplotlib, numpy, librosa 라이브러리를 사용하여 음악이나 음성 데이터의 특성을 시각화할 수 있습니다. 이를 통해 오디오 파일의 음량 변화 패턴을 파악할 수 있으며, 데이터 분석이나 음악 제작에 활용할 수 있습니다.

참고 자료