41 lines
963 B
Plaintext
41 lines
963 B
Plaintext
--------------------------------------------------------------
|
|
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)));
|
|
);
|