我一直在研究音频分析。我有一个WAV流读入内存,并且需要对数据执行各种功能,例如FFT。我一直在阅读有关此问题的理论,但不确定自己是否正确阅读。当读取流时,我得到一堆数字输出,我猜这是采样数据(44100 Hz)。我是否可以在此流上执行所有功能?因此,对于一个包含1024个样本的窗口,我是否只是从流中获取前1024个数字?然后,我是否要在此1024个集上执行FFT和所有其他功能,并在其余流中重复执行?
我开始了解它的理论,以及对样本求和的想法等等。但是我不确定这对实现而言意味着什么。
编辑-为了澄清我得到的流值,数字沿-0.432,-0.065...
的线。
最佳答案
这只是您可以做什么的简要概述。有关详细信息,我建议您研究一些文献。
在应用FFT之前,音频信号需要进行预处理或加窗处理。
假设您要带窗(汉宁等),
窗口功能将以某种“重叠”的形式应用于原始音频,以照顾边缘效果。您可以选择一个方便的窗口大小例如1024。窗口化之后,您可以对每1024个(预处理的)样本进行FFT。
我建议您使用MATLAB。这将使您的任务变得简单。
关于audio - 分析波流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7294146/