1

Web Audio API を使用してウェーブテーブル シンセサイザーを作成しようとしています。私が達成したいのは、波形から別の波形 (Massive や Serum など) に直線的に切り替える可能性です。

:正弦波から始めて、徐々に方形波に変換するノブを回転させます。

ドキュメントを検索したところ、カスタム波形を作成する方法が見つかりました。

var real = new Float32Array(2);
var imag = new Float32Array(2);
var ac = new AudioContext();
var osc = ac.createOscillator();

real[0] = 0;
imag[0] = 0;
real[1] = 1;
imag[1] = 0;

var wave = ac.createPeriodicWave(real, imag, {disableNormalization: true});

osc.setPeriodicWave(wave);

osc.connect(ac.destination);

osc.start();
osc.stop(2);

主な問題は、この波形が静的であることです。それを徐々に別のものに変更することはできません。

どうすれば目標を達成できますか? 私は、互いに補完し合うように各波の後に配置された 2 つのゲイン ノードについて考えていました。

:私の正弦波Gain1は10で、方形波Gain2は0です。次に、それらを相補的に、Gain1= 5、Gain2= 5などに変更します。

それは有効なアプローチですか?

4

1 に答える 1