Nov 252011
 

This article discusses some of the popular microtuning file formats and is intended for computer musicians and composers who are using MIDI controlled virtual instruments to compose microtonal and xenharmonic music.

Microtuning Virtual Instruments – Part 3 | Formats and Features
Recently a close colleague was researching the available options for buying a portable keyboard with the requirements that it should include both a built-in synthesizer and feature full-controller, MIDI pitch microtuning. After some investigation, we discovered that there are actually no consumer keyboards currently being manufactured that meet this criteria. That’s right – as far as we could discern – there are precisely zero portable hardware keyboards being made at this moment, anywhere on the planet, that feature full MIDI pitch microtuning, and this leads to an important realization: there are currently three options for musicians and composers wishing to explore the exciting possibilities of using alternative intonation systems in their music:
1. Get into carpentry and learn how to build custom microtonal acoustic instruments, or otherwise purchase them from other builders. With the latter, for instance, there are a number of options for buying extremely high quality microtonal guitars, and or fret-boards that can be fitted to existing guitars that feature bolt-on necks, such as those manufactured by luthier and guitarist Ron Sword. Building your own instruments though can be a lot of fun, and one can be guaranteed to learn a lot about the physics of sound in the process. I would highly recommend exploring this possibility if you have access to the tools and skills.
2. Buy some of the older used hardware keyboards, such as ones previously manufactured by Yamaha, which, in their golden years, actually featured full-controller MIDI pitch microtuning. It’s perhaps the most surprising of all that Yamaha – who were previously one of the more innovative leaders in portable microtonal keyboard design and manufacturing – now offers no instruments that feature it and seem to basically only support the status quo of twelve-tone-equal-temperament hegemony. When choosing this option for microtuning, one will need a bit of luck in finding and maintaining these antique instruments, which in many cases may have been manufactured decades ago. Buying old used hardware gear that supports full-controller microtuning is something that should be approached with the greatest caution and is something that this article cannot recommend for those who are getting started with microtonal music composition.
3. Use computers and virtual instruments. It pretty much goes without saying, that as far as technological innovation is concerned, this is where the action is for xenharmonic and microtonal music creation, and there are a number of developers offering full-controller microtuning features in their software. All that is required is having a fairly current computer and a decent external MIDI controller.
The primary concern of this article is with microtuning virtual instruments that feature (what are sometimes called) microtuning tables, which essentially are lists of pitch values that the synthesizer reads in order to re-map the default pitches of MIDI Notes to other intonation systems. But it is important to not skip over the fact that there are other options available. Here is a quick overview of some of these possibilities:
1. On the Mac platform there is LMSO from developer X. J. Scott, which is used by literally thousands of musicians, composers and educators around the world, and is capable of performing dynamic microtuning using a highly specialized pitch-bend method. LMSO can also create microtuning table files for just about any microtonal synthesizer – hardware or software – that’s ever been made, and is even capable of tuning instruments which typically do not support microtuning at all.
2. Fractal Tune Smithy, from developer Robert Walker, is a program that can microtune instruments with the pitch-bend relay method and also includes many algorithmic music features.
3. Scala, from developer Manuel Op deCoul, as well as being the primary means to create microtuning format files on the Windows PC, also includes features for microtuning instruments with the pitch-bend relay method.
4. Native Instruments virtual instruments, in some cases, support microtuning features, but there is a complete lack of uniformity across their product line, with each instrument requiring its own proprietary format. For instance, as with their Kontakt sampler it is the KSP scripting language, which has the severe drawback of that some commercial sample libraries have the scripts locked where the user cannot change the intonation. Another shortcoming of KSP is that some commercial libraries also use the scripting language for changing sample articulations and in some cases may actually use specialized scripts that make changes to the intonation, such as in some of the available Gamelan libraries. Where KSP is used in these special libraries to change the underlying intonation, it may not be possible to fully re-tune them to other intonation systems without there being some conflict between using proprietary and custom microtuning scripts at the same time. It is beyond the scope of this article to detail the strange mixture of other proprietary microtuning formats that are found in the NI line, but suffice it to say that there is nothing easy about working with microtuning using their products, where every virtual instrument they offer uses its own unique method, if indeed a particular instrument features microtuning at all.
As above, our primary concern is with virtual instruments that feature microtuning tables, which, as it stands today, is one of the most popular, flexible and reliable ways to make microtonal and xenharmonic music with computers. With this method of microtuning, there are currently available three microtuning formats, all of which can be created using Scala (and or LMSO on the Mac): TUN, SCL/KBM and MTS (MIDI Tuning Standard). The below table details the features of these popular microtuning formats.
Features TUN SCL/KBM MTS Comments
Supports Full MIDI Pitch Microtuning Yes Yes Yes The Scala format requires both SCL and KBM files
for full MIDI Pitch Microtuning.
Number of Files Required for Full MIDI Pitch Microtuning 1 2 1
Real-Time Microtuning Support No No Yes Only synths that support MTS can be microtuned in real-time.
Human Readable Yes Yes No TUN, SCL/KBM can be viewed with a text editor.

TUN
Pros:
  • Virtual instruments can be fully microtuned using a single TUN file.
  • Human readable with a text editor.
Cons:
  • No dynamic, real-time microtuning.
  • To change to another intonation system, a new TUN file must be manually loaded by the user for every instrument.
Some Virtual Instruments and Developers Supporting TUN: Linplug, Big Tick, Camel Audio, AnaMark, VAZ Synths.
Scala SCL/KBM
Pros:
  • Virtual instruments can be fully microtuned using both the SCL and KBM files.
  • Human readable with a text editor.
  • The MIDI Note on which the 1/1 of the microtuning – and – the MIDI Note on which the Reference Frequency will be placed can be specified and freely changed using the KBM (Keyboard Mapping File).
Cons:
  • No dynamic, real-time microtuning.
  • To change to another intonation system, a new SCL and KBM file must be manually loaded by the user for every instrument.
  • Both the SCL and KBM files are required to do full-controller MIDI Pitch Microtuning.
Some Virtual Instruments and Developers Supporting SCL/KBM: Modartt Pianoteq.
[Note: There are other developers that have – in error – implemented only the SCL portion of the Scala format in their products, such as Cakewalk and Image Line. It’s important to recognize that virtual instruments which only use SCL, without the KBM part of the format, actually do not feature Full-Controller MIDI Pitch Microtuning. This will be discussed in more detail in upcoming articles in this series.]

MTS (MIDI Tuning Standard)
Pros:
  • Virtual instruments can be fully microtuned using single MTS files.
  • Has been a part of the MIDI Specification since the 1990s.
  • Single, as well as entire ensembles of virtual instruments, can be fully and dynamically microtuned in real-time, without the need to manually load new microtuning files by hand in the manner required with TUN and SCL/KBM.
Cons:
  • The format is MIDI data, and therefore is not human-readable.
Some Virtual Instruments and Developers Supporting MTS: Xen-Arts Xenharmonic FMTS VSTi.
j:l
 Posted by at 3:56 pm

  5 Responses to “Microtuning Virtual Instruments – Part 3”

  1. It IS possible to send a raw system exclusive MTS message to a VST and bypassing the DAW’s inability to handle these messages.

    Assuming win32 operating system. Applications use the win-mm function midiOutLongMsg function to send system exclusive messages. Other messages are sent by midiOutShortMsg.

    The receiving application, the DAW in this case, receives the MIDI information thru the messages MIM_LONGDATA and MIM_DATA respectively.

    In the case of a system exclusive message the sending application has to wrap the sysex message in a MIDI header whereas for other messages all information is encoded in a DWORD such as:
    dw = 144 + NoteNumber * 256 + Velocity * 256 * 256; for note on and
    dw = 128 + NoteNumber * 256 + Velocity * 256 * 256; for note off.

    To send the sys-ex message then, say to XenFont, is just to encode your raw sy-sex bytes in dwords and send them sequentially using midiOutShortMsg function instead.

    When these messages are sent to MIDI-OX it recognizes them as valid sy-sex messages.

    Also because the data values other than the frequency values are all less than 8 bits no un-necessary 8 bits to seven bits conversion is required.

    When I send them to XenFont I get an audible re-tune when I start a note and pause for about half second then send a real time MTS message while the note is playing.

    Unfortunately I know very little about these MTS messages and they are very cryptic. I used the following raw message in a hit and run fashion:

    F0 7F 0 08 07 0 0 1 45 60 70 70 F7.

    I wish I had a list of the MTS types that XenFont understands to try them out. I also wish I had a concrete example on how to specify the frequency deviation.
    Khalfan

  2. By the way the DAW I used was VAZ Modular, humble by any standards !
    Khalfan

  3. Phew. I have got it sorted at last and maybe a day or two to implement precise MTS transmission.

    In the meantime I wish the creator of Xen-Font would consider to use the ever-present MTS field for channel identification purposes when these messages are meant to be sent to VST’s. If not already implemented that is.

    In such a scenario then only the VST whose channel is addressed needs to re-tune itself while those in different channels take no action.

    I can not properly express my joy for this VST and I am most grateful to get it for free.
    Khalfan.

  4. Great article, but it misses an obvious fourth option:
    4. Get into electronics, use a microcontroller (e.g Arduino, Teensy, etc) to make your own keyboard that supports microtuning. This can be a MIDI controller or it can be an analog (pitch CV/Gate) controller, or both. Fatar make suitable keybeds.

  5. ?

 Leave a Reply

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>

(required)

(required)