多谢邀请。 对了, 结论在最后一行。
基本上就是四则运算和幂及指数运算, 也不能说是一块钱一次的一元一次方程。
前情(省略这个可能会让读者十分费解)
因为这些处理就是一次接一次的卷积。
关键是保留 EQ 曲线的轮廓。
只要总电平不超过 0dB,不管怎么处理都是不会爆音的。
换句话/举例来说, 对于浮点列表的处理,只要原来的信号不超过 (double)1.0f, 最后保证总电平不超过 (double)1.0f,不管中间怎么处理(乘法)都是不会爆音的。
这不难理解吧?
俺没啥文化, 初中毕业, 大家都知道。 这寥寥几个字俺都打得冒汗了。俺估计还是辞不达意。 万一您明白了, 敬请点赞。
因此, 偷懒的话, 预留 10dB 的 HEADROOM, 就很有必要了。具体就是 乘以 0.3 或者 衰减 10dB 。
不偷懒的话, 需要自己扫描信号确定最佳的 HEADROOM。
或者, 一开始就以最高的峰值为 0 dB, 把所有的增益换算成负增益就永远不会爆音了。对于 Equalizer APO, 只要不出现红色的警告就好了。 爆了的时候, 字会变红, 曲线也会显示大片的红色 。
前情(省略这个可能会让读者十分费解)