audio - 分析波流

标签 audio implementation analysis fft wav

我一直在研究音频分析。我有一个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/

相关文章:

java - 类之间的关系

android - 如何将 raw 文件夹中的 mp3/mp4 播放到 android 中的默认播放器?

c - PortAudio 的 PaStreamFinishedCallback 的安全操作

html - 使用 <audio> 在 html 中播放音频

objective-c - 使类符合现有方法类别的协议(protocol)

音频分析以检测低音量时段

android - Webview 没有声音

python - selenium 2(webdriver)如何实现WebElement

c++ - 在声明与实现中访问方法

go - 如何从* types.Named获取类型