5

对于即将使用 Web Audio API 的项目,我希望能够放大一些音频的音量。

正如我在文档中所读到的,增益节点将输入信号乘以它的增益值。文档指出该值在 to 的范围内01因此放大似乎不适用于增益节点。但我还能怎么做呢?

4

2 回答 2

4

更具体地说:正如凯文所说,一的“标称”值代表单位增益 - 即没有变化。这与范围不同。实现必须支持值 > 1 - 事实上,值的整个范围。有许多场景使用大增益缩放值来做有趣的事情,如果实现不支持这一点,将会非常糟糕。

简而言之:使用增益 > 1 来放大事物。如果您完全担心剪辑,请在其后放置一个动态处理器节点。

于 2013-08-20T14:43:32.033 回答
2

我不知道没有将增益增加到 1 以上的实现。这就是我在所有项目中一直使用的,并且没有遇到任何问题。

如果您对此非常担心,我想您可以使用 aScriptProcessorNode并且基本上只需将所有样本乘以您想要的任何缩放值,但是性能会比使用增益节点获得的性能要差得多。而且,这也太荒谬了。

我阅读规范的方式并没有真正让我有任何理由相信大于 1 的值将被GainNode'sgain参数忽略。它基本上只是说 1 是标称值。换句话说,如果您希望您的音频不受影响地通过,请将值设置为 1。否则,您将获得衰减或放大。

于 2013-08-19T17:05:39.070 回答