Euclidean Drum Machine
11–20 of 24 posts
Re: Euclidean Drum Machine
#12Re: Euclidean Drum Machine
#13Warning for all those with headphones on: If you navigate to a different tab, and then come back to groovemechanics.com, the sound pops in VERY LOUDLY...it was painful and a bit scary to my eardrums. Other than that, though, this is really cool!
Re: Euclidean Drum Machine
#14Holy coolness, can you make a version that runs in node-webkit so I can hook it up to ableton and other DAWs via OSC? That would be 100% groovy. Do you mind if i do it myself some time?
Re: Euclidean Drum Machine
#15I'm fascinated by this concept and I've even had some ideas about making something similar, though I haven't worked them out I'd love to look at the source code for this.
There's a popular paper on the technique by Godfried Toussaint that explores it in depth: http://cgm.cs.mcgill.ca/~godfried/publications/banff.pdf
I personally think that counting from zero is a really harmful habit. I understand how it originated and of course switching to counting from 1 would involve all sorts of kludges and result in all sorts of bugs. But it strikes me as a classic case of abstraction gone wrong, as 'the nth step' is going to mean entirely different things in the problem and the software domain.
Re: Euclidean Drum Machine
#16I don't understand why and how it periodically resets.
If the least common multiple of two elements is high, the rhythm would have a very long period, which doesn't sound very well. Three elements of periods 16,9 and 7 would have a period of 1008 steps, which at a tempo of 100 would take 10 seconds to reset. That's not a rhythm, that's a tune.
Have a quartet where each one is playing something with a different time signature. Hellish to coordinate, but could be interesting at the same time, as instruments wander in and out of sync with each other. Chord progressions forming with two and three instruments while the others are doing something else.
Re: Euclidean Drum Machine
#17var patch = [ {steps:11,pulses:4,offset:0}, {steps:7,pulses:1,offset:8}, {steps:5,pulses:2,offset:0}, {steps:3,pulses:1,offset:0}, {steps:1,pulses:16,offset:0}, ]; patch.forEach(function(hit,index){ index = index + 1; $('.space-'+index).val(hit.steps).trigger('change'); $('.fill-'+index).val(hit.pulses).trigger('change'); $('.offset-'+index).val(hit.offset).trigger('change'); });
just drop that into your F12 tools' watch window and we can share configs/patches
Re: Euclidean Drum Machine
#18Suggestion: a random button.
Re: Euclidean Drum Machine
#19My patch... var patch = [ {steps:11,pulses:4,offset:0}, {steps:7,pulses:1,offset:8}, {steps:5,pulses:2,offset:0}, {steps:3,pulses:1,offset:0}, {steps:1,pulses:16,offset:0}, ]; patch.forEach(function(hit,index){ index = index + 1; $('.space-'+index).val(hit.steps).trigger('change'); $('.fill-'+index).val(hit.pulses).trigger('change'); $('.offset-'+index).val(hit.offset).trigger('change'); }); just drop that into your…
var patch = [ {steps:11,pulses:13,offset:2}, {steps:8,pulses:2,offset:6}, {steps:5,pulses:7,offset:4}, {steps:1,pulses:3,offset:1}, {steps:15,pulses:8,offset:8}, ]; patch.forEach(function(hit,index){ index = index + 1; $('.space-'+index).val(hit.steps).trigger('change'); $('.pulses-'+index).val(hit.pulses).trigger('change'); $('.offset-'+index).val(hit.offset).trigger('change'); });
Re: Euclidean Drum Machine
#20Holy coolness, can you make a version that runs in node-webkit so I can hook it up to ableton and other DAWs via OSC? That would be 100% groovy. Do you mind if i do it myself some time?