[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 공식 문서
관련 내용: 파이썬을 사용한 음악 스펙트럼 분석
작성자: 김지원