[python] 파이썬으로 오디오 파일에서 고음의 주파수를 찾는 방법
오디오 파일에서 고음의 주파수를 찾는 것은 음악 분석, 음성처리 및 소음 제거와 같은 다양한 응용 프로그램에 유용합니다. 파이썬에서는 Librosa
라는 라이브러리를 사용하여 오디오 파일을 로드하고 고음의 주파수를 식별할 수 있습니다.
1. 의존성 설치
먼저 Librosa
라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 의존성을 설치합니다.
pip install librosa
2. 코드 작성
이제 파이썬 코드를 작성하여 오디오 파일에서 고음의 주파수를 찾을 수 있습니다.
import librosa
# 오디오 파일 로드
audio_path = 'audio_file.wav'
audio_data, sample_rate = librosa.load(audio_path)
# STFT 변환
stft = librosa.stft(audio_data)
# 주파수 영역으로 변환
spectrogram = librosa.amplitude_to_db(abs(stft))
# 고음의 주파수 식별
high_freqs = []
threshold = 0.5 # 임계값 설정
for i in range(len(spectrogram)):
if max(spectrogram[i]) > threshold:
high_freqs.append(librosa.fft_frequencies(sr=sample_rate)[i])
# 고음의 주파수 출력
for freq in high_freqs:
print(round(freq, 2))
위 코드는 주어진 오디오 파일에서 고음의 주파수를 찾아서 출력하는 예제입니다. 주파수 스펙트로그램을 계산하고 각 주파수 대역에서 최대 값이 지정한 임계값(0.5)을 초과하는 경우 해당 주파수를 고음으로 인식합니다.