注意:如果单击小提琴,请确保将声音调到最小。
我正在使用Web Audio API,我想使一个振荡器相对于另一个振荡器失谐几美分,以产生更浓的声音。问题是当我确实使一个振荡器失谐时,它会产生脉动的声音。如果我使用失谐量,它会变得更好或更糟,具体取决于我为每个振荡器设置的值。如果我将一个振荡器减-1(如下例所示),则从振荡器返回的声音会定期切出。
这是为什么?我之前使用过的软件合成器可以让您降低一美分,因此假设这不是问题。
// create web audio api context
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
// create Oscillator node
var oscillator = audioCtx.createOscillator();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.connect(audioCtx.destination);
// create Oscillator node
var oscillator1 = audioCtx.createOscillator();
oscillator1.type = 'square';
oscillator1.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator1.detune.setValueAtTime(-1, audioCtx.currentTime);
oscillator1.connect(audioCtx.destination);
oscillator.start();
oscillator1.start();