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

标签 javascript web-audio-api

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

在 Safari(和 Mobile Safari)中,它听起来像是低沉的隆隆声。听起来好像有 FM,但没有正确的基频。这只是浏览器的一个怪癖,会在未来的版本中解决吗?现在有解决方法吗?

这是可视化/交互式版本:
html5 fm synth
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;
};

最佳答案

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

关于javascript - Web Audio API——频率调制在 Chrome/Safari 中听起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591454/

相关文章:

javascript - 模态按钮添加到 html 表格行,同时从 json 文件导入表格数据

javascript - 使用jquery表中每个第二个td的值

javascript - CSS:将 float div 宽度缩放 100%,直到最小宽度的 2 个 float div 可以适应宽度

javascript - 当使用 ComponentDidMount() 时我发现这个错误 : Can't call setState

javascript - 让 AudioBufferSourceNode 成为 <audio> 标签的音频源?

javascript - 如何从 JsonObj 获取键值

javascript - 关于 createMediaElementSource() 的奇怪之处

javascript - ScriptProcessor onaudioprocess 事件速度是否会受到 setInterval 或 requestAnimationFrame 的影响

javascript - 预计算的网络音频 API 时域和频谱图可视化

javascript - HTML5 网络应用程序中的音频文件播放列表?