The Rhythm Engine is a presentation of a continuous multi-dimensional rhythmic space, originally designed by Pete Kellock in the mid nineties at ISS, Singapore.
The engine performs rhythms using a number of voices, each playing the role of a single drum. What each voice does can be controlled by a bunch of continuous sliders. A number of voices playing a few different drums can make interesting rhythm patterns that you can manipulate at a high level using this interface.
When you arrive at a set of voices and slider settings for them that you like, you can save it in one of the "presets". Just click on one of them.
The presets you store can be used in the "morpher" and you can explore the space between your presets by manipulating the red handle in the morpher.
You can drag any green preset into a morph to include it in the mix. To remove it, shift-click on the preset within the morpher. Thereafter, while the rhythm is playing, you can manipulate the red morpher handle to move in the space between your presets in a limited way (it's a 2D morpher after all).
A very brief description of the controls follow. This is just a rough guide. Have fun playing with them and figuring out how to make interesting stuff with them instead of reading this :)
This implementation makes use of a bunch of bleeding edge browser technologies. Frankly, it is a pleasure to see all these work together fairly well and I didn't bleed all that much.
window.localStorage
requestAnimationFrame
for timing, though this is only
temporary. It doesn't provide enough audio accuracy and I'll
likely switch to a JavascriptAudioNode to do the timing instead.This implementation doesn't include all elements of the original Rhythm Engine. Here's what's been left out.