Interpolated Probability Drums

by yotammann

HTML

<script src="https://tonejs.github.io/CDN/r6/Tone.min.js"></script>
<script src="https://tonejs.github.io/build/Tone.js"></script>
<!-- <script src="https://tonejs.github.io/Logo/build/Waveform.js"></script> -->
<input id="slider0" type="range" min="0" max="100">
<input id="slider1" type="range" min="0" max="100">

JavaScript

var synth0 = new Tone.Synth({
	'oscillator.type' : 'square10',
  envelope : {
  	attack : 0.001,
    decay : 0.2,
    sustain : 0
  }
}).toMaster()

var synth1 = new Tone.Synth({
	'oscillator.type' : 'square10',
  envelope : {
  	attack : 0.001,
    decay : 0.2,
    sustain : 0
  }
}).toMaster()

var loop0 = new Tone.Loop(function(time){
	synth0.triggerAttack("C4", time)
}, 0.1).start(0)

var loop1 = new Tone.Loop(function(time){
	synth1.triggerAttack("E4", time)
}, 0.1).start(0)

document.querySelector('#slider0').addEventListener('input', function(e){
	loop0.probability = parseInt(e.target.value)/100
})

document.querySelector('#slider1').addEventListener('input', function(e){
	loop1.probability = parseInt(e.target.value)/100
})

Tone.Transport.start()