我在使用 Web Audio API 时遇到了问题。
当我将增益节点连接到链并更改其增益(例如 -6.0dB)时,它会立即将增益降低超过 6.0dB,然后慢慢将音量恢复。类似于在链条中的某个地方有一个缓释压缩机。我在 BiquadFilterNode 上也经历过同样的事情 对于重低音内容来说它更明显。
我使用以下代码来设置增益节点:
var gainNode = context.createGain();
source.connect(gainNode);
gainNode.connect(context.destination);
这可以改变增益:
gainNode.gain.value = -6.0;
这不仅仅是一两分贝的额外下降,有时音频在 6dB 下降时完全静音,并在 2-3 秒内逐渐消失。
我在其他使用 Web Audio API 的网站上没有看到这个问题,所以我假设我在这里遗漏了一些明显的东西,但我无法弄清楚。是的,我是这个 API 的新手。
任何想法都会非常有帮助!是否有自动增益或默认情况下我需要禁用的东西?
增益值是绝对的,因此您不会用-6 来减小该值,而是将其设置为-6。
正如文档所说,不应该这样做。尽量保持在 0 到 20 之间。0 没什么意义,20 则非常响亮。 1 是 100%。
您可以使用负值,因为您可以使用增益节点来操纵从振荡器到滤波器的频率。请参阅我的网站 gtube.de => PUBLISH,了解节点如何在 FM 调制上相互运行。
但是要处理纯体积,请保持在 0 和其他值之间,但不能为负数。