E 16’s Random Function




Random generated events are fundamental, because they add unpredictability and intrigue to my performances.
I chose to implement a random function generator into “E16” as opposed to the mathematical perfection of Euclidean Rhythms as well as to add a touch of my personality to the instrument, that is largely inspired to existing devices.

Although I’m always looking for the random function, I don’t enjoy when randomization is too chaotic. Instead, I like when I can tame it and shape it to fulfill my needs; when I can shift from total chaos to controlled order in a matter of seconds.
There are various reasons that motivate my preference; the main one is that I (and all of us) tend to loose track of something too chaotic. Because the direction is not clear, I/we simply loose interest towards it.

The main source of inspiration for my randomization system is the Moog Subharmonicon, whose sequencer triggers sound playback based on subdivisions of the master tempo. The simplicity of its apparatus and interface make it very appealing to me.
The few information found on Moog’s website inspired me to get straight to work.



“E 16” is able to activate or deactivate steps randomly based on a given tempo. Such tempo is derived by dividing or multiplying a set clock source. After various attempts, I went for having two options for the clock source:

  • a specific amount of time (free from the current BPM) set in seconds (1s, 2s, 3s, 5s, 10s)
  • the current BPM (converted in ms – quarter notes)

The main benefit of including the current BPM as a clock source is that the random generation of pulses is related to the master tempo. The main disadvantage is that it happens too fast. For this reason, multiplying the value does still make sense, while diving it probably doesn’t.

The heart of the patch is the “random” object, that generates random numbers within a specific range. Its output rate is defined by a “metro”, whose argument changes accordingly to the result of the aforementioned mathematical operation.

The first operand is the given clock source, that can be divided or multiplied to get a faster or slower tempo. The generation of random numbers happens quicker when dividing the incoming time rate and slower when multiplying it.

e.g. Time Rate = 1s / 4 = 0.25 s
                 1s * 4 = 4 s

Instead of separating the two operations, I merged them into a single one. Because it is possible to divide a certain number by multiplying it times “0.n“, divisions (1/2, 1/4, 1/6, 1/8 and 1/16) are derived by multiplying the given source by:

1/2 – 0.5
1/4 – 0.25
1/6 – 0.1665
1/8 – 0.125
1/16 = 0.0625

It is important to mention that the random function doesn’t trigger sound playback, but rather activates/deactivates steps in a random order. I have considered to implement playback as a second option for the user, but I removed it shortly afterwards because it sounded too chaotic and it wasn’t well synced to the rest of the pattern.
In fact, while the current configuration gives more consistency and logical sense to the performance, the second one introduces too much chaos. Although chaos is always welcomed by experimental producers and performers, it must be usable as well.


… stay tuned for further info!

Leave a Reply

Your email address will not be published. Required fields are marked *