rnd:projects:euclogic

Eucl*gic

A dual-channel Euclidean sequencer plus logic.

Two papers serve as the backbone of our investigation here. Godfried Toussaint1) was the first to notice that numerous traditional rhythms from around the world can be derived from the Euclidean algorithm. These patterns share the form $E(k,n)$, where $k$ notes are divided as evenly as possible among $n$ steps. When $k\mid n$, distributing those notes is trivial — simply place one every $n/k$ steps. For $k\nmid n$, E. Bjorklund2) provides a generalized algorithm. Actually, he provides a number of algorithms capable of satisfying various degrees of constraints; fortunately, we need only examine the unconstrained case.

include and discuss Bjorklund's algorithm

While Bjorklund's algorithm is perfectly serviceable, it relies on a number of arrays (count, remainders, and sequence) to get the job done, and the whole process must be re-run any time the parameters change. Is it possible to generate the sequence more efficiently? Better yet, could we calculate each step on the fly using only $n$ and $k$?

As an alternative to Boolean strings, we can represent Euclidean sequences with interval vectors. Using this notation, we would write $E(5,8)=10110110=(2,1,2,1,2)$.


1)
“The Euclidean Algorithm Generates Traditional Music Rhythms”
2)
“The Theory of Rep-Rate Pattern Generation in the SNS Timing System”
  • rnd/projects/euclogic.txt
  • Last modified: 2024-03-27 18:11
  • by asdf