Last week I read a really interesting article about computer generated rhythms: “Generating African rhythms using the euclidean algorithm” on Ruin & Wesen’s website. Usually I’m not so impressed by generative and algorithmic music, but this formula gives some very cool results. The formula is simple really. It’s an algorithm to distribute an amount of notes as evenly as possible over a period of time, where time is divided in equal parts. A very basic example: Say you have one measure of sixteen sixteenth notes and there are four notes to be played, then this is how those four notes would be equally distributed by the algorithm: x . . . x . . . x . . . x . . . A basic house or techno kick drum pattern. There’s four notes on sixteen steps, so the division is easy, 16 / 4 = 4. It gives you one note every four steps. But it gets more interesting when the numbers don’t divide so easily. Take five hits on sixteen steps. Then the pattern becomes more irregular: x . . . x . . x . . x . . x . . It’s these irregular patterns that create the best rhythms. Especially when several patterns are combined. In Ruin & Wesen’s article there’s a few audio examples and here’s a video on blip.tv of a MiniCommand MIDI controller generating Euclidean rhythms on a Machinedrum.
The algorithmThe algorithm is very well explained in the article I mentioned, so I won’t repeat it here. There’s another article on the weblog of Robin Price which includes a Max/MSP example, there’s a Pure Data example by Dave Poulter as well as one in Java by Kristopher Reese. Absolutely worth reading is the paper by Godfried Toussaint who as far as I know first recognized the connection between the Euclidean algorithm and musical rhythms. It’s downlaodable as a PDF: “The Euclidean Algorithm Generates Traditional Musical Rhythms”.
The Flash app
- To create a new pattern doubleclick somewhere in the lower panel. A basic sixteen step quarter note pattern appears where you clicked.
- To edit the pattern doubleclick it’s center circle. A settings popup appears with sliders for pattern length and number of hits. Change these to quickly get a feel for how these Euclidean patterns work. The ‘Sound’ dropdown menu lets you select a different sample for the pattern to play.
- Click and drag the center circle to move a pattern.
- The controls at the top are obvious: Start / stop playback, adjust volume and change tempo (in beats per minute).