project name: moonraker
project url:
author: infinitedigits
description: explore a galaxy of rhythm
discussion url:
tags: drum grid


explore a galaxy of rhythm.


this is a deviation/fork/sequel/derivation of goldeneye (thank you @tyleretters for your illustrious goldeneye script and providing the most perfect of names for this script!).

rhythms are generated using random selections of drum samples with stochastic patterns that emerge from modulo math and also continually evolve through periodic mutations.



quick start

press K3 to start. press K2 to regenerate beat.

save beats with K1+K3 and return to them with K1+K2.

the user manual

turn the PARAMS > mutation rate to 0 if you want to completely freeze the pattern. otherwise patterns will continuously change…forever.

the technical manual

moonraker has eight banks (kick, snare, rim, hat, ride, shaker, perc, risers) each containing 112 samples, for 896 samples in total. each sample is initiated with random characteristics (lpf cutoff, hpf cutoff, attack, decay, sample start, pan, amplitude, delay send, reverb send). upon regeneration, samples are randomly activated (or activated with E1).

during playback, each beat is counted and a modulus is computed against each active sample. each sample contains modulus numbers and inverse modulus numbers. an active sample is played when any modulus number computed against the current beat has no remainder. however, the inverse modulus do the opposite - whenever their computed modulus has no remainder then the playing of the current active sample is reversed. the randomly assigned modulo numbers are all prime numbers (with exception for two numbers: 1 and 4). modulo numbers are randomly changed at a rate corresponding to the PARAMS > mutation rate.

using the grid

the grid is optional. using it will allow you to edit the parameters of specific samples. here is a short tutorial on how to use the grid.



thank you @rebuspop for the amazing Grid layout tutorial!


install using with


after installing, make sure you install the 100 MB of samples with this command in maiden:

os.execute("cd ~/dust/audio && echo 'downloading...' && wget -q && unzip && rm; echo 'ready (make sure to restart)'")