Sevish Music

VSTs for playing and composing microtonal music

Ever wondered how to get various software synthesisers to play microtonal scales? A while ago I added a lot of info about this to the Xenharmonic Wiki. Summarised below.

Many software plugins (VST, AU, RTAS etc.) allow you to create microtonal music. Not all of them, though. The ones that do mostly accept tuning data by one of the following methods:

  • By reading a ‘tuning file’ from the hard disk. (Usually a .tun or .scl file).
  • By receiving MTS (MIDI Tuning Standard) data as MIDI SysEx messages.
  • By letting the user directly input values. Plugins that don’t have support may still be microtuned 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 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 Scala.

Using MIDI Tuning Standard (MTS)

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.

Synths that support direct note input

Very few synths allow you to actually input tunings via their interface, though I know of at least one that does: ZynAddSubFX!


7 thoughts on “VSTs 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 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 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 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

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>

*