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

Can I configure the frequency range of getByteFrequencyData()?

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

显然,fftSize 会导致频率范围减小,但如果增加很多,就会给分析留下很多延迟。

不,您不能真正配置范围。频率范围始终为 0 到 context.sampleRate / 2。更改 fftSize 只会更改覆盖范围的 bin 数。

如果您只需要 20-800 Hz 的范围,只需采用覆盖该区域的一组 bin。你会丢掉很多数据,但能做的却不多。

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