Python中频谱图的FFT
我将如何使用Python从WAV PCM文件中读取频率峰值,然后能够生成它的图像,以便进行spectrogram分析 我正在尝试制作一个程序,允许您读取任何音频文件,将其转换为WAV PCM,然后查找峰值和频率截止值。将允许您导入音频。在那之后,你就可以播放音频了 然后,制作非常漂亮的图表-绝对可以与MATLAB媲美Python中频谱图的FFT,python,image,graphics,audio,fft,Python,Image,Graphics,Audio,Fft,我将如何使用Python从WAV PCM文件中读取频率峰值,然后能够生成它的图像,以便进行spectrogram分析 我正在尝试制作一个程序,允许您读取任何音频文件,将其转换为WAV PCM,然后查找峰值和频率截止值。将允许您导入音频。在那之后,你就可以播放音频了 然后,制作非常漂亮的图表-绝对可以与MATLAB媲美 它已经过时了,但可能会让您几乎完全了解所描述的问题(当然是Python文章)。加载WAV文件很容易: 或用于读取任何通用音频格式并转换为WAV: from audiolab imp
它已经过时了,但可能会让您几乎完全了解所描述的问题(当然是Python文章)。加载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)
具体地说,这是我们的一部分
这是最简单的。在这种情况下也非常方便:
subplot
但请注意:Matplotlib速度非常慢,但它可以创建漂亮的图像。您不应将其用于要求严格的动画,尤其是在处理3D时。如果需要从PCM格式转换为整数,则需要使用struct.unpack。matplotlib还可以使用命令
specgram
直接计算光谱图。
from pylab import *
specgram(signal)
subplot