Polyphonic Modular Synth: Classic Approaches

Voice Allocation Tactics + Analog Shift Registers

Ryan Gaston · 06/15/21

The polyphonic modular synthesizer...it's a complex topic. Many users come to modular from the world of keyboard instruments, and they often want to bring concepts and workflows from the keyboard world into their modular ventures. There's absolutely nothing wrong with that—part of the beauty of a modular synth is that it allows you to cherry-pick all of the aspects of music-making that are important to you and consolidate them into a single, unified, highly personal instrument. But of course, some things don't always translate easily. If you're used to working with keyboard synths, you'll quickly realize that many aspects of a keyboard synth's behind-the-scenes internal workings can be difficult to implement in a modular system. Implementing polyphony is one common pain point in shifting between these distinct workflows.

But good news—it's definitely possible! And even better, there are plenty of ways to expand on the polyphonic potential of the keyboard world and discover new means of generating and using harmony in your music. If you haven't read our recent overview of synthesizer polyphony, I'd strongly recommend checking it out first for some background, and of course, our other article about new approaches to implementing polyphony in Eurorack synthesizers.

Where that article focuses heavily on tools that generate polyphony with digital assistance, though, we're now going to focus on some slightly more old-school approaches. So if you're trying to go all-analog, or if you're just looking to pick up some interesting patching tricks, read on.

A Quick Recap: The Problem With Modular Polyphony

So, why is it generally considered to be difficult to implement polyphony in an analog modular synth? Well, the reasons basically boil down to two key problems: problems implementing voice architecture, and problems in decoding control information. Issues with voice architecture basically break down to matters of space, cost, and variety. To build a polyphonic analog synth, you first need to decide: A) How many voices you want, and B) What each of those voices should contain. How many oscillators does each voice need? How many filters? How many envelopes? How many VCAs? Do you need an LFO for each voice? Or will a single, global LFO suffice?

Because the quest for analog polyphony is typically about having some semblance of similarity between your individual voices, and because a single analog module can really only perform one task at a time, you can expect a duplication of resources based on your preferred voice count. For instance, if you want to build a four voice synth with one oscillator per voice, you obviously need four oscillators—if you want two oscillators per voice, you'd need eight oscillators. And that's why we start to hit a brick wall in terms of space, cost, and variety. A polyphonic analog modular synth requires a lot of duplicated resources—which can pull away from a system's overall variety (another key reason people get into modular synths in the first place). And of course, the more features you add per voice, the larger and more costly your system becomes.

A polyphonic Doepfer system, from NAMM 2018 A polyphonic Doepfer system, from NAMM 2018

I must note here that the journey toward a polyphonic Eurorack system is not new—and plenty of instrument designers have come up with their own ways to address it. One of the most thoroughly thought-out approaches comes, as should be no surprise, from the fantastically thorough Dieter Doepfer. Doepfer offers an extensive series of "quad" modules, each offering four of a single function behind one panel. This is a super straightforward way of implementing polyphony in an analog modular system—so if you're looking for a four-voice instrument, checking out his modules will yield loads of options for creating a voice structure. There are lots of other "quad" modules out there that you'll no doubt find handy in this quest—Intellijel's Quadrax and Quad VCA, for instance, make stellar envelope and VCA/mixer choices for a polyphonic setup.

The second potential issue, though, is the matter of decoding control information. Luckily, there are a lot of solutions for this particular problem—but they all hinge around your preferred means of interacting with the instrument. For instance, let's say you want to use a touchplate keyboard like Make Noise's 0-Ctrl or Verbos's Touchplate Keyboard, but you want them to behave polyphonically—your approach might be different from the person who strictly plans to use a sequencer, or an external MIDI keyboard. The problem with many CV-capable modular synth controllers is, of course, that their outputs are monophonic: if a controller has a single CV/Gate output for the entire control surface, then you can't get it to report data about multiple independent "keypresses" (individual notes) simultaneously. (That said, there are workarounds...keep reading for some creative ideas for getting around this problem.)

The problem of building a suitable control structure is a bit less straightforward than the matter of planning out your voice architecture. As such, I'm going to use the rest of this article to detail some creative ideas about how to relate common modular control structures to a polyphonic voice architecture—some of which might lead you to musical possibilities that you might not otherwise expect.

The First Approach: The Easy Way!

So let's start with the simplest solution—happily, it's simpler than you might think. It lies in that famous communication protocol for musical information: MIDI.

Over the last several years, many instrument designers have introduced MIDI to CV converters that provide some provision for polyphonic functionality. Prior to this, implementing conventional keyboard control of a polyphonic modular system was tricky, if not impossible in many circumstances: after all, "full polyphony" requires an independent pitch CV and gate for each note, which is impossible to extrapolate from many CV-capable control sources—which traditionally only provide one (or in some cases two) CV/Gate output pair.

Most polyphonic MIDI-CV converter modules use a round-robin output scheme with voice stealing—this is a fairly typical approach for providing as satisfactory a polyphonic playing experience as possible. "Round robin" simply means that new keypresses on your controller will be sent sequentially to the next unoccupied CV/Gate output pair in question—so if you hold down one note, subsequent keypresses will be distributed between whatever set of outputs aren't currently occupied with notes that you're still physically playing. "Voice stealing" means that, in situations where you're holding down more keys than your MIDI-CV converter has outputs, new keypresses will terminate the "oldest" notes and take over the appropriate outputs. On several polyphonic MIDI-CV converter modules, these behaviors are somewhat customizable, making it possible to set up according to your personal needs or preferences.

Of course, you don't necessarily need to use a keyboard to make use of polyphony in this context—round robin behavior means that using a monophonic MIDI controller like a wind controller or conventional MIDI sequencer can still make use of this data and distribute it sequentially to each of your individual synth voices.

Many such controllers also have extra outputs for per-note velocity, or configurable outputs for sending pitchbend, CCs, or aftertouch data on a note-by-note basis. For simple, straightforward polyphonic MIDI-CV conversion, I'd strongly recommend the Doepfer A-190-5 or Mutable Yarns (recently discontinued). For some of our favorite super-flexible MIDI to CV options, check out the Expert Sleepers FH-2, Endorphin.es Shuttle Control, and others. The world of MIDI-CV converters is a deep rabbit hole, as many of them are highly multifunctional devices—so spend some time researching to find which one's feature set best suits you.

Approach 2: Sequencers + the Modular Omnichord

Outside the use of MIDI-CV converters, though, there are plenty of ways to explore novel approaches to polyphony in modular synthesizers. One of my favorite simple patch ideas along these lines involves the use of a multi-track sequencer and either a separate gate sequencer or a sequential switch.

Omnichords rule. Hear me out Omnichords rule. Hear me out

So the basic patch is really straightforward. Many conventional analog step sequencers have a fixed number of stages and several independently definable voltages that correspond to each step—so whenever the stage changes, you can make several different parameters change all at the same time. Great historical examples of this include Moog's 960, Buchla's 245 and 246, and Serge's TKB—a favorite modern examples is the Make Noise 0-Ctrl, which combines aspects of each of these classic devices into a single, compact unit. There are plenty of devices that can do similar things, but for the sake of this discussion, I'll refer to the 0-Ctrl as an example.

So if you have three oscillators, you can use each row output from the 0-Ctrl to separately control each oscillator's pitch. When you do this, you turn the 0-Ctrl into a simple chord machine—by intentionally tuning each of the values for each stage, you give yourself the ability to quickly and reliably access up to eight distinct chords. This creates something like a modular chord organ (did anyone else ever play a Magnus chord organ? Those things are sick).

Okay, so we have pitch under control now—but what's the next step in defining how a polyphonic synth behaves? Well, you need to make decisions about the articulative structure. One option would be to combine all of the oscillators together with a mixer and send the sum along to a filter/amplifier, and use the 0-Ctrl's touch gate output to trigger envelopes that control details like filter cutoff, loudness, etc. This articulative structure is something similar to what is now commonly called "paraphony." But, being that we're talking about modular synthesis, this is not the only option.

One fun alternative is to think about ways to separately articulate each individual oscillator, breaking away from the pseudo-paraphonic approach toward something more like how we typically think of polyphony. First step is to add an articulative structure to each oscillator—keeping it simple, you could just use an envelope and VCA or LPG for each oscillator. Then, you just need to come up with creative ways of triggering each of your envelopes. One of my favorite approaches is to use independent manual gate sources for each—could be a button, or the individual stage gate outputs on a controller like 0-Ctrl. If you connect each of these gate outputs to the envelopes for each voice, suddenly you have the ability to play each note of your chord with separate articulation.

A similar patch using a Make Noise DPO and Strega controlled by Make Noise Pressure Points and 0-Ctrl

Another fun approach is to use something like Doepfer's A-152—by patching three individual gate outputs to the three separate envelopes in this patch, you can come up with a lot of ways of triggering them independently. A particularly fun way is to use the address knob to manually sweep through the output stages—or to use an external slider or joystick to modulate Address via the CV input. With this patch, you've got something like a modular Omnichord—you select your chord by pressing the touchplates on the 0-Ctrl, and "strum" the chord by using your external control source. Of course, using a gate sequencer or unsynchronized square wave LFOs to trigger the envelopes provide alternate variations on this idea—there's a lot of potential territory to explore.

Approach 3: Sequential Voice Allocation

The quite rare Buchla 264 Quad S+H / Polyphonic Adaptor module, via modulargrid.net The quite rare Buchla 264 Quad S+H / Polyphonic Adaptor module, via modulargrid.net

Though fairly easy to accomplish with a set of basic tools, the approach above is a fairly non-standard way of implementing polyphony (as cool as Omnichords and chord organs are). Let's say you wanted something that more directly mirrored the process playing a polyphonic keyboard synth in your analog modular synth...how might you do it? One answer lies in a specialized sort of module that combines multiple Sample & Hold circuits with a sequential switch, specifically for the purpose of performing voice allocation from monophonic control sources.

One of the earliest forms of this sort of module was actually part of Buchla's 200 Series ecosystem in the early 1970s. Buchla's 264 Quad Sample and Hold / Polyphonic Adapter was partly intended to act as a way of interfacing the system's monophonic control sources (such as the 217 Multiple Touch Controlled Voltage Source) and other CV/pulse sources to distribute pitch CV and pulses polyphonically across several voices—acting like a crude voice allocation system. To do that, you'd set the Polyphonic CV Input to "common," select your preferred number of voices, and patch your control source's CV and pulse outputs to the respective Polyphonic Inputs. Every time a pulse is present at the pulse input, a few things would happen: a pulse would be produced at each gate output (in order), and the Control Voltage Output corresponding to the current Pulse Output would update with whatever voltage is present at the Common CV Input. When the next pulse comes along, it advances to the next set of outputs in round-robin fashion, and suddenly, your monophonic keyboard/sequencer/other control source is capable of polyphonically addressing multiple distinct voices.

The catch? As soon as a new voice is triggered, the pulses (gates) for the most recent voice is released—so you can't hold down a chord and expect each independent note to sustain. But if you're using one-shot envelopes that don't have a Sustain stage (or if you're just okay with old notes starting to decay as soon as new notes come along), then this shouldn't be a problem. It's a pretty cool workaround.

Arturia Keystep and Intellijel's Shifty used as a polyphonic voice allocator, with a different timbre for each voice

Of course, very few of us have a Buchla 264 lying around, but happily, there are some very direct alternatives available in Eurorack format. Intellijel's Shifty is an obvious contender—in fact, this style of voice allocation is its primary purpose. Just set your number of voices, send a CV/Gate pair to its inputs, and you get up to four voices' worth of sequential CV/Gate routing to work with. Shifty also allows you to select the voice allocation direction—so your voices can advance upward, downward, in pendulum motion, or randomly, making for several ways of creating interesting note distribution patterns.

Shifty isn't the only Eurorack module that can do this, though! Another personal favorite is the oft-overlooked and highly multifunctional Doepfer A-152 (mentioned in our "Omnichord" patch above). Referred to by Doepfer as an "Addressed Track & Hold / Switch," it's really no wonder that this module is something of a sleeper...but it is remarkably powerful. You can think of the A-152 as having three primary sections that all share the same controls. The first column of jacks is a 1:8 or 8:1 sequential switch: you can select the current active stage either by advancing with clocks to the external clock input, or you can address with a combination of the manual Address control or the external Address CV input. The other two sections share the same stage selection logic. The second column of jacks is itself a 1:8 sequential switch combined with eight Track & Hold circuits (one for each output); and the final column is a set of gate outputs, where the gate is high at the currently selected output and low at all the other outputs. Likewise, the individual T&H outputs track the input only while that particular stage is selected—otherwise, they hold the voltage that was present whenever that stage was navigated away from.

This module has a ton of potential uses...but using it as a polyphonic adaptor is quite similar to how you use Shifty. Basically, by plugging a control source's CV output to the Common T&H Input and the controller's gate output to the Clock Input, your T&H outputs become individual voice CV outs, and the Digital Outputs become each voice's individual gate output. You select the number of voices simply by patching from a Digital Output into the Reset Input. Say, for instance, you want to work with four voices—simply patch from the fifth CV output to the Reset Input and stages from 5–8 will be ignored.

That said—your mileage may vary! Analog T&H circuits do droop over time, and tuning with the A-152 might not be entirely spot-on. Pairing it with a multi-input quantizer like ADDAC's 207 can go a long way, though, in cleaning up less-than-perfect tuning signals. Shifty, on the other hand, is pretty dang accurate...so if you're primarily looking to add a module for sequential voice allocation, Shifty is a more compact and more direct solution. If you want a module that can do a lot of other interesting things—sequential switching, manually sweepable signal distribution, etc.—A-152 is an absolute blast.

This method of polyphonic voice allocation in modular systems is a blast. It can be particularly interesting to slightly differentiate between the timbre of each voice (perhaps by choosing different oscillator wave shapes, etc.), and to play repeating patterns of notes to hear a timbral hocketing effect where parts of the melody are allocated to different voices each time through the pattern. This is especially fun when the number of voices and the length of the pattern are not integer multiples of one another—yielding a pitch/timbre pattern whose length is equal to the voice count & pattern length's lowest common multiple. For instance, try addressing three voices with a five-note repeating melody (for a 15-step timbral pattern)...or three voices with a two-step melody (yielding a 6-step timbral pattern)...or four voices with a seven-step melody (yielding a 28-step timbral pattern). The possibilities are endless, and quite fruitful for process-based music that relies on creating variations through repetition.

Approach 4 : Analog Shift Registers

Original details about the Original details about the "Fortune" ASR

As you can see, there are plenty of ways to think about polyphony in modular synthesizers. For now, let's share another peculiar technique somewhat similar in concept to the voice addressing scheme described above: using an Analog Shift Register. Analog Shift Registers aren't exactly a new concept—the first was developed by Fukushi Kawakami (aka "Mr. Fortune") for composer Barry Schrader in 1972, and shortly thereafter became a standard part of early Serge modular system (for more on the history of this technique, check out our articles introducing concepts of Randomness in modular synthesizers, as well as the specific implementations of randomness in vintage Buchla and Serge systems).

An analog shift register is a lot like a Sample & Hold. It features a CV input and gate input...but unlike a typical S&H, it has several outputs. When a gate is received, the first output produces and holds the voltage that is present at the input (like you'd expect)—but the second output produces and holds the voltage that had previously been present at the first output, and the third produces and holds the voltage that had previously been present at the second, and so on. This is a way of "passing" a steady CV along a stream of chained outputs, with each successive output always representative of the prior state of the preceding output. (Note: for those of you similar with the inner workings of BBD-based delays, this should be a familiar concept! This bucket-brigade style behavior is exactly how BBDs work, albeit at a considerably slower clock rate.)

So what does that mean? Well, there are a lot of things you can do with this—most commonly, this is used to create what many Serge-based composers (including Gary Chang and Doug Lynner) call an Arabesque patch, where a single melody or sequence can be distributed to multiple voices—but each voice is delayed from those preceding it. This can be used for a huge range of purposes—for instance, it can create delay/echo-like effects, melodic canons, evolving harmonies, or a whole world of unpredictable results. The thing is, unlike the polyphonic voice addressing scheme described above, an ASR usually doesn't produce any gate information...so deciding how to articulate voices is still entirely up to you. It's a common practice with ASR techniques to use the same gate that triggers the ASR to trigger the envelopes for each individual voice. Of course, there's no end to the way you can do things—using a multi-lane gate sequencer synchronized to your ASR clock could yield great results, or of course, adapting part of our Omnichord-like approach above could also prove fruitful.

Intellijel's Shifty used as an ASR: first with unarticulated triangle waves, followed by unarticulated mixed waveshapes, articulated triangles, and articulated mixed waveshapes

If you want to create a delay-like harmonic effect with an ASR, for instance, try patching up multiple voices (three or four, perhaps) and arrange them such that each voice has gradually darker harmonic content. You could achieve this by using progressively darker waveshapes for each voice (saw, square, triangle, sine, for instance) or by lowpass filtering each progressive voice more intensely. Connect a keyboard's pitch CV output to the ASR's input, and use the keyboard gate to triggers the ASR and to trigger the envelopes for each voice. If you play repeated notes, you should hear the pitches cascade down the line of voices like a peculiar echo. Try playing a melody or sequence, but play each note a few times before advancing to the next note...you should have a steady trail of voices constantly following the current "brightest" note. For a similar "reverse delay" effect, try arranging the voices in the opposite order, creating echoes that get louder and brighter with each successive note.

Creating Arabesque-style harmonies with minimal dissonance can be difficult on an ASR since you have to consider the harmonic implications of several past and future notes as you play. Try, though, working with fewer voices and leaving several ASR stages unpatched. For instance, you could create a two-voice patch that uses the first and third ASR outputs, or first and fourth (if your ASR provides this many stages) rather than using successive stages. This will make stepwise melodies less likely to create unwanted clashes.

Up close with the Verbos Random Sampling's ASR Up close with the Verbos Random Sampling's ASR

There are several ASRs out there in Eurorack format. One personal favorite can be found in Verbos's Random Sampling module. Each of this ASR's stages can actually be treated as individual sample & holds via the per-stage trigger and CV inputs, each normally connected from the prior stage. So you could use it as a single four-stage ASR, as two two-stage ASRs, as a three-stage ASR and separate S&H, or as four fully independent S&Hs. It's wild. That said, its outputs do have some droop and aren't the absolute best for routing pitch CV, so a quantizer might be of use for cleaning up the outputs before sending along to oscillators if harmony is your end goal.

The long-standing star ASR in Eurorack is, yet again, Intellijel's Shifty. Described above as a voice allocation module, Shifty actually also does have a dedicated ASR mode. In this mode, each of the gate outputs fires in sync with one another, allowing an easy means to create the delay and Arabesque-style patches we described above. All in all, Shifty's output voltage are quite solid, and you most often can get away without needing a quantizer on its outputs...so it's by far the simplest choice for doing these ASR patches while maintaining a clear harmonic structure.

Of course, there are still plenty of other ways to create polyphonic structures in a traditional, analog modular synth. You can use multiple independent sequencers, logic and switches for re-routing signals, quantizers and random voltage generators...if you can imagine it, it's most likely possible.

In this article, I have endeavored to describe some of my favorite tips and tricks for implementing polyphony in modular synths in a way that isn't so different from playing a keyboard. Each of these methods has its quirks, and each diverges from "traditional" musical techniques in their own ways—but part of the magic of a modular synthesizer is about finding inspiration in these quirks. How can you leverage the harmonic peculiarities that come out of an Analog Shift Register? What sort of patterns can emerge from a sequentially-addressed voice allocation system? What harmonic progressions will you discover by using a sequencer like a chord organ?

Try some of these out—you might discover a completely new way of thinking about harmony and polyphony.