xxxxxxxxxx
49
var synth = new Tone.PolySynth({
"volume": -10,
"envelope": {
"attack": 0.1,
"decay": 0.3,
"release": 2,
}
}).toMaster();
var synthScale = ["C3", "D3", "E3", "G3", "A3", "B3",
"C4", "D4", "E4", "G4", "A4", "B4", "C5"
];
var synthLoop = new Tone.Loop(loopCallback, "16n");
Tone.Transport.bpm.value = 40;
function loopCallback(time) {
// Pick a random note from the scale
var pos = floor(random(0, synthScale.length));
var currentNote = synthScale[pos];
var velocity = 0.4 + Math.random() * 0.5;
var probability = 0.8;
if (random() < probability) { //stay silent sometimes
// Original melody
synth.triggerAttackRelease(currentNote, "16n", time, velocity);
// Parallel melody: original tranposed by a fifth
var fifth = Tone.Frequency(currentNote).transpose(7);
synth.triggerAttackRelease(fifth, "16n", time, 0.3);
}
}
function setup() {
synthLoop.start();
Tone.Transport.start();
}
function draw() {
}
function mousePressed() {
}