home/ atoms/ euclidean-rhythm-algorithm

Bjorklund's pulse-distribution algorithm has the same structure as the Euclidean algorithm

The Euclidean rhythm E(k,n) distributes k onsets across n pulses as evenly as possible. The algorithm that generates it — Bjorklund’s sequence algorithm, originally developed for spallation-neutron-source accelerator timing — starts from k ones followed by (n-k) zeros and repeatedly appends the smaller remainder group onto each larger group, stopping when the remainder is a single group. This is the same repeated-subtraction process as Euclid’s GCD algorithm, which is why the resulting patterns are named Euclidean rhythms. When k divides n evenly the result is a uniform grid (isochronous); the interesting case is when k and n are relatively prime, producing maximally uneven yet balanced spacing. The key implication: a single pair of integers (k, n) fully specifies a groove, making parametric rhythm generation tractable. A common confusion is to treat k and n interchangeably — k is always the onset count, n the total pulse count.

Examples

E(5,13): start [11111][0][0][0][0][0][0][0][0], distribute to [10010][10010][100] = [x..x.x..x.x..]. E(3,8) = [x..x..x.] (tresillo); in Strudel s(“bd(3,8)”).

Assessment

Given a binary onset pattern, identify k and n and verify it by tracing Bjorklund’s grouping steps on paper. Explain why E(4,4) is isochronous while E(3,8) is not, and why the algorithm is called ‘Euclidean’.

“Bjorklund’s algorithmwillbedescribedsimplybyusingoneofhisexamples”
corpus · godfried-toussaint-the-euclidean-algorithm-generates-traditi · chunk 1