[python] 파이썬을 사용한 음악 주파수 분석

음악은 다양한 주파수를 포함하고 있으며, 이러한 주파수를 분석하고 시각화하는 것은 음악 이해에 도움이 됩니다. 이 포스트에서는 파이썬을 사용하여 음악 파일의 주파수를 분석하는 방법에 대해 알아보겠습니다.

1. 음악 파일 읽기

먼저, 파이썬의 librosa 라이브러리를 사용하여 음악 파일을 읽고 주파수 데이터를 얻습니다.

import librosa

# 음악 파일 로드
audio_path = 'path_to_audio_file.mp3'
y, sr = librosa.load(audio_path)

2. 주파수 분석

이제 librosa를 사용하여 주파수 분석을 수행합니다. librosa를 통해 스펙트럼을 계산하고 주파수 별 에너지를 얻을 수 있습니다.

import numpy as np
import librosa.display
import matplotlib.pyplot as plt

# 주파수 스펙트럼 분석
D = librosa.stft(y)
D_harmonic, D_percussive = librosa.decompose.hpss(D, margin=3.0)

3. 시각화

주파수 데이터를 얻었으면, 이를 시각화하여 분석 결과를 관찰할 수 있습니다.

# 주파수 스펙트럼 시각화
plt.figure()
librosa.display.specshow(librosa.amplitude_to_db(D, ref=np.max), y_axis='log', x_axis='time')
plt.title('Power spectrogram')
plt.colorbar(format='%+2.0f dB')
plt.show()

이렇게 파이썬을 사용하여 음악 파일의 주파수를 분석할 수 있습니다. 이것은 음악 이론 연구나 음악 정보 검색 등 다양한 분야에서 유용하게 활용될 수 있습니다.

참고문헌: librosa 공식 문서

관련 내용: 파이썬을 사용한 음악 스펙트럼 분석

작성자: 김지원