我可以配置getByteFrequencyData()的频率范围吗?

时间:2020-06-02 05:16:47

标签: javascript frequency web-audio-api

我正在使用JavaScript Web Audio API创建频率查看器。 显然getByteFrequencyData在一个数组中分配了从0到255的频率增益,但是这些频率显然是从20Hz到20kHz,我想知道是否可以调节存储的频率范围。例如,我想要20Hz到800Hz,而不是20Hz到20kHz。 编辑:

显然,fftSize会导致频率范围减小,但增加很多,会使分析延迟很多。

1 个答案:

答案 0 :(得分:0)

否,您无法真正配置范围。频率范围始终为0到context.sampleRate / 2。更改fftSize只会更改覆盖范围的垃圾箱数量。

如果只需要20-800 Hz的范围,则只需采取覆盖该区域的垃圾箱即可。您将丢弃很多数据,但是没有太多可以做的。

我真的认为AnalyserNode确实是用于可视化,而不是分析,尽管名称如此。