[Python] 파이썬에서 스펙트로 그램을위한 FFT


Answers

파이썬의 웨이브 라이브러리 에서 오디오를 가져올 수 있습니다. 그런 다음 numpy를 사용 하여 오디오 의 FFT를 수행 할 수 있습니다 .

그런 다음 matplotlib 는 MATLAB과 매우 유사한 멋진 차트와 그래프를 만듭니다.

흙으로 오래되었지만, 이 기사 는 아마도 여러분이 묘사하고있는 문제를 거의 정확히 시작할 수있게 할 것입니다 (물론 파이썬의 기사).

Question

파이썬을 사용하여 WAV PCM 파일에서 주파수 피크를 읽은 다음 스펙트로 그램 분석을 위해 이미지를 생성 할 수 있습니까?

나는 오디오 파일을 읽고 WAV PCM으로 변환 한 다음 피크와 주파수를 알아내는 프로그램을 만들고자합니다.




from pylab import *
specgram(signal)

가장 쉽습니다. 이 컨텍스트에서 또한 매우 편리합니다.

subplot

그러나 경고하십시오 : Matplotlib는 아주 느리지 만 아름다운 이미지를 만듭니다. 까다로운 애니메이션을 위해 사용하지 말아야하며, 3D를 다룰 때도




audiolab을 사용하여 WAV 파일을 쉽게로드 할 수 있습니다.

from audiolab import wavread
signal, fs, enc = wavread('test.wav')

또는 일반 오디오 형식을 읽고 WAV로 변환하는 경우 :

from audiolab import Sndfile
sound_file = Sndfile('test.w64', 'r')
signal = wave_file.read_frames(wave_file.nframes)

스펙트로 그램은 PyLab에 내장되어 있습니다.

from pylab import *
specgram(signal)

특히, 그것은 matplotlib 의 일부입니다. 여기에 더 좋은 예가 있습니다.




PCM 형식에서 정수로 변환해야한다면 struct.unpack을 사용하는 것이 좋습니다.