Markov Test1

by Eve Weinberg

HTML

<script src="https://tonejs.github.io/CDN/r6/Tone.js"></script>

JavaScript

var snareUrl = "https://tonejs.github.io/Tone.js/examples/audio/505/snare.mp3";
var snare = new Tone.Player(snareUrl).toMaster();
//what is retrigger?
snare.retrigger = true;


var var1 = "D1";
var var2 = "D2";
var var3 = "D3";

// create a empty object
var obj = {
// fill the object with the data using the object[property]
obj[var1] = var2; // this is equal to obj.D1 = "D2"
obj[var2] = [ var2, var3 ]; // this is equal to obj.D2 = [ "D1", "D3" ]
obj[var3] = var1; // this is equal to obj.D3 = "D1"
};



var chain = new Tone.CtrlMarkov(obj);

var synth = new Tone.FMSynth().toMaster();

//set beginning
chain.value = obj[var1];

//play 70 notes
for (var i=0;i<70;i++){
//schedule them all
synth.triggerAttackRelease(chain.value,0.1,i*0.4);
//get the next state in the Markov chain
chain.next();
console.log(chain.value)
}