The grid of ZOIA has always had some allure as a sequencer programming interface, but the issue of resolution always plagued me. If we use each column as a step in the sequencer, we’re limited to just five notes, which doesn’t offer a lot of variety.
Program8 expands that by allowing you to select two adjacent buttons in each column, bringing the total number of available notes up to nine (with rests as a tenth option).
It is still just a simple, eight-step sequence, but I find the programming interface quite fun to play with. It’s very easy to write a sequence, and very easy to modify that sequence once written. Just press a square in a column, or two adjacent (above or below) squares to create a note. Press the top and bottom square to create a rest.
Unfortunately, to determine which button does what requires a lot of logic, so this patch only runs on 3.00, as it makes heavy use of XOR gates to differentiate buttons in a column. There is a demo synth included in the patch (that I quite like, actually, although that may just be a result of hearing it a lot as I worked on the patch).
There is also a slight lag (~60 milliseconds) between pressing a button and having the step change; this is so when the sample and hold which controls the column is updated, it knows exactly what buttons are being pressed. I tried to find the happy medium between immediacy and accuracy, but if you wanted to adjust this, there is a CV delay module on each column’s logic page that can be changed.
The range of notes is defined on the second page with a HIGH and LOW note, as well as a QUANTIZER that can be used to change key/scale.
Rather than define each of the nine specific notes, I thought the interface really worked better as sequencing via relationship, higher or lower frequency. The quantizer makes sure these decisions always remain in key.
You can also TRANSPOSE the entire sequence. The transposition is quantized as well, and it is only sampled at the beginning of the sequence.
There is a LENGTH control, if you want to make the sequence shorter than eight notes.
There is a TAP TEMPO input (the patch also accepts CV clock and MIDI clock). You can also apply SWING to the tempo, both positively and negatively.
You can change the COLOR of the notes — I refer you to the Module Index entry on UI buttons for definitions of each color’s range, but generally, they ascend as 0-.0375, .0500-.0875, etc.. so you want to set this control to something that isn’t in that nebulous region between colors (e.g. .0480). The note being played is always white.
As I mentioned above, there is a very simple demo voice, that uses a sine wave with its duty cycle adjustable and modulatable (by the amp envelope).
DUTY CYCLE sets the base duty cycle of the sine wave; generally toward 0 or 1, it increases in harmonic complexity.
The DUTY CYCLE ENVELOPE AMOUNT lets you apply the amp envelope to the duty cycle parameter. This can “clip” as it goes above or below 0 or 1, respectively, which can produce some interesting textures. Because the duty cycle determines the harmonic complexity of the waveform, this modulation can also sound like a filter sweep in some settings. In general, the synth voice is quite lo-fi and aliased, with lots of artifacts. ATTACK and DECAY set the shape and duration of the envelope.
If you don’t want to use the demo voice, I would recommend deleting it, as there is very little CPU overhead (at least running on Euroburo); the page it is located on is labeled.
Clock — allows you to send a steady clock source to the patch (changes in clock speed will require recalculation; you might get interesting effects from changing the speed of your external clock, but they won’t be tracked exactly)
Transpose — (with an attenuverter on the control page) allows you to transpose the sequence. By default, this input is set to -5V to +5V, as I think it is more interesting to modulation the transposition with something like an LFO, but if you wanted transpositions to track V/oct, change this to 0 to 10V and open the attenuverter all the way
Pitch — transposed to C
Gate — 0 to 10V
By default, the MIDI output is set to channel 1. You can change this on the MIDI note out module, found on the page labeled “MIDI.”
The audio output for the synth is from the right output.