xxxxxxxxxx
37
var synth = new Tone.PolySynth({
"volume": -10,
"envelope": {
"attack": 0.1,
"decay": 0.3,
"release": 2,
}
}).toMaster();
let root = 24;
let octave = 2;
let major = [0, 2, 4, 5, 7, 9, 11, 12];
let minor = [0, 2, 3, 5, 7, 9, 10, 12];
let scale = major;
var synthLoop = new Tone.Loop(loopCallback, "16n");
Tone.Transport.bpm.value = 40;
function loopCallback(time) {
// Pick a random note from the scale
let pos = floor(random(0, scale.length));
let noteNumber = root + scale[pos] + octave * 12;
let note = Tone.Frequency(noteNumber, "midi");
let velocity = 0.4 + Math.random() * 0.5;
var probability = 0.8;
if (random() < probability) { //stay silent sometimes
synth.triggerAttackRelease(note, "16n", time, 0.3);
}
}
function setup() {
synthLoop.start();
Tone.Transport.start();
}