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

问题描述 投票:0回答:1

我正在使用JavaScript Web音频API来创建一个频率查看器。getByteFrequencyData 将频率的增益从0到255分布在一个阵列中,但频率显然是从20Hz到20kHz,我想知道是否可以调节存储的频率范围。例如,我希望20Hz到20kHz,而不是20Hz到800Hz.编辑。

很明显 fftSize会使频率范围减小 但如果增加很多频率范围 就会使分析有很大的延时

javascript frequency web-audio-api
1个回答
0
投票

不,你不能真正配置范围。 频率范围总是0到 context.sampleRate / 2. 改变 fftSize 只是改变了覆盖该范围的信道数。

如果你只想要20-800 Hz的范围,只需取覆盖这个区域的一组二进制。 你会丢掉很多数据,但也没办法。

我真的认为 AnalyserNode 尽管名字很好听,但其实是为了实现可视化,而不是分析。

© www.soinside.com 2019 - 2024. All rights reserved.