Aug 272017

Xen-Arts is pleased to announce the publication of an article on the MIDI Association site at

Microtuning and Alternative Intonation Systems

Microtuning virtual and electronic hardware instruments: An overview of formats and methods for using alternative intonation systems

The article covers, encapsulates and extrapolates on topics featured in the Xen-Articles, Microtuning Virtual Instruments series on this site, but features a more in depth examination and PSA about the implementation of the Scala SCL and linear KBM format in software virtual instruments, in an effort to draw attention to why it’s crucial to have the KBM part of the specification available for serious microtonal and xenharmonic music composition.

Please feel free to share your impressions in the comments below, or otherwise on the MIDI Association article page. It would be great to hear from you.

 Posted by at 7:07 pm
Dec 042011

Back in 2005 I wrote a short TUN tutorial that was published on the Scala home page, which was originally written for the manual of the LinPlug CronoX VSTi. Since that time, Manuel Op de Coul (the developer of Scala) has added many new and helpful features that make it easier than ever to create the microtuning format files for retuning electronic hardware and software musical instruments.

This new article greatly expands upon the information in the original TUN tutorial and presents a sequence of exercises for the creation of the TUN microtuning format files used for exploring alternative intonation systems in many popular microtunable virtual instruments, and covers how the frequencies of microtonal tunings are mapped to specific MIDI Note Numbers, as well as demonstrating many important new features and functions of the Scala application.  

Microtuning Virtual Instruments – Part 4 | Creating TUN Files

The TUN microtuning format was invented by Mark Henning who is also the developer of the AnaMark VSTi synthesizer, which was first published with TUN support on February 19, 2003, making it one of the earliest VSTi supporting full-controller microtuning tables. The TUN format is an elegant solution for retuning MIDI controlled virtual instruments to alternative intonation systems, because both the MIDI Note Number on which the 1/1 starting note of the microtuning will be placed – and – the MIDI Note Number on which the Reference Frequency will be placed, can be freely specified, and is embedded within a single text file that is read by the instrument.

When creating a tuning table microtuning – of any kind – for a virtual instrument, there are three essential parameters that will be configured:

1.    The Microtuning itself, which, considered alone, typically has no specific pitches assigned to it.

2.    The MIDI Note Number on which the 1/1 Starting Note of the microtuning will be placed.

3.    The MIDI Note Number on which the Reference Frequency will be placed. This is the parameter which directly determines the way specific pitches are mapped to a musician’s MIDI controller.

These three parameters can be easily specified using the popular Scala application which can be used for the creation of most of the microtuning format files used in virtual instruments.

As an obvious first step in following this tutorial, musicians will need to have Scala installed on their computer. Go to the Scala Downloads page, download and install the application. Just in case there are some who may be new to Scala, here is some background information derived from the ’05 tutorial:

“Scala is a freeware utility developed by Manuel Op de Coul in the Netherlands, which can be used for the creation and analysis of historical, ethnic and contemporary microtunings. A powerful capability of Scala is that it enables the user to create the proprietary tuning data required for microtuning a wide range
of hardware and software synthesizers and samplers.”

OK – Let’s get started…

When you first run Scala, you will see the below UI.

Scala is a rather deep application with many features beyond merely creating microtuning format files for retuning virtual instruments. In this, and the other Scala tutorials that will follow, most all of the features that we will focus on will be found under the File and View menus, and by using the functions that are found in the dialog that is presented when clicking the Opts button on the tool bar, all of which are shown above within a red rectangle.

The functions under the File menu are used for creating, saving and exporting new microtunings. There is a feature found in the View menu for viewing the way the frequencies of microtunings are mapped to our controller’s MIDI Note Numbers. The Opts button opens a User Options dialog within which we will specify the keyboard mapping parameters for our microtunings.

As has been repeatedly stressed throughout this series of articles, a crucial part of setting up a full-controller microtuning is being able to freely and arbitrarily configure MIDI Note Numbers to have specific pitches across the entire range of the instrument by defining the Microtuning (the intonation system itself), the MIDI Note Number on which the 1/1 Starting Note will be placed, and finally, the MIDI Note Number on which the Reference Frequency of the microtuning will be placed, which is actually what determines how and where the specific pitches will fall on a musician’s keyboard.

The reasons why musicians and composers will need to be able to specify these parameters in their microtuning tables are many, but here are a few of them:

  • To bring ensembles of instruments into tune with each other so that they all will be able to play in a common intonation.
  • For ethnomusicological studies, musicians may want to tune their instruments to recordings or acoustic instrument intonations that do not use Western music ‘concert’ pitches.
  • To change the sonic character of the music by specifying atypical reference frequencies that may have nothing in common with the twelve-tone-equal-temperament.

All this may sound a bit complicated at first, but don’t worry, because now we will systematically go through three different microtuning scenarios which will endeavor to completely demystify the process of setting up a full-controller microtuning for your TUN-enabled virtual instrument of choice. Go through these exercises if you are new to working with microtonal tunings, and upon completion, you will gain a deeper understanding of how tunings are mapped to instruments and how to work with Scala to get results required of your music.

Scenario 1
Microtuning: Eight Tone Equal Temperament
MIDI Note Number and Reference Frequency: 69.A @ 440 Hz
MIDI Note Number for 1/1 Starting Note: 60.C

As above, our goal in this particular exercise will be to create a TUN file for 8-TET, with the 1/1 on 60.C and our Reference Frequency on 69.A @ 440 Hz.

1. Specifying the Microtuning
Click on the File menu and choose New / Equal Temperament, or use keyboard command Shift+Alt+E (learn keyboard commands to work faster).

This will open the New Equal Temperament dialog.

In the New Equal Temperament dialog type 8 into the Division field, then click the OK button.

Next, click the Show button (shown in red rectangle below) on the tool bar to view the microtuning. 

As you can see, at this point the microtuning is shown in cents and has no mapped pitches associated with it. If you are unfamiliar with the measurement of musical intervals in terms of cents, read this article for clarification: Cent (music).

2. Specifying the Reference Frequency for the microtuning and the MIDI Note Number on which it will be placed.


3. Specifying the MIDI Note Number on which the 1/1 Starting Note of a microtuning will be placed.

Now click the Opts button on the toolbar, which opens the User Options dialog; containing some of the most important features in Scala for specifying the way the specific pitches of microtunings will be mapped to our MIDI controllers.

In the leftmost column there are navigation buttons for selecting various User Options. Click the button labeled MIDI to access the functions for specifying the Keyboard Mapping Parameters. Now perform the following steps:

1.  In the Reference Frequency field, type 440. This will set our Reference Frequency to 440 Hz.

2.  In the Reference Note field, either type, or use the up and down selectors, to enter MIDI Note Number 69. What this does is specify that our Reference Frequency will be placed on MIDI Note Number 69.A and will have a pitch of 440 Hz.

3.  And finally, in the Note for 1/1 field, either type, or use the up and down selectors, to enter MIDI Note Number 60. What this does is specify that our microtuning will start on MIDI Note Number 60.C.

4.  In the Synthesizer Tuning Options (SEND) section, set the Tuning Model to: 112: TUN standard .tun format for many softsynths, via text file.

At this point we have completed the process of specifying the way our microtuning will be mapped to the MIDI controller as well as that we will create a TUN format file for our instrument. Next, click Apply, and then OK to close the User Options dialog.

It’s crucial to recognize that becoming familiar with this User Options / MIDI / Keyboard Mapping Parameters dialog is one of the most important steps in mastering how to configure full-controller microtunings with Scala, and the functions that are found here are relatively new additions which were not available when I wrote the original TUN tutorial in ’05. This dialog has greatly streamlined the process for setting up keyboard mappings by consolidating these features into an easy-to-use GUI-based group.

[Note: Being that 8-TET has equal steps of 150 cents, where the 1/1 is placed will not have an impact on the mapping in the way that it will with microtunings that have non-equal step sizes and more interval classes. We’ll examine these matters more as we progress through the other scenarios.]

4. Viewing the results of the Keyboard Mapping
Another powerful Scala feature is the ability to view the results of the settings we made in the User Options / MIDI / Keyboard Mapping Parameters dialog.

From the View menu, choose Keyboard Mapping (keyboard command Shift+Ctrl+K) to see the keyboard mapping parameters that will be applied to our TUN files.

We can also examine the entire Keyboard Mapping by using the View menu and choosing Tuning Dump Numbers (keyboard command Shift+Ctrl+V).

As you can see, this shows all of the MIDI Note Numbers from 0-127, the Cents Values and the associated Specific Pitches (Hz) that are mapped to each note. Since the creation of microtuning files for virtual instruments gives musicians and composers a repeatable, and therefore verifiable result, it is possible to use this mapping information to insure that an instrument is indeed playing the correct frequencies when a new intonation system is loaded.

Compare this frequency data to the 12-TET pitches that were discussed in the first article in this series – MIDI Notes, Pitches and Notation Standards – to see how we have now configured a completely new intonation system for our instruments.

5. Exporting the TUN File
Now that we have completely configured our microtuning and its keyboard mapping parameters, it’s time to export our TUN file.

1. Under the File menu, choose Export Synth Tuning (keyboard command Shift+Ctrl+T).

2. Using the Save File dialog, navigate to a directory on your computer where you want to save your TUN files.

3. Name the TUN file. In this case, name it “8-TET-Ref-69A-440.tun“.

4. Click OK and now we’ve completed the process of creating a TUN file for 8-TET with a reference frequency of 69.A @ 440 Hz. Now the TUN file can be loaded into the instrument.

As mentioned above, creating microtuning table files gives us a repeatable and verifiable result. Try setting your synth to a sine-waveform and place a software tuner after the instrument such as GTune, and using the frequency information from Step 4 above, start playing on middle 60.C and check the results of the tuning. It’s very informative to see and hear how different this is from 12-TET. Check the first couple of octaves, and you should see that your instrument is producing the below frequencies beginning with 201.7409 Hz and terminating on 806.9636 Hz:

    60.C  3: 5550      201.7409 Hz  !  0.0 cents      C.0
    61.C# 3: 5700      220.0000 Hz  !  150.0 cents  
    62.D  3: 5850      239.9117 Hz  !  300.0 cents    Eb.0
    63.Eb 3: 6000      261.6256 Hz  !  450.0 cents  
    64.E  3: 6150      285.3047 Hz  !  600.0 cents    F#.0
    65.F  3: 6300      311.1270 Hz  !  750.0 cents  
    66.F# 3: 6450      339.2864 Hz  !  900.0 cents    A.0
    67.G  3: 6600      369.9944 Hz  !  1050.0 cents 
    68.G# 3: 6750      403.4818 Hz  !  1200.0 cents   C.1
    69.A  3: 6900      440.0000 Hz  !  1350.0 cents 
    70.Bb 3: 7050      479.8234 Hz  !  1500.0 cents   Eb.1
    71.B  3: 7200      523.2511 Hz  !  1650.0 cents 
    72.C  4: 7350      570.6094 Hz  !  1800.0 cents   F#.1
    73.C# 4: 7500      622.2540 Hz  !  1950.0 cents 
    74.D  4: 7650      678.5728 Hz  !  2100.0 cents   A.1
    75.Eb 4: 7800      739.9888 Hz  !  2250.0 cents 
    76.E  4: 7950      806.9636 Hz  !  2400.0 cents   C.2

If your instrument is accurately reproducing these frequencies, then you have configured your microtuning correctly for this particular scenario.

[Note: The other scenarios that were originally intended to be a part of this article will be published at a later date.]


 Posted by at 9:36 pm
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.

  • Virtual instruments can be fully microtuned using a single TUN file.
  • Human readable with a text editor.
  • 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.
  • 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).
  • 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)
  • 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.
  • The format is MIDI data, and therefore is not human-readable.
Some Virtual Instruments and Developers Supporting MTS: Xen-Arts Xenharmonic FMTS VSTi.
 Posted by at 3:56 pm
Nov 202011
This article is intended for computer musicians and composers who are getting started with making microtonal and xenharmonic music using MIDI controlled virtual instruments that feature full-controller microtuning, and seeks to define what it means to be able to fully microtune an instrument to any conceivable intonation system.

Microtuning Virtual Instruments – Part 2 | MIDI Pitch Microtuning

With the profusion of alternative electronic musical instrument controllers we have available today, I’ve been compelled to consider other, and perhaps more all encompassing terms, for what many microtonal composers, theorists and musicians have long called full-keyboard microtuning. Possibilities could be something like ‘full-controller microtuning’, or even more to the point, MIDI Pitch Microtuning.
For purposes of discussion, this article will use MIDI Pitch Microtuning, or MPM, to indicate what is one of the most important features required for any virtual instrument that is intended for serious microtonal and xenharmonic music composition.
But what exactly is MIDI Pitch Microtuning?
Well, it’s very simple, and there is a strict definition for this feature…
MIDI Pitch Microtuning enables musicians and composers to arbitrarily re-tune, or microtune, each and every MIDI Note to any desired frequencies, thereby changing the underlying intonation system of the musical instrument.
Any full implementation of MPM does this by default, and with extreme high precision, is able to remap every MIDI Note to entirely new pitches – and importantly – it remaps the pitches without the need to offset or transpose the oscillators of the instrument to achieve these target pitches.
It’s important to recognize that any virtual instrument that does not meet this simple criteria of being able to arbitrarily re-tune every MIDI Note – without the need to offset oscillator pitches – does not feature, by definition, MIDI Pitch Microtuning.
In upcoming articles, there will be discussion about various popular microtuning formats, such as TUN, Scala SCL/KBM and MTS. There will also be information on how to create these microtuning files for your virtual instrument and how to use the keyboard mapping features of Scala.
Stay microtuned,
 Posted by at 10:37 pm