Microtoner — a four-voice, programmable microtonal FM synth

Microtoner is a patch that can help you craft eerie sci-fi soundtracks or just explore different relationships to tone. It can be controlled by keyboard modules on the first page, or via MIDI.

There are seven pre-programmed microtonal scales — 5-tet, 7-tet, 19-tet, 23-tet, Bohlen-Pierce, and Wendy Carlos’s alpha and gamma. You can select these using the radio buttons on the top row of the second page.

But you can also program your own microtonal scale (note: all microtonal scales must be equal-tempered). Select the “User” option. Below this are three inputs for the user scale (helpfully called “User”). You define the scale by dividing 12 by the number of divisions of the octave you want. For instance, by default, as an example, the user inputs are set to 1.000, 1.000, and .400. This will match 5-tet, if you select it. Because 12 divided by 5 = 2.4000. So, for instance, a 24-tet scale would involve setting two inputs to 0, and the third to .5000 (because 12 divided by 24 = .5000). But you can also just… you know… mess around with these and discover more exotic scaling options.

Beside the “User” inputs is a control called “Reference pitch.” This sets the lowest note when using the keyboard modules on the first page. But if you turn on MIDI using the button on the bottom row (default channel 1, but the MIDI channel is labeled within the patch, if you want to change this), the “reference pitch” then becomes the center pitch, around which other pitches ascend or descend. So you might set the reference pitch relatively low when using the keyboard modules, then set it higher (e.g. middle C) when using external MIDI.

When using MIDI, velocity will affect the amplitude of the voices.

The rest of the controls on the page govern the voice — attack and decay (release really?) for the envelope, slewing for the oscillators, a global high-pass filter for shaping low-end, and controls for a reverb lite at the end of the signal path.

But it is an FM synthesizer. I’d describe the architecture as “2-and-a-half OP.” There is an “FM offset” control, which sets the pitch offset of the modulator oscillator, as well as an amount control for the FM amplitude. This oscillator tracks the pitch, so the offset determines how much higher or lower in pitch it is relative to the carrier oscillator that we hear. But there’s another oscillator that is fixed — it doesn’t track pitch — and affects all of the voices. When set to sub-audio frequencies, this can add some pitch modulation/tremolo-y effects. If you bring it up to audio ranges, things can get pretty nasty/cacophonous. So, it’s just another way to affect the timbre of the patch. Particularly for these microtonal sounds, I wanted a way to get sort of raucous, so it was a relatively CPU-friendly way to achieve that.

If you’re curious about how this is achieved, I do have a fairly ancient entry in Tips and Tricks on the subject. But the basic idea is that incoming pitches, whether from the keyboard modules or external MIDI controller, are multiplied by different amounts to create the ratios necessary. (Inside the patch, the pre-programmed scales are determined largely by connection strength. But the user defined scale uses three multipliers — each one controlled by one of the user controls — to set the ratios, because you need to be able to multiply above 1 for some of these. ZOIA doesn’t love multiplying by more than 1, so to get around that, we use a sort of crude, brute force multiplication, where each of these multipliers can add a duplicate value of up to 1. 1 + 1 + 1 = 3, which is also 1 x 3 = 3. Coincidentally, this means the maximum user scale possible is 4-tet, but I figured people were unlikely to want to go above this in terms of divisions of the octave.)

I’m demoing this on Zebu, but it works on either platform. The outputs will be Zebu outputs, if you load this on a ZOIA, and will be found on the “Euro modules” page created when a Euroburo patch is loaded on ZOIA. They should work fine, but if you want to replace them, they are connected to the output of the reverb lite. There are no CV-defined functions.

Leave a Reply

  • Platform:
  • Category: Synthesizer
  • Revision: 0.1
  • License: Creative Commons Attribution Share Alike 4.0
  • Modified: 7 months ago
  • Views: 864
    Likes: 8
    Downloads: 310