Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中频谱图的FFT_Python_Image_Graphics_Audio_Fft - Fatal编程技术网

Python中频谱图的FFT

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 PCM文件中读取频率峰值,然后能够生成它的图像,以便进行spectrogram分析

我正在尝试制作一个程序,允许您读取任何音频文件,将其转换为WAV PCM,然后查找峰值和频率截止值。

将允许您导入音频。在那之后,你就可以播放音频了

然后,制作非常漂亮的图表-绝对可以与MATLAB媲美


它已经过时了,但可能会让您几乎完全了解所描述的问题(当然是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