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()