Understanding logic gates in the context of a modular synth rig was a huge a-ha moment for me. I didn’t really know what Boolean logic was, or why it was useful to me. It seemed like the mysterious secret language that was beyond my comprehension. When I finally understood a little it really opened everything else up.
I was lucky enough to have the concept of digital logic explained to me by Jesse McCreadie from Animodule (which led to me purchasing my first logic module, the LogicOgic) – he really set everything out for me. I had a practical problem I wanted to solve: I wanted to start and stop a sequencer depending on a gate signal. I was already doing this with a VCA (more on this later), but I knew getting in to the nitty gritty of logic was really the way forward.
A bit of history; Boolean logic originates from the 19th-century work of George Boole, who formalised it as a mathematical system for reasoning with binary variables. In the mid-20th century, this concept became integral to circuit design with the advent of electronic transistors. Transistors act as switches, enabling the physical realisation of logical gates like AND and OR (more on these later).
Signal Basics
Primarily, logic gates work with triggers in modular-land. In an electronic circuit, we think of a gate being high or low. This is analogous to a computer where we think of binary states being 0 or 1, but in circuits this could be on or off, high or low, up or down etc.
Logical operations in electronics operate on binary values: 0 and 1. In modular synthesis, these correspond to voltage levels, typically low (0V) for 0 and high (a positive voltage, often +5 volts but it can vary depending on the module you’re dealing with) for 1. If you need a refresher of gates and triggers you can read this.
Logic modules process these binary states to produce outputs based on their defined rules (e.g., combining or comparing inputs). This allows synthesists to use gates, triggers, and control signals creatively, enabling complex patterns, event control, and decision-making within a modular system.
A signal being “high” could be a MIDI gate producing a voltage, an LFO being in the positive portion of it’s cycle, a trigger from a drum sequencer or some sort of clock generator etc.
The Big Three – NOT, OR, AND
These are the building blocks of all logic circuits. You’ll find these on basically every logic module. They can be combined in interesting ways to create more complex rhythms.
NOT or Invert
A NOT gate or inverter is a simple inversion of the incoming signal. Interestingly this is the only logical operator that takes a single input, whereas all of the gates below will take two inputs and compare them somehow. The NOT gate inverts its input, turning a 0 into a 1 and a 1 into a 0. In a modular system, this is often used to reverse a gate or trigger signal, flipping its state.
Truth Table:
Input | Output
0 | 1
1 | 0
Inversion can also be used to invert the polarity of a signal – I’ve often used an envelope follower to take the shape of a kick drum then invert the output and route that into the CV input on a VCA effectively ducking the audio signal routed to the VCA like a sidechain compressor.
Inverters might not be so sexy on their own but they’re crucial to getting the rest of the system working.
OR Gate
The OR gate outputs if either of its inputs are high. In a modular rig this is useful for combining signals where any active input triggers the desired output.
Truth Table:
Input A | Input B | Output
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1
OR gates can be found on Logic modules such as the LogicOgic I mentioned already as well as one of my favourite utilities the Low Gain Electronics Short Bus, which is an OR Combiner. This means it can take multiple inputs (up to seven) and route them either to output A or B.
Practically you can have multiple trigger generators, be that Pamela’s New Workout, the TURING Machine or a Euclidean Sequencer and have those triggers combined and sent around your system creating complex interacting rhythms.
OR combiners are a crucial part of how Steevio creates his modular jazz techno rig:
AND Gate
The AND gate outputs a high only if both of its inputs are high. This is often used in modular synthesis to ensure an output is triggered only when specific conditions are met.
Truth Table:
Input A | Input B | Output
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1
Previously to getting a dedicated logic module I’d used a Doepfer VCA to approximate what I needed. Here, I’d run a sequencer or trigger generator in to the input of the VCA and have a keyboard gate signal in the CV input, meaning that the VCA would only output when the keyboard was pressed. This was what really started my obsession with logic gates, seeing them like the clever plumbing that makes a modular do things that go beyond sequencing in a DAW.
AND gates can simplify or strip back rhythmic interactions. Where as an OR will increase the number of triggers outputted, an AND will mean having different sequencers firing off triggers, we can just output a trigger if both of those are hitting at the same time. Things can get a little tricky when different sequencers have different trigger lengths but let’s not get into that here…
Expanded NOT Gates – NAND and NOR
NAND Gate
The NAND gate (NOT AND) outputs the opposite or inverse of an AND gate—it outputs low only if both inputs are high; otherwise, it outputs high. In modular synthesis, this can be used to create signals when specific conditions are not met.
Truth Table:
Input A | Input B | Output
0 | 0 | 1
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
At first this used to fry my brain a little but weirdly getting the book Computer Engineering for Babies really helped me, as I need big arcade buttons and LEDs to make my chimp brain understand computer science concepts that have been commonplace since the 1950s.
Oddly it’s not something I often reach for but was reminded of this useful use case on Modwiggler by Entrainer (formatted for grammatical purposes):
When feeding clock divisions imagine 3 percussive elements.
When two are playing, the last one doesn’t.
If A is kick and B is snare
NAND would be my hi-hat
NOR Gate
The NOR gate (NOT OR) outputs the opposite of an OR gate—it outputs high only if all inputs are low; otherwise, it outputs a 0. This can be used in modular systems to suppress output unless all conditions are inactive. Similarly to NAND the applications are immediately obvious. It’s a not dissimilar idea to the sidechain compression idea I shared above, but instead of a signal compressing or attenuating a sound, you’re stopping the trigger from happening entirely, and crucially this could come from two different sources.
Truth Table:
Input A | Input B | Output
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 0
Let me know in the comments if you have some genius patch ideas for either NAND or NOR, I’m all ears!
Exclusive – XOR and XNOR
XOR Gate
The XOR gate (eXclusive OR) outputs a trigger only if only one of its inputs is high. I might use this to take two busier trigger pattern and simplify them. For example ensuring a bass note and kick don’t hit on the same subdivision.
Truth Table:
Input A | Input B | Output
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0
XNOR Gate
The XNOR gate (eXclusive NOR) is the inverse of the XOR gate. It outputs a trigger only if both inputs are the same (either both 0 or both 1). I don’t think I’ve ever knowingly used this!
Truth Table:
Input A | Input B | Output
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1
Comparators, Flip Flops and Sequential Switches
Comparators compare two incoming signals and output a high or low state based on their relationship. They’re used to trigger events or decisions, such as when one signal exceeds a certain threshold, useful for creating dynamic changes in a patch. One application of these is their use in semi generative patches – have some condition trigger event, especially if that condition is a slow or pseudo-random LFO.
There’s also a great thread on Modwiggler with a tonne of patch ideas here and a fantastic digital booklet of more ideas by Joranalogue.
Like many of the more advanced gates discussed here, comparators can be built from other logic gates:
Flip Flops can be thought of as a toggle – send it a high gate and it will go high, send it another high gate and it will go low, alternating or flip flopping between the two states. They are commonly found in clock dividers such as the 4ms Rotating Clock Divider. In-fact I learned recently that watches (as in the ones you wear on your wrist) use flip flop logic to sub-divide the quartz crystal!
A simple case use for a modular system is the “oom-pah oom-pah oom-pah oom-pah” kick / bass note you might hear in trance or a kick / open hi-hat heard in lots of house. The flip flop output on my LogicOgic has two outs – one for the “up” and one for the “down” that can be patched to different modules.
This is a good overview of the LogicOgic by DivKid:
Sequential Switches route a signal to different outputs in a controlled order, often step by step. They’re great for creating evolving patterns or routing signals through various processes in a timed or rhythmic sequence. Like the flip flop and comparator, they’re more of a switch in my mind.
I really love my SPUTNK MODULAR Selector, that can route one signal to up to four destinations, either sequentially or randomly. I’ll use this to spice up a MIDI sequence having different envelope shapes triggered at random by the Selector.
There’s a good mylarmelodies video on using sequential switches to make longer melodic progressions:
Also, while discussing ways to get effective hi-hat choke signals on Modwiggler, XODES suggested:
There has been a similar discussion on another topic recently, and it looks like, the least module consuming solution would be to use a VC switch like the Doepfer A-150 :
– CH trigger from sequencer goes to A-150 I/O1.
– A-150 I/O 2 is kept unconnected
– OH trigger from sequencer goes to A-150 CV as well as the OH trigger destination.
– A-150 O/I goes to the CH trigger destination.When the OH trig is low, I/O1 is selected, so the CH trigger goes to its destination.
When the OH is high, the A-150 would select I/O2, which remains unconnected, so nothing goes to the output and as the OH trig is multed to its destination, the proper sound is triggered.
Attenuverters and Offset
While these aren’t logic gates I lump them in with modular utilities. My favourite modules that do both of these features are MATHS and the ALM O/A (which I have two of because they’re so useful.
Attenuverters allow you to scale and invert a voltage signal. The name is a portmanteau of attenuator (reducing the signal strength) and an inverter (inverting its polarity).
By adjusting the attenuverter’s control, you can fine-tune a signal’s amplitude or reverse its direction, making it crucial for shaping modulation signals or balancing CV inputs.
These are great when working with the output from a not quantised sequencer or random voltage source, or scaling an LFO size before it modulated a filter cutoff.
Offset adds a fixed DC voltage to a signal effectively shifting its baseline up or down. This is useful for ensuring signals fall within the desired voltage range, such as moving an LFO from a bipolar range (-5V to +5V) to a unipolar range (0V to +10V). Together with attenuverters, offsets provide precise control over voltage levels, enabling flexible modulation and signal manipulation in a modular setup.
You can read more about MATHS here: