musicality.compositions.2021-01-03-14

E

(E k n)
Evenly distribute K beats among N subdivisions

map-pc-sets-over-ints

(map-pc-sets-over-ints carrier prog)
generates a chord progression based on a carrier scale
of ints and seq of tuples of [1-based-root pc-set]

pc-set->ints

(pc-set->ints pc-set-id rot n0)(pc-set->ints pc-set-id n0)
given either the index of a pc-set or a keyword of a common pc-set such as :maj, rotate the pc-set by rot.
if a :common-rotation exists for the pc-set, initially rotate accordingly then apply rot

pc?

(pc? x)

play-random-chord

(play-random-chord pc-count n0)

play-random-scale

(play-random-scale pc-count n0)

rand-pc-set

(rand-pc-set pc-count n0)
returns a map containing 
:pc-set - record from pc-sets
:ints - result of applying pc-set to n0

recombine

(recombine a b)(recombine a b c)(recombine a b c & more)
Distribute tail: [[1] [1] [1] [0] [0]] -> [[1 0] [1 0] [1]]

send-chord

(send-chord coll beat sub-beat)(send-chord coll beat)(send-chord coll)

send-scale

(send-scale coll)

split-seq

(split-seq s)
Extract a tail of all same elements: [1 1 0 0 0] -> [[1 1] [0 0 0]]

to-octave

(to-octave x o)