Sevish

Synth plugins for playing and composing microtonal music

This article has been updated in 2023 to tell you more ways to make microtonal music with software synthesisers.

Many software plugins (VST, AU, RTAS etc.) allow you flexible control over intonation, which can be used to create music with any tuning system you like. There is no one single method, so depending on your synth, you’ll be able to get at those microtones with one or more of the following:

  • Synth that supports reading in a ‘tuning file’ from the hard disk. (Usually a .tun or .scl file).
  • Synth that supports MTS-ESP. (To be used with an MTS-ESP master plugin, more on that later).
  • Synth that supports MPE (MIDI Polyphonic Expression), which means each note can have pitch bend applied independently of other playing notes.
  • Synth that understands received MTS (MIDI Tuning Standard) data as MIDI SysEx messages.
  • Synth that allows direct data input into the synth interface.

Plugins that don’t support any of the above may still be tuned by systematically using the pitch bend, however this only works for monophonic parts (unless you use multiple instances of the same plugin).

To find out how your synth can be microtuned, look it up in this table of microtunable software plugins. From there you’ll also find a few free VST downloads to experiment with.

Using tuning files: .tun .scl and others

If your softsynth loads .tun files (AnaMark, Linplug instruments, Omnisphere, etc.) then check out my tutorial on how to create a .tun file using Scala.

If you’re using something like Surge XT, PianoTeq, ZynAddSubFX, Plogue chipsounds or Garritan Personal Orchestra 4 (amongst others), these synths can load .scl files. It’s simple to find this kind of file for download on the internet, and they are easily created using Scale Workshop.

Using MTS-ESP

Synths that support MTS-ESP will need an MTS-ESP master plugin to control the tuning. Some examples of MTS-ESP master plugins:

  • MTS-ESP Suite
  • Entonal Studio
  • Infinitone DMT
  • There are various others

Using MIDI Tuning Standard (MTS)

The MTS never really took off in the same way that MTS-ESP and MPE is taking off in recent years. In my experience, a lot of the MTS-capable synths are hardware and not software.

Synths such as Xen-Arts’ instruments can be tuned by using MIDI tuning messages. Such data can be generated by software like Scala, alt-tuner, CSE or LMSO. Then, the data is either sent to the synth in real-time or dumped into a file to be read later.

One approach is to include the MIDI tuning messages in a MIDI track within your DAW. The MIDI track should output to all tracks which contain an instance of the synth. This approach works well in a DAW like Reaper, which has powerful routing. Unfortunately this approach won’t work in Ableton Live or FL Studio, because these DAWs filter out all SysEX data, thereby stopping your synth from receiving the MIDI tuning messages.

How to import MIDI tuning data into Xen-Arts' IVORAnother approach is to create a MIDI tuning dump. This is a .mid file containing only MIDI tuning messages. Some synths, such as XenFont, IVOR, and Xen-FMTS 2, conveniently import this kind of file. The tuning dump can also be created using Scala.

[Note: Xen-Arts synths are no longer available]

Synths that support direct note input

Direct note input is not a common feature of synths, but there are a few:

  • Surge XT
  • Pianoteq
  • ZynAddSubFX

TLDR: just tell me the best free microtonal synth I should use

Surge XT

Further reading


9 thoughts on “Synth plugins for playing and composing microtonal music”

  1. Joe Bloom

    Is there any software other than csound that would allow me to specify (or “tune”) each note of a piece, independently of all the others, in terms that one note’s frequency. Or alternatively, to determine each and every note independently of the others by giving a nearest semitone plus or minus a certain number of cents.

    Thanks,

    Joe

    Reply

    1. S Post author

      Hey Joe, thanks for the message. Unless I’m misunderstanding you, I’m sure that Scala can do that! Then Scala can output the tuning data to whatever synth you have laying around that supports full keyboard microtuning.

      Grab and install Scala from http://www.huygens-fokker.org/scala/
      Load Scala, then press Ctrl+N to load the input screen.
      Input the frequencies you want (in Hz). Make sure every pitch you’ve typed in has a decimal point in it. Even if the frequency was say 100 Hz, you should write it as 100.0 – if you forget a dot then Scala will misinterpret your data.
      Make sure ‘Linear factors (frequencies)’ is selected.
      Then hit ‘OK’ to close the input dialog. Your scale has been made so you can jam within Scala or you can export the tuning data for use. But that’s a whole other topic…

      Good luck, and let me know how you get on!

      Reply

  2. John Platter

    Hey Sevish, fantastic entry here. I thought that you and your readers might be interested in a workaround I made for Ableton Live in Max for Live. The device is called “Retune for Live” and it retunes MIDI input in the Ableton environment. It accepts .scl files, so everything you demonstrated in creating custom scala files can now work with Ableton Live. It also allows for custom tuning input.

    http://www.maxforlive.com/library/device/3068/retune-for-live

    I would like to get it compatible with SysEx dumps, but that’s a tough problem to solve for the moment!

    Reply

    1. S Post author

      Hey John! I thought I recognised the name Ursine… This month I used Retune for Live to retune a YM2616 chip emulation VSTi (for Sega Genesis style FM). There’s a draft blog post in the queue about Retune for Live, and I’ll post it once I finish the piece I’m working on.

      I’m interested how the SysEx dumps will work since Ableton Live filters out all SysEx messages completely. There’s still the possibility that you can read the MTS SysEx data from a MIDI file directly within Max, however the real benefit of MTS is that you should be able to load the tuning data on one MIDI track and route that to every instrument in the project. In this way, every instrument holds the same tuning and you can even change the tuning dynamically over the course of the piece, which blows my mind. The real problem of course is Ableton, that they deliberately strip out the SysEx data so we can’t use it in the sequencer. Perhaps we need to write to them en masse and tell them to stop crippling their otherwise amazing product.

      I look forward to future updates of Retune for Live!

      Sevish

      Reply

    2. hesam

      Hey dude , im trying to use Retune. but it seems buggy and i have tons of questions. how can i contact you? are you on Muffs? :D

      Reply

  3. Anthony

    One approach is to include the MIDI tuning messages in a MIDI track within your DAW.
    This is something I’m trying to do in Reaper but maybe I don’t understand how it’s supposed to be done. I exported an MTS bulk dump from Scala, placed it on a track, and then routed it to my track with a VST. This doesn’t seem to change the tuning though. Wondering if it’s because my VST doesn’t support the SysEx messages.

    Reply

    1. Sevish Post author

      Reaper is ideal for using MIDI tuning messages, because unlike many other DAWs it doesn’t filter out the MIDI SysEx data. The issue here may be that your VST instruments don’t support MIDI tuning SysEx messages. I know that the synths from http://xen-arts.net all support this kind of MIDI tuning. Have you tried them?

      Reply

  4. Gabriel

    Hi Sevish,

    Many thanks for all your work making Microtonal Music easier to produce and adopt.

    I have a similar request…

    I am trying to use Microtonal or maybe Freetonal music in my compositions, what I’ve been doing is matching the pitch by ear using Just intonation and harmonics, but just in main chords.

    What I am trying to achieve is use scales too but not fixed by tun or other scales files instead setting them programmatically or in some other easier way to change the scale while in the set.

    a example maybe will make it easier to understand…

    suppose there is a composition in EDO 12 in a simple A Mayor chord
    the frequency will be
    440
    554.365
    659.255

    while just intonation
    440
    550
    660

    then change to C# Mayor
    659.255
    830.609
    987.767

    Just intonation
    660
    825
    990

    So the goal is to define the frequencies using variables as base frequency and simple formulas as in just intonation fractions 2/3 4/3 5/4 or set the HZ manually from 4/7 (770 HZ Harmonic seventh) or any other seventh color, that primarily.

    the next would be change the pitch of every key so for example in a normal EDO 12 pattern, keyboard, midi or etc, we could redefine the frequency using any other temperament ratio as for example EDO 31 but not all the 31 tones just 12 of the 31 that we chose manually or trigger programmatically or by pushing something while on the set.

    I know it’s a complex request but it’s sort of a dream for me.

    I always dream with different melodies and sounds and I felt that the world is somewhat mind locked in a very arbitrary set of frequencies.

    Thank in advance.

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*