musique/examples/rhythm-of-primes.mq
2022-08-29 21:45:17 +02:00

39 lines
977 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)
--------------------------------------------------------------
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))); ];