2 OP — a simple but versatile FM polysynth

2 OP–short for two operator–is a simple FM synthesizer with up to four voices built around the classic use of one sine wave as a modulator and one as a carrier. There are better explanations of FM synthesis, but I’ll offer a quick one: basically, one oscillator (or more) is used to modulate another oscillator (or more) at audio rates, and depending on the relationship between their two pitches, or frequencies, different harmonic and inharmonic content can be generated. The number of oscillators used in a given FM algorithm is usually referred to as # OP, hence the name.

I’ve added a few touches to make the patch a bit more expressive than some 2 OP FM synths: the amplitude and modulation envelopes have velocity sensitivity (you can disable this in the modulation envelope); the modulation envelope can be looped, turning it from a standard ADSR into a looping AD LFO, and it can go into quasi-AM rates, allowing for more textures; the modulation envelope, looped or unlooped, can be directed to the pitch of the modulator, allowing the ratio to be swept. The modulator and the carrier can also be fed back into themselves.

If you read all of that and said, “Huh?” this patch isn’t the worst place to start with FM synthesis. Basically, as long as you keep the mod depth above 0, there aren’t a lot of bad sounds you can make with this patch. Where it lacks in complexity compared to a DX7’s 6 OP algorithms, it makes up for in just being about as straight forward as FM can get.

The signal path is MONO and exits through the LEFT output. I would have doubled the outputs, but CPU….

A special thanks to my patrons on Patreon for their support: Rob Flax, Stepan Grammatik, brockstar, Mats Unnerholm, D Sing, Will Scott, drew batchelor, Miguel, Steve Bragg, Joab Eastley, Tomi Kokki, Mitch Lantz, Ben Norland, Daniel Morris, Roman Jakobej, Mark Crosbie, and Steve Codling!

If you would like to support my work on ZOIA, please visit patreon.com/chmjacques

Controls:

Footswitches:

Left, latching — loops modulation envelope; you will see an indicator light begin to flash (it also shows the progression of a normal envelope); the sustain and release stages of the envelope have no effect when looped

Middle, latching — turns velocity off for the modulation envelope (it’s a trade-off between expressiveness and consistency; both options are pretty cool, in my opinion) (a yellow pixel on the left side of the page will light up when velocity is off)

Right, latching — directs the modulation envelope from controlling the modulation depth (the volume of the modulator to the carrier’s FM input) to controlling the pitch of the modulator, allowing the ratio to be changed over the course of a keystroke; this is not velocity controlled (a blue pixel next to the depth control will light up when this is active)

Front page:

Ratio/freq/pitch — I called it everything; this controls the frequency of the modulator oscillator; different frequencies can produce drastically different sounds, even with minute adjustments

Mod. feedback — feeds the modulator back into its own FM input; this produces instabilities in the frequency creating more ‘wild’ or exaggerated FM sounds; at high levels, it produces noise

Env ratio depth — sets the depth of the envelope when directed to the ratio (right stompswitch); this control is bipolar, so it can be set to negative or positive depths

ADSR (white) — envelope stages for the modulator

Mod. depth — the amount of modulator fed into the carrier’s FM input; FM sounds become more pronounced as the control is increased; at 0, the patch produces a perfectly pleasant sine wave if you’re into that sort of thing

ADSR (aqua) — envelope stages for the carrier

Carrier feedback — feeds the carrier back into its own FM input; this can “thicken” the sound at low levels and produces greater instabilities and finally noise at high levels

The default is MIDI channel 1 and newest for note priority; the MIDI inputs are on the second page, along with the output.

Soundclip: a random assortment of sounds you can wrangle out of this thing; by no means exhaustive.

One comments on “2 OP — a simple but versatile FM polysynth
  • tomikoo on said:

    Damn, there are some proper 90s LucasArts / Sierra sounds in the demo. :) Have to try this one!

  • Leave a Reply

    Download
    Chat