home/ atoms/ tidal-necklace-ioi-rhythm

TidalCycles necklace generates boolean rhythmic patterns from a list of inter-onset intervals rather than onset/total-steps parameters

necklace total [ioi1,ioi2,...] creates a boolean pattern of total steps where true values appear at positions determined by cycling through the inter-onset intervals (IOIs). necklace 12 [4,2] places onsets alternating every 4 and every 2 steps in a 12-step cycle, producing t f f f t f t f f f t f. This is an alternative to Euclidean rhythm specification: instead of E(k,n) (onsets, total), you specify the gaps between onsets. IOI notation directly encodes asymmetric rhythm patterns like those in West African, Balkan, and other non-Western traditions. Combined with struct and inv, it enables complementary polyrhythms from a single necklace specification.

Examples

-- necklace 12 [4,2] = "t f f f t f t f f f t f"
d1 $ stack [
    struct (necklace 16 [3,5,4,2,1]) $ s "sd",
    struct (inv (necklace 16 [3,5,4,2,1])) $ s "bd"]

Assessment

Calculate the onset positions for necklace 8 [3,2,3] and write the resulting boolean pattern. How does IOI specification differ from Euclidean rhythm specification? Design a complementary two-voice pattern using a single necklace and its inverse.

“Another boolean pattern generator is `necklace`, which lets you specify such patterns according to a list of offsets (aka inter-onset intervals).”
corpus · tidalcycles-conditions-reference-every-whenmod-mask-euclidin · chunk 2