AO Rungler AO Rungler

This is a rungler module in Kosmo format.

Rob Hordijk developed the rungler, including it in his well known Benjolin synth. (He also designed a synth module called Rungler, but it is somewhat more elaborate than the Benjolin rungler used as the basis for this module.) It is a control voltage sequence generator based around a digital shift register, somewhat resembling the well known Turing Machine module. Unlike the Turing machine, the rungler is deterministic, not random, though it is unpredictable enough to render the distinction somewhat moot.

It takes two inputs: A clock to advance the sequencer to the next step, and an input signal which governs when new bits are injected into the shift register. The clock is normally a periodic gate or trigger, but either signal can be periodic or not, and can be binary (gate, trigger, or pulse/square wave) or otherwise (ramp, triangle, sine, whatever). As long as the clock signal goes above and below a threshold of about 1.2 volts it will cycle the rungler. The input will affect the sequence as long as it goes above and below a threshold that can be anywhere in the range -9 V to +9 V, set by a knob on the front panel. The threshold knob does nothing very useful if the input is binary, but can have an effect when using non binary input signals.

Also on the front panel are:

  • A feedback switch. This enables or disables sending the output of the last stage of the shift register to be XORed with the input to determine the next bit to be loaded in. Feedback on is the “normal” configuration, hard wired in the Benjolin, but you may find it useful to turn it off sometimes.
  • A loop offset switch and knob, as introduced (I think) by Tseng Kweiwen. When the switch is turned on, the knob controls a DC voltage level to be mixed with the input. When fully counterclockwise or clockwise this DC level dominates, so the input does not affect the shift register and the result is a repeating loop of length 8 or 16 clock pulses, respectively. (Feedback must be turned on for this to work.) When centered, the rungler operates in its normal mode with the inputs XORed with the fed back signal. Somewhere above the center position it switches to a mode where the output is simpler and more repetitive, but does change now and then. Somewhere below the center position the output becomes a DC level.

The input threshold knob and the feedback switch are modifications not typically seen in Benjolin or rungler builds.

There are two copies of the output sequence available on front panel jacks. Two more jacks provide GATE, the state of the last stage of the shift register, and the XOR of the input and GATE (as 0 and ~5 V levels). Indicator LEDs show the state of the clock, input, GATE, and XOR.

Git repository

8 Likes

another curveball from AO, interested to see how this one works compared to the benjo, not that I understand the concept at all.

2 Likes

Very excited for this one as well.

The concept is: Clock is just like on a typical CV sequencer, or a sample and hold: It tells when the module should step to its next output level.

Data is interpreted as a logic True/False (On/Off, 1/0 bits), depending on whether it’s above or below a threshold. It’s exclusive or’d with a thing called Gate and the result of that XOR goes into an 8 bit shift register, which is advanced by Clock.

The last 3 bits in the shift register — the bits that were shoved in from 6 to 8 clock pulses ago — are converted with an R2R DAC to an analog level which is sent to the output. It being 3 bits resolution, there are 8 possible output levels.

And the last bit in the shift register — the one that was shoved in 8 clock pulses ago — is the thing called Gate. So this gives feedback that complicates the behavior. Here’s a spreadsheet showing how a simple Data input that is in sync with Clock with a period of 3 pulses results in a much more complicated output with a period of 24 pulses.

Things get even more complicated in the Benjolin where Data and Clock are not synchronized, and one of the two oscillators provides Data and the other provides Clock, so the oscillators control the rungler… but the output of the rungler goes into the CV inputs of the oscillators, so the rungler controls the oscillators…

3 Likes

This looks very interesting! Will there be a video about it on my favourite synth DIY channel?

2 Likes