
Feature: The world of modular computing
An introduction to analog computing with qetu
In recent years, the pre-digital world of analog computing has made a comeback with devices like Anabrid's THAT analog computer.
As you might have noticed, these devices not only look a lot like modular synths, but are based around voltage-based functions familiar from the world of modular synthesis like inversion, multiplication and comparison — meaning that it is in fact possible to "build" your own oscillator and filter audio circuits by patching together low-level analog computation functions, no soldering required.
After buying a THAT and playing around with audio applications a few years ago, the Germany-based "modular computing" enthusiast and Modwiggler user qetu then started to investigate if this kind of circuit-patching was also possible within the world of Eurorack, soley using common commercial modules, without a need for a dedicated analog computer device — and the answer is yes!
Looking to introduce more people to the concept of modular computing, qetu then also recently recently gave a workshop on the topic at SchneidersLaden in Berlin and will have a dedicated booth at the SuperBooth25.
Intrigued and wanting to learn more, we reached out to qetu with some questions ahead of the Superbooth25, and the resulting Q&A should make for a great primer for anyone interested in diving into the world of modular computing!
Can you say what you mean by “analog computing”? What is the difference between analog computing and the digital computing that we find in our phones and laptops?
Qetu: When using a digital computer to solve a problem, you have to find the right algorithm and turn it into a program, which is then executed on a processor and at each clock cycle, the next instruction will load some data from memory, process it, and store the result back into memory.
An analog computer on the other hand has no processor, no clocking, no memory, and it doesn’t work on algorithms. While analog computers usually operate with analog voltages, their name refers to the fact that they have to be built and patched as an analog of the problem to be solved. You have to connect their basic functional elements yourself to form the kind of machine that suits your needs for a given problem. So analog computers work very similarly to analog modular synthesizers in that sense — they both stem from the same era after all!
What are the main functions of analog computing?
While there are some more advanced functions, in most cases you get away with just adding/subtracting, inverting, multiplying, integrating (collecting voltage changes over time) and comparing (selecting between two signals by means of a third input). It’s important to understand that these functions do not operate on static numbers, but on fluctuating voltages, so the “result” or output will also be a fluctuating voltage.
The classic domain of analog computers lies in solving mathematical problems or simulating physical processes, but my interest lies in using these functions to build typical synthesizing functions like oscillators, filters and waveshapers “from scratch” in a way that requires no deeper knowledge of electronics.
How do you go from low-level functions like inversion and multiplication to building more complex things like an oscillator?
Basically there are two strategies. One is “arithmetic”, which is the classic way of analog computer-programming, and the other is “constructive”, which builds a workflow from the analog computing elements more directly.
If we look more closely at what an integrator does, I can give a simple example for each approach. An integrator collects the voltage that you feed into it over time. Its voltage level rises when it is fed positive voltage, and it falls when it is fed negative voltage — a low positive voltage input results in a slow rise, a higher positive voltage input brings a faster rise etcetera, so its current voltage level is the integral of the voltages that went into it over time.
Thus, an “arithmetic” approach can be taken to create a (quadrature) sine oscillator from an integrator. Since the integral of a cosine is roughly a sine, and the integral of a sine is a negative cosine, you can construct a simple feedback loop by sending an integrator’s output to a second integrator, sending the second integrator’s output to an inverter, and then feeding the inverter’s output back to the first integrator.
The resulting analog computing feedback loop will then “find” the lowest energy waveform that is consistent with the operational elements of the loop, producing both an oscillating sine wave and a 90-degree phase-shifted sine wave at the two integrator outputs. And this really works!
With a “constructive” approach, we can create a triangle core oscillator with the following idea: if we cyclically load and unload an integrator — always switching when we reach the integrator’s maximum or minimum capacity — the output of the integrator will produce a triangle wave over time.
Please note that both of these examples are well-established circuits and not my own invention!
What kinds of more complex circuits have you built with this approach so far?
I have extended the triangle core oscillator example above with “thru-zero” FM capability and a sawtooth output. This was a great way to explore the fascinating idea of oscillators being able to deal with “negative frequencies” from the Electronotes EN129 paper. While I have no understanding of the schematics published there, the textual descriptions have helped me in building a TZFM effect with basic analog computing functions.
I recently managed to get a “nonlinear chaos” oscillator circuit that I found on the analogparadigm site working. In the process, I ironically learned that nothing requires more precision than correctly finetuning a chaos generator!
(qetu's chaos oscillator patch)
How did you get first interested in low-level modular synthesis — was it through the “patch programming” you find in many Serge modules?
Although I was always aware of Serge as one of the legendary early synth manufacturers, I actually only learned about the Serge “patch programming” philosophy recently.
For me, it all started when I ordered a THAT (The Analog Thing, a simple analog computer) three years ago and tried to turn it into a synthesizer — manually patching all my oscillators, waveshapers, slew limiters, mixers and lowpass filters from low-level functions. So when I came to Eurorack, I naturally became curious if it is possible to do the same thing in the Euro format.
How does your approach differ from the Serge approach?
While the Serge modules require patch-programming, they are still designed with sonic applications in mind. So for example, the Serge DUSG (Dual Universal Slope Generator) already comes prepared for sonic tasks with features like a 1v/octave input and exponential/logarithmic controls.
But when limiting yourself to only the most fundamental analog computing elements like I am, you start on an even lower level than with the Serge modules. This gives you more flexibility, but it also requires a bigger investment in terms of modules, rack space and research time, with results that probably won't sound as good. So it is less practical in that sense, but for me it is mostly about the fun of exploring these possibilities and learning more about the basic workings of analog modules and circuits!
Is there anything especially interesting that you have learnt about synthesis in your analog computing journey so far?
Just to give one example, when I first looked at the patch diagram for a certain kind of low pass filter I finally understood why this kind of filter can self-oscillate: because a part of the filter circuit is the very same circuit that produces sine waves!
I also enjoy finding creative ways to use modules for unintended purposes, like using a clock divider as a flipflop, or using a gate logic module as a "poor man’s comparator". I have also used a matrix mixer as a four-fold sine wave phaseshifter, and a Doepfer A-188 BBD delay module as a very weird kind of analog shift register.
And I don’t know if this counts as “synthesis”, but I have sucessfully connected two Doepfer Theremins to my PlayStation 5 via the PlayStation Access controller and can steer my favorite racing game via the Theremins — albeit with no hope to ever see the finish line!
You’ve mentioned that you use regular commercial Eurorack modules for your analog computing rack. Are there any modules you have found especially useful in that respect? What modules would you recommend to someone interested in diving in?
The most important thing is to use modules that are DC-coupled, so that they can also deal with slowly changing or constant voltages.
For addition and subtraction, the Doepfer A-185-2 Precision Adder is great. You can select for each input if it should be added or subtracted, you get the positive and inverted sum, and all outputs are buffered. There are also many other suitable modules, for example the Intellijel Unity Mixer or the Joranalogue Add. Just make sure to get a “precision” or “unity” adder, since typical mixers tend to reduce the inputs to avoid clipping.
For inversion, many utility modules come with inverters. I am using the Doepfer A-138j Janus Mixer’s four inverters.
For integration, the only true Eurorack integrator module I have been able to find is the Ladik J-130 Integrator. I like the fact that is has overload indicators and multiple speed ranges. Note that while slew limiters are often called “integrators” in the Eurorack world, this is misleading, since they contain hard-wired feedback that you might not be able to get rid of.
For comparison, I have not yet found the perfect comparator module for my purposes. The Doepfer A-150-1 Dual VC Switch would be perfect if it would switch at exactly 0V instead of ca. 3V. Another approach would be to use a comparator with gate outputs — like the Ladik J-120 Comparator or the Joranalogue Compare 2 — and to then let the gate outputs do the signal selection via separate VCAs.
For multiplication, I am using the Doepfer A-133-2 Dual Polarizer as (dual) multiplier. There are also modules on the market that are specifically aimed at multiplication like the Elby Designs IF101 or the Beers VCA/4QMx2.
You will also need some kind of oscilloscope, ideally with an x/y mode — not only for checking outputs and “debugging”, but also because the outputs will often look really beautiful, especially with an old-fashioned CRT scope!
Do you think there is a market gap for a commercial module specifically dedicated to this kind of analog computing?
I hope so! I would really like to pitch an idea for such a module — maybe an ambitious module maker is reading this! The idea would be to have a single module that contains one of each of the basic building blocks we went through. Then, even with only one such module, you could already build a triangle core oscillator. With a second one, you could build a quadrature sine oscillator, and a third opens the world of chaotic oscillators, and much more of course! It would be a great universal low-level module and fantastic as a practical teaching device and general synth nerd playground.
What kind of things or ideas would you like to explore more or experiment with in the future?
I would love to add a Serge GTO or GTS to my rack and combine the worlds of Serge patch-programming and low-level analog computing. I have also started investigating how I could patch a (partial) imitation of the Serge DUSG. I am also looking forward to trying out other patch ideas, like a multi-mode filter, a triangle-to-sine waveshaper, or a PLL (phase locked loop) as described in this great resource by Michael Koch.
Do you have any last words?
If you have any questions or feedback — I would love to hear from you!
You can contact qetu via the Modwiggler forum. For those visiting the SuperBooth this year, you will also be able to find them at their own booth B041 in the Bungalowdorf!