[python] 파이썬으로 오디오 파일의 FFT(고속 푸리에 변환)를 수행하는 방법

FFT는 주파수 영역에서 오디오 신호를 분석하는 데 사용되는 중요한 알고리즘입니다. 이번 글에서는 파이썬을 사용하여 오디오 파일의 FFT를 수행하는 방법을 알아보겠습니다.

필요한 라이브러리 설치

먼저, 파이썬에서 오디오 파일을 처리하기 위해 필요한 라이브러리를 설치해야 합니다. 이를 위해서는 numpylibrosa 라이브러리를 사용할 것입니다. 다음 명령어를 사용하여 필요한 라이브러리를 설치합니다.

pip install numpy librosa

코드 작성

이제, FFT를 수행할 파이썬 코드를 작성해보겠습니다. 아래의 예제 코드는 주어진 오디오 파일의 FFT를 계산하고, 그 결과를 그래프로 시각화하는 간단한 예제입니다.

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

# 오디오 파일 불러오기
audio_file = 'audio.wav'
audio_samples, sampling_rate = librosa.load(audio_file, sr=None)

# FFT 계산
fft = np.fft.fft(audio_samples)

# 주파수 범위 계산
freq_range = np.fft.fftfreq(len(fft), 1/sampling_rate)

# FFT 결과 시각화
plt.plot(freq_range, np.abs(fft))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Magnitude')
plt.title('FFT of Audio File')
plt.show()

위 코드에서 audio.wav는 분석할 오디오 파일의 경로로 바꿔주어야 합니다. 오디오 파일을 불러온 후, np.fft.fft() 함수를 사용하여 FFT를 계산합니다. 마지막으로, plt.plot() 함수를 사용하여 FFT 결과를 그래프로 시각화합니다.

실행하기

위의 코드를 fft.py라는 이름으로 저장한 뒤, 다음 명령어를 사용하여 코드를 실행합니다.

python fft.py

그러면 오디오 파일의 FFT 결과가 그래프로 나타나게 됩니다.

결론

파이썬을 사용하여 오디오 파일의 FFT를 수행하는 방법을 알아보았습니다. numpylibrosa 라이브러리를 사용하여 오디오 파일을 불러오고 FFT를 계산한 후, 그 결과를 그래프로 시각화할 수 있습니다. 생각해보세요, 이를 활용하여 오디오 신호를 분석하고, 차트로 표현해 볼 수도 있습니다.