Distribute a number of accents evenly across a ring of specified size

spread

[num_accents (number), size (number)]

Creates a new ring of boolean values which space a given number of accents as evenly as possible throughout a bar. This is an implementation of the process described in 'The Euclidean Algorithm Generates Traditional Musical Rhythms' (Toussaint 2005).

Introduced in v2.4

Example 0 

(spread 5, 13)   



#=> (ring true, false, false, true, false, false, true, false) a spacing of 332



Example 1 

(spread 3, 8, rotate: 1)



#=> (ring true, false, false, true, false, true, false, false) a spacing of 323