gpt4 book ai didi

audio - 使用Web音频自动进行两输入混音

转载 作者:行者123 更新时间:2023-12-02 22:55:23 24 4
gpt4 key购买 nike

我想实现一个两输入混音器,就像您在效果插件中找到的那样,您可以在其中控制所需的效果量。控制一个值,我们可以称之为“混音”,您可以从具有效果的声音到原始声音或介于两者之间的任何声音。

两个增益节点非常简单:

gainNode1.gain.value = mix;
gainNode2.gain.value = 1-mix;

然后,我们将两个增益节点都发送到输出。

问题是我想使用exponentialRampToValueAtTime()将其自动化。如果我在gainNode1上调用exponentialRampToValueAtTime,我希望另一个跟随公式(1-gain1)。

有什么办法吗?

最佳答案

这是完成此操作的一种方法的示意图。 (完全未经测试!)

// src is a constant source whose value is 1.
var gainExp = context.createGain();
var gainNeg = context.createGain();
gainNeg.gain.value = -1;

src.connect(gainExp);
gainExp.connect(gainNeg);
gainNode1.gain.value = 0;
gainExp.connect(gainNode1.gain);
gainNode2.gain.value = 0;
gainNeg.connect(gainNode2.gain);
gainExp.connect(gainNode2.gain);

gainExp.gain.exponentialRampToValueAtTime(value, time);

这是创建一个具有指数斜坡的gainExp节点。这会馈入gainNode1的增益,以便将此斜坡应用于gainNode1的输入。

gainNode2具有来自gainExp和gainNeg的增益参数输入,因此gainNode2的增益为1-根据需要进行混合。

关于audio - 使用Web音频自动进行两输入混音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35955691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com