2011-07-28 64 views

回答

4

也許不是這些最好的方式,但我用dsp.js產生不同類型的正弦曲線,然後傳遞了他們對網絡音頻API在這個演示:http://www.htmlfivewow.com/demos/waveform-generator/index.html

+1

啊,是啊,忘了放下;我基本上做了同樣的事情。當我問這個問題時,那個演示或多或少地完全被破壞了。一些朋友和我一起黑了這個http://pastebin.com/7jEqJSCU的黑客馬拉松。它使用DSP來產生正弦波。它還演示了一個異步加載鼓套件。我不知道它是否仍然有效,它在我們建造的時候在加那利奔跑,但如果現在需要調整就不會感到驚訝。 –

20

通過Web Audio API有什麼作爲了振盪器接口來產生你正在談論的音調。他們是非常直截了當得走了......

var context = new webkitAudioContext(), 
    //Call function on context 
    oscillator = context.createOscillator(); // Oscillator defaults to sine wave 

oscillator.connect(context.destination); 
oscillator.start(); 

您可以通過執行變更波的類型:

oscillator.type = 1; // Change to square wave. 

或者:

oscillator.type = oscillator.SQUARE; 

我寫an article about this very topic更詳細,所以這可能對你有一些用處!

+0

有沒有更好的方式來改變振盪器類型比使用數字?它不會提供非常可讀的代碼。 – frankster

+0

@frankster是的,你可以做oscillator.type = oscillator.SQUARE;我會更新答案。 –

+0

使用oscillator.start()而不是oscillator.noteOn(),它不再存在,請參閱:https://jsfiddle.net/xMruN/322/ – Seth