I built an Euclidean rhythm generator.

First, I implemented the algorithm. After some visual exploration, I created the generator proper in JavaScript, using the Web Audio API. It plays percussive sine waves. It also features

  • Url-based setup. The rhythms (beats, pulses, offset, note) and interval are specified as a query param.
  • Time interval. Instead of playing stacked rhythms against a global tempo, treat them as subdivisions of a time interval.
  • Offsets can be added to rhythms.
  • iframe mode. See The examples below

Here are some rhythms. Most are inspired by eastern music

5/8 (2 pulses over 5 beats)#

7/8 (3 pulses over 7 beats)#

9/8 (4 pulses over 9 beats)#

Two versions of the same rhythm, one with offset#

Stacked with different subdivisions#


  • Euclidean Rhythms for note intervals
  • Add some chance into the mix