-------------------------------------------------------------- Inspired by Marc Evanstein video "The Rythm of The Primes" Link: https://www.youtube.com/watch?v=8x374slJGuo This program will iterate over natural numbers, playing chords based on which prime divides given number. This results in following execution: step: 2 3 4 5 6 7 8 9 10 1 1 1 1 1 2 2 2 3 3 where each index corresponds to specific note from scale. Assuming scale [c,d,e] example above would be step: 2 3 4 5 6 7 8 9 10 c c c c c d d d e e which would resolve into: play c d c e (c & d) c d (c & e) -------------------------------------------------------------- Length := 40, cmajor := (c,d,e,f,g), scale := reverse cmajor, primes := nprimes (len scale), indicies := up (len scale), oct 3, len (1/16), for (2 + up Length) ( i | play (chord scale[indicies[i % primes == 0]]), ),