我正在尝试使用Web音频Api创建一个波形表合成器。我想实现的是从一个波形到另一个波形的线性切换(如块状或血清)。
例如
:从正弦波开始,我旋转一个旋钮,逐渐将其转换为方波。
我已经搜索了文档,目前为止我找到了如何创建自定义波形:
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);
主要的问题是,这个波形是静态的,我无法将它逐渐改变为其他波形。
例如
当前位置我的正弦波进入
Gain1
这是10和我的方波
Gain2
也就是0,然后我把它们换成互补的,
增益2
=5,依此类推。