Block - Turing Machine 1.1

Random Looping Sequencer

(12 Votes)
1.1 (Updated 5 years ago)
October 05, 2015
Reaktor 6


Update 1.1: Added parameter labels (whoops!). Fixed manual click light on Gate button.

Another Block in Michael Hetrick's "Euro Reakt" series!

This is a Block based on Music Thing Modular's excellent Turing Machine ( The Turing Machine is an open-source DIY module that produces random sequences. It uses a shift register to store 8 binary bits, which are converted into an analog voltage.

To get started, plug a Gate (i.e. a clock source) into the GATE input. Plug the OUT output into an oscillator's pitch input.

So, how does it work? The red squares on the right side indicate the state of the 8 internal bits. Bit 1 (at the top) is the least significant bit, meaning it barely affects the sequence at all. Bit 8 (the bottom bit) is the most significant bit, meaning that it has a huge influence on the sequence. The bits in between are in increasing order of significance.

Essentially, whenever a bit is true (indicated by its square being larger), it will increase the amplitude of the output sequence. When all bits are false, the sequence output is simply "0". The sequence output is unipolar, so it goes from a minimum of 0 (all bits false) to 1.0 (all bits true).

Whenever a gate is received, the shift register advances. The state of BIT 1 is passed to BIT 2, BIT 2 is passed to BIT 3 (and so on). Finally, BIT 8 is passed back to BIT 1 via feedback. The PROB knob changes the probability that this bit will flip. THE PROB knob is functionally identical to the Turing Machine's knob: At full-clockwise (100%), the bits will *never flip*, meaning that you have a looping 8-step sequence. At full-counter-clockwise (-100%), the bit will *always flip*, meaning that you have a looping 16-step sequence. At center-detent (0%, or where you see the small white line on the knob), you will have the most random sequence possible.

When positive, WRITE 0 forces BIT 1 to be 0 (False) on the next incoming gate. WRITE 1 forces BIT 1 to be 1 (True) on the next incoming gate.

At the main OUT, there are 256 possible voltages. At the ALT OUT, there are 9. The SCALE knob affects the maximum amplitude of both of these sequences.

All 8 bits have their own G OUT, turning each bit into a gate. This allows you to replicate the functionality of the Turing Machine's PULSES expander. If you run all 8 outputs into a mixer, you can replicate the VOLTAGES expander (I may expand this Block to include this in the future).

Tip: Attach a square wave oscillator to the GATE input to create a crazy digital noise source...


erb kerb
2 years ago
Is there a way to send the gate pulses as midi out ?
pete meihuizen
2 years ago
very nice! how hard would it be to add the diff seq lenghts like the physical turing module? thanks
4 years ago
Michael, your Block is the heart of this patch: 16-bit rover ( thanks ...
4 years ago
I just uploaded a modifed version of this. I added two additional clocks to the Write-0 and Write-1 inputs on the Turing block. This gives some control over the Turing's random /previous-bit probability. Turn them on to control the turing more like a sequencer. Added a reverb for fun. Enjoy, and thanks for sharing Michael.
Bryce Upright
5 years ago
Michael...I was wondering, what are the numbers that can be changed on each step (1-16) Are these bits? Do did they represent the voltage outputted? I'm having a lot of fun with the randomness of this Block...just want to better understand the number aspect. Thanks :-)
Michael Hetrick
5 years ago
Hi Michael, that's hilarious! I love it. I'm happy to hear that these have been useful for learning, as that's been my primary goal. I'm working actively on the book, along with better ensembles. Looping AD is one of the biggest ones on my list, as Maths, Tides, PEG, etc. are my favorite modules in my hardware system. My Logic Mix Block already takes care of the OR/SUM/INV outputs from Maths. The Slew Limiter that comes standard with Reaktor 6 is pretty cool, but it only has one slew control (instead of separate controls for slew direction). In other words, there's still a lot of work to do!
Michael Julian
5 years ago
You need to watch your back; I've heard rumour that a bunch of Eurorack manufacturers are getting together the funds to hire a hitman to take you out, because you're putting them out of business with these free modules! Luckily for you, Expert Sleepers will probably pay for a bodyguard for you. Seriously though, this series of modules so far has been a real eye-opener, an extremely useful tool to have next to my modular synth. It's helped me to better understand some of my more complex modules, such as the Shapeshifter and Plog, and has opened my eyes to the potential of other modules, such as the Turing Machine here. The included .ens files have been very helpful in understanding some concepts that at first appeared complicated to me as a newbie to modular synthesis. Thank you for your efforts. If you're taking requests, I'd love a looping AD/AR envelope with variable curve on both stages. I'm sure that with that and some of your other modules, we'll be able to emulate a lot of the functions generated by Make Noise Maths.
Kimmo Kivelä
5 years ago
Martin Géč
5 years ago
Awesome blocks! Thanks.
neil rosson
5 years ago
OMG you have save me a few quid. Hopefully we see some MI & MN devices up hear.
Glyn Darby
5 years ago
Yet again Michael you have created a brilliant Block.Yet another good reason to sell my eurorack.