Web Audio节点连接到两个增益节点,连接到目标,复制速度/音高

时间:2013-02-07 17:10:38

标签: google-chrome web-applications html5-audio web-audio

正如标题所说,如果我有一个发出声音的音频节点,我将它连接到两个独立的GainNodes,后者又连接到音频上下文目的地,声音以双倍速/双音调播放(就像一半样本被发送到一个增益节点,一半样本发送到另一个,时间也减半。

我创建了一个方便的jsfiddle here,只需将您的声音文件拖到黑色矩形画布中然后聆听。

// audioContext: Web Audio context
// decoded: decoded audioBuffer
// gainNode1, gainNode2: gain nodes
var bSrc = audioContext.createBufferSource();
bSrc.connect (gainNode1);
bSrc.connect (gainNode2);
gainNode1.connect (audioContext.destination);
gainNode2.connect (audioContext.destination);
bSrc.buffer = decoded;
bSrc.loop = false;
// You'll hear two double-speed buffers playing at unison
bSrc.start(0);

这是设计吗?我想要的是完全“复制”声音(将发送到两个不同的路线,小提琴只是一个更大项目的概念验证)。

编辑:

  • 我在Chrome版本24.0.1312.56 / Ubuntu 12.10上对此进行了测试,并且存在行为。
  • 此行为也出现在Chrome版本24.0.1312.68 / Ubuntu 12.10
  • 在Chrome版本24.0.1312.57 / Mac OSX上,Audio API运行良好,此行为不存在。

这可能是仅限Linux的问题吗?

1 个答案:

答案 0 :(得分:1)

听起来像Linux实施问题。它适用于OS X上的Chrome。