2015-10-05 54 views
0

假設我做一個簡單的畫布繪製的應用程序是這樣的:WebAudio從波點的聲音

enter image description here

我現在有一系列的點。我怎樣才能把它們提供給一些WebAudio對象(一個振盪器或者一個由字節數組或者其他東西構成的聲音)來實際生成並播放一個波(在這個例子中是一個正弦波)?它背後的理論是什麼?

回答

2

如果你有一個數組,Y從圖表中的資料,你可以這樣做

var buffer = context.createBuffer(1, y.length, context.sampleRate); 
buffer.copyToChannel(y); 
var src = context.createBufferSource(); 
src.buffer = buffer; 
src.start() 

您可能需要context.createBuffer設置採樣率比context.sampleRate其他的東西,具體取決於數據從你的圖表。

+0

哇,謝謝。數組中的值應該在什麼範圍內?他們代表什麼?我的意思是,它們是否應該減少到-1/+1這樣的頻率,因此頻率在200/1000左右,或者是什麼? – pistacchio

+0

這些值應該在-1到+1的範圍內。這些值應該是所需波形的時間樣本,而不是頻率。 –

+0

非常感謝:) – pistacchio