Arm*_*ter 5 javascript web-audio-api
我知道getByteFrequencyData
返回每个频段的音量(以 dB 为单位)。如何确定VU 表中显示的信号总音量(以 dB 为单位)?
大多数时候,我看到的代码只是将每个频段的音量相加,然后将总和除以频段数量,但这肯定是不正确的。这意味着每个频段都需要为 6 dB,整个信号才能达到 6 dB。当然,事实并非如此。
我的问题:
如何正确确定信号的总音量?
如果minDecibels
设置为 -96 和maxDecibels
0,我假设值 0 转换为 -96 dB,值 255 转换为 0 db。但是:128 的值意味着什么?-48分贝?
getFloatFrequencyData
,但平均值不应平均 dB 值。在进行平均之前,您需要转换为线性。这很昂贵;您可以只获取时域数据并计算平均平方和并得到相同的答案(几乎)。