Web Audio Api JavaScriptAudioNode 和通道数

发布于 2024-12-08 11:06:03 字数 650 浏览 0 评论 0原文

我目前正在使用 Web Audio API

我在 javascript 中创建了一个单声道合成器,因此我创建了一个具有 0 个输入和 1 个输出的 JavaScriptAudioNode 元素,并与我的上下文的 audioDestinationNode 连接。

每次调用流程函数时,我都会调用 event.outputBuffer.getChannelData 并将输出通道数组传递给 我的合成器。作为我的合成器单声道,它只需要一个通道(阵列), 但 JavaScriptAudioNode 实际上每个输出都有两个通道。 所以我只能“填充”左声道或右声道,具体取决于我是否 调用 getChannelData(0)(1)

有没有办法拥有单声道 JavaScriptAudioNode 元素?如果不是的话,是 有一种方法可以自动将我的单声道“上混”成两个立体声 渠道?

(是的,我可以手工完成,并进行加权添加,但懒惰是最大的美德)。

谢谢!

I'm currently playing with Web Audio API.

I have a mono synthesizer of my creation in javascript, so I created a JavaScriptAudioNode element with 0 inputs and 1 output, conected with the audioDestinationNode of my context.

Everytime the process function is called, i call
event.outputBuffer.getChannelData and pass the output channel array to
my synth. Being my synth mono, it expects only one channel (array),
but JavaScriptAudioNode actually comes with two channels per output.
so i can "fill" only the left or the right channel, depending if i
call getChannelData(0) or (1).

is there a way to have a mono JavaScriptAudioNode element? If not, is
there a way to automatically "upmix" my mono channel into two stereo
channels?

(yeah, I could do it by hand, with a weighted addition, but laziness is the greatest virtue).

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柒七 2024-12-15 11:06:03

如果这样做,它将创建一个具有 0 个输入和 1 个输出的节点。

node = context.createJavaScriptNode(<BUFFER_SIZE>, 0, 1),

If you do this, it will create a node with 0 inputs and 1 output.

node = context.createJavaScriptNode(<BUFFER_SIZE>, 0, 1),
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文