2016-09-08 56 views
0

有沒有一種方法可以在JavaScript中創建多個頻率的聲音?JavaScript WebAudio生成多個頻率的聲音

我可以使用WebAudio並創建一個頻率的東西。

var osc = audioContext.createOscillator(); 
osc.frequency.value = 440; //Some frequency 

但我需要創建一個有很多頻率的聲音信號。 這可能嗎?

+1

只需創建一個其他振盪器? https://jsfiddle.net/puc4onau/ – Kaiido

回答

0

龐的答案是不壞 - 只需添加更多的振盪器和連接()他們都到AudioContext.destination,並啓動()他們都 - 但你也可以使用不同類型的振盪器。不同的波形(鋸齒形,方形,三角形)具有不同的諧波分量 - 事實上,您可以使用PeriodicWave對象和Oscillator.setPeriodicWave來選擇自定義諧波分量。

+0

我嘗試添加多個振盪器,但由於某些原因,當我'start'不止一個振盪器的方法創建的頻率,我不想要一個隨機噪聲。 –

+0

我的不好,現在我注意到我必須從上下文創建一個新實例才能工作。 –

+0

你不應該需要另一個上下文;你可能需要通過一個增益節點來提供它們,設置增益<1,以避免削波。振盪器默認爲全信號(即最大音量)。 – cwilso