如何在“AnalyserNode”的FFT分析数据中知道哪一个对应于什么频率?

时间:2018-01-31 07:58:02

标签: javascript web-audio

Web Audio API 中,AnalyserNodegetFloatFrequencyData()getByteFrequencyData()方法为我们提供 FFT分析数据其域频率 且codomain为幅度,在带有AnalyserNode.frequencyBinCount元素的类型化数组中,根据 Mozilla开发人员网络

我如何知道哪个元素映射到数组的频率?

1 个答案:

答案 0 :(得分:3)

AnalyserNode的频域输出非常简单。 让数组的长度为N,让f为数组。那么f [0]就是 DC分量和f [N-1]对应于频率为的分量 context.sampleRate / 2.剩余的点是等分的 这些价值之间。

由于分析仪的原因,还有一些额外的复杂情况 作品。在计算之前,将一个窗口应用于信号 变换,这会导致涂抹"的频率值, 因此纯正弦波可能没有非零的变换 只有一个值。