我正在使用JavaScript Web音频API来创建一个频率查看器。getByteFrequencyData
将频率的增益从0到255分布在一个阵列中,但频率显然是从20Hz到20kHz,我想知道是否可以调节存储的频率范围。例如,我希望20Hz到20kHz,而不是20Hz到800Hz.编辑。
很明显 fftSize会使频率范围减小 但如果增加很多频率范围 就会使分析有很大的延时
不,你不能真正配置范围。 频率范围总是0到 context.sampleRate / 2
. 改变 fftSize
只是改变了覆盖该范围的信道数。
如果你只想要20-800 Hz的范围,只需取覆盖这个区域的一组二进制。 你会丢掉很多数据,但也没办法。
我真的认为 AnalyserNode
尽管名字很好听,但其实是为了实现可视化,而不是分析。