2

テスト用にhtml5アプリを作成し、オーディオAPIを使用して、キーボードでサウンドを生成するために、このようなことをしています

 keyboard.keyDown(function (note, frequency) {
                    var oscillator = context.createOscillator(),
                        gainNode = context.createGainNode();

                    oscillator.type = 2;
                    oscillator.frequency.value = frequency;
                    gainNode.gain.value = 0.3;
                    oscillator.connect(gainNode);
                    if (typeof oscillator.noteOn !== 'undefined') {
                        oscillator.noteOn(0);
                    }
                    gainNode.connect(context.destination); 
                    nodes.push(oscillator);
                });

今私の質問は、グーグルで例を見つけようとしたが成功しなかったため、オシレーター以外のピアノや電子楽器のようなサウンドを得るために使用できる他のパラメーターと、それらを渡す方法は何ですか?

4

1 に答える 1

2

私はあなたが合成にかなり慣れていないと仮定しています。コードで合成アルゴリズムを試す前に、利用可能なソフトウェア シンセサイザー (VST など) を試してみることをお勧めします。これにより、アルゴリズムに導入するパラメーターの種類を把握できます。http://www.soundonsound.com/sos/allsynthsecrets.htmは、一連の優れた合成チュートリアルのインデックスです。(一番下から始めましょう - パート 1!)

コードで実験を開始する準備が整ったら、開始するのに最適な場所は、エンベロープを導入して、時間の経過とともにサウンドの音量またはピッチを変更することです (このようにパラメータを時間の経過とともに変更することを「モジュレーション」と呼びます)。このビデオは興味深いかもしれません: http://www.youtube.com/watch?v=A6pp6OMU5r8

ほとんどすべてのアコースティック楽器は、説得力のあるアルゴリズムによる合成が困難であり、ピアノに近づける最も簡単な方法は、本物のピアノ音のサンプルを使用することです。

于 2013-09-12T00:54:32.153 に答える