Web Audio API——频率调制在 Chrome / Safari 中听起来不同

for*_*sto 5 javascript web-audio-api

我正在为 Web Audio API 合成器开发基于浏览器的修补界面。频率调制(将一个振荡器与另一个振荡器的频率挂钩)在 Chrome 中按预期工作。它应该是一种科幻声音,就像频率波动为30Hz的300Hz正弦波。

在 Safari(和 Mobile Safari)中,听起来只是低沉的隆隆声。听起来好像有FM,但基频不对。这是否只是浏览器的一个怪癖,将在未来的版本中得到解决?现在有解决办法吗?

这是视觉/交互版本:
html5 调频合成器
http://forresto.github.com/dataflow-webaudio/

还有fiddle版本,用最少的代码演示效果:
http ://jsfiddle.net/FVaWL/28/

var mod, modGain, osc;

var out = context.destination;

var startTest = function(){
    mod = context.createOscillator();
    mod.frequency.value = 8;

    modGain = context.createGain();
    modGain.gain.value = 30;

    osc = context.createOscillator();
    osc.frequency.value = 300;

    mod.connect(modGain);
    modGain.connect(osc.frequency);
    osc.connect(out);

    osc.start(0);
    mod.start(0);
};

var stopTest = function(){
    osc.stop(0);
    mod.stop(0);
    mod = modGain = osc = null;
};
Run Code Online (Sandbox Code Playgroud)

cwi*_*lso 1

Safari 6 的 webkit 具有旧版本的网络音频。在夜间构建中尝试一下,可能会更好 - 但是,是的,这些都是暂时的问题。