4

私は、Web Audio API シンセ用のブラウザー ベースのパッチ インターフェイスに取り組んでいます。周波数変調 (オシレーターを別のオシレーターの周波数にフックする) は、Chrome で期待どおりに機能します。周波数が 30Hz 揺れる 300Hz の正弦波のような SF サウンドのはずです。

Safari (および Mobile Safari) では、低音がゴロゴロ鳴るように聞こえます。FM があるように聞こえますが、適切な基本周波数ではありません。これは、将来のバージョンで解決される単なるブラウザーの癖ですか? 現在、回避策はありますか?

ビジュアル/インタラクティブ バージョンは次のとおりです:
html5 fm シンセ
http://forresto.github.com/dataflow-webaudio/

そして、効果を実証するための最小限のコードを含むフィドルバージョン:
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;
};
4

2 に答える 2

1

Safari 6 の Webkit には、古いバージョンの Web オーディオが含まれています。ナイトリー ビルドで試してみてください。改善される可能性がありますが、これらは一時的な問題です。

于 2013-01-29T22:44:51.673 に答える
0

これは古い質問ですが、以前にこれに出くわしたので答えます。古いバージョンの Safari では、GainNode の値が 0..1 に制限されていたようです。Chrome および新しい Safari バージョンでは、任意の値を割り当てることができます (たとえば、30000 のゲイン ノードで FM/xmod を実行しました)。現在のブラウザを使用するようにユーザーにアドバイスする以外に、これに対する解決策は見つかりませんでした。良いニュースは、2016/Safari 9 の時点で、この問題が修正されたことです。

于 2016-10-31T20:46:02.067 に答える