我正在使用JavaScript Web Audio API创建频率查看器。
显然getByteFrequencyData
在一个数组中分配了从0到255的频率增益,但是这些频率显然是从20Hz到20kHz,我想知道是否可以调节存储的频率范围。例如,我想要20Hz到800Hz,而不是20Hz到20kHz。
编辑:
显然,fftSize会导致频率范围减小,但增加很多,会使分析延迟很多。
答案 0 :(得分:0)
否,您无法真正配置范围。频率范围始终为0到context.sampleRate / 2
。更改fftSize
只会更改覆盖范围的垃圾箱数量。
如果只需要20-800 Hz的范围,则只需采取覆盖该区域的垃圾箱即可。您将丢弃很多数据,但是没有太多可以做的。
我真的认为AnalyserNode
确实是用于可视化,而不是分析,尽管名称如此。