如何在javascript中从输入声音生成负音波?

如何在javascript中从输入声音生成负音波?,javascript,audio,microphone,getusermedia,Javascript,Audio,Microphone,Getusermedia,我找到了一个javascript,它捕获当前麦克风输入,然后再次发送出去。你可以在这里看到: (仅适用于https) 我想知道我怎样才能产生所捕获声音的“负”波。就像“噪音消除”一样。所以脚本检测到我周围的当前噪声,每当有一个波向上时,我想产生一个向下的波,以相互抵消。有没有办法用javascript实现这一点 因此,这将输出当前录制的声音: var input = audio_context.createMediaStreamSource(stream); volume = audio_con

我找到了一个javascript,它捕获当前麦克风输入,然后再次发送出去。你可以在这里看到:

(仅适用于https)

我想知道我怎样才能产生所捕获声音的“负”波。就像“噪音消除”一样。所以脚本检测到我周围的当前噪声,每当有一个波向上时,我想产生一个向下的波,以相互抵消。有没有办法用javascript实现这一点

因此,这将输出当前录制的声音:

var input = audio_context.createMediaStreamSource(stream);
volume = audio_context.createGain();
volume.gain.value = 0.8;
input.connect(volume);
volume.connect(audio_context.destination);

问题是如何产生这种声音的负片,并将其输出。

您已经在通过网络音频链传输信号了。您需要做的是在输入节点和输出节点之间建立一个链(在增益节点之后或之前,这无关紧要)。工人的脚本将是一个非常简单的符号反转

var negationWorker = audio_context.createAudioWorker( "negate.js" )
var negationNode = negationWorker.createNode()
input.connect(negationNode)
negationNode.connect(volume)