-------------------------------------------------------------- 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) -------------------------------------------------------------- var Length = 20; var cmajor = [c;d;e;f;g]; var scale = reverse cmajor; var primes = nprimes (len scale); var indicies = up (len scale); oct 3; len (1/16); for (2 + up Length) [ i | play (chord scale.(indicies.(i % primes == 0))); ];