http://jsfiddle.net/sunwangshu/rbnxe9s6/
It’s basically a static part playing together with random choice of notes.
Every six notes there’s a chance of rest.
var freeverb = new Tone.Freeverb().toMaster(); freeverb.dampening.value = 2000; freeverb.roomSize.value = 0.9; freeverb.wet.value = 1; // note part var synth1 = new Tone.SimpleSynth( { oscillator : { type : "sine" }, envelope : { attack : 0.02, decay : 0.8, sustain : 0.7, release : 2 } }).connect(freeverb); var synth2 = new Tone.SimpleSynth( { oscillator : { type : "sine" }, envelope : { attack : 0.02, decay : 0.8, sustain : 0.7, release : 2 } }).connect(freeverb); var dream_random = ["C4","E4","G4","A4","B4","C5","E5","G5","A5","B5","C6"]; var dream13567 = ["C4","E4","G4","A4","B4",0,"C4","E4","G4","A4","B4",0,"C4","E4","G4","A4","B4",0,"B4","C5","B4","G4","E4",0,]; for (var i = 0; i < 1000; i++) { var index = Math.floor(Math.random() * dream_random.length); var tone = dream_random[index]; if (i % 6 == 5) { var chance = Math.random(); if (chance > 0.5) { tone = 0; } } synth1.triggerAttackRelease(tone, "4n", i * 0.4); var index2 = i % dream13567.length; var tone2 = dream13567[index2]; synth2.triggerAttackRelease(tone2, "4n", i * 0.4); }