Sevish Music

You are browsing the Tutorials category

Mapping microtonal scales to a MIDI keyboard in Scala

I recently wrote a tutorial about how to change the root note of your microtonal scale, where I used Scala’s Edit Mapping dialog. There is so much more I want to say about keyboard mappings. This time I’m explaining how to map various microtonal tunings on to a standard MIDI keyboard in a sensible way.

Needless to say, this topic is important for musicians who want to use microtonal tunings on their standard MIDI keyboard controller. I’ll be using Scala for this tutorial.

First, an explainer on “scale degrees”

This is an incredibly simple but powerful idea. Scale degrees are numbers that describe the order of notes in a scale. The root note of a scale is always scale degree 0, and the degree numbers increase as you go up the scale. For a 7 note scale, the scale starts on degree 0, then passes through 1-6. When we reach 7, we’re an octave up from where we started. In this case, 7 would be called the octave degree.

The familiar 12-equal scale could also be described with scale degrees. Let’s take C to be our root note, so C = 0. The rest is as follows:

Name C C# D D# E F F# G G# A A# B C’
Scale degree 0 1 2 3 4 5 6 7 8 9 10 11 12

When we’re working with large scales, notating by scale degree becomes an efficient way of describing what notes we want to play. We will also use scale degrees to tell Scala how to map notes to a keyboard.

How to map a 7-note tuning to the white keys

Imagine we have an excellent microtonal 7-note scale, such as 7-EDO, mavila[7], or something else. By default, your synth maps these notes linearly and chromatically across your MIDI keyboard. Press the C key, and at the same time press the key which is 7 steps above it (that’s a G). You will hear an octave! That’s incredibly jarring, because we expect to hear an octave from C to C, not from C to G.

Linear mapping of a 7-note scale on to chromatic keys:

Linear keyboard mapping of a 7 note scale

The scale degrees in red are octaves. NOT fifths!

Custom mappings help to make a regular pattern that is much more familiar and easy to navigate:

Keyboard mapping with a 7-note scale on the white keys

The diagrams above should make it obvious that linear mapping is a problem. With linear mapping, fingering becomes irregular as you go up and down by aural octaves. For a 7 note scale, we can simply skip out the 5 black keys to get a regular, repeating pattern.

Start off by loading a 7 note scale into Scala. I simply typed ‘equal 7’ to get 7-EDO.

Then go to Edit > Edit Mapping (Alt+P).

The mapping should repeat every 12 notes on our keyboard, so set Size to 12. Remember that’s 7 notes from our scale, plus 5 black notes we’ll skip out, totalling 12.

Set a value for Formal octave degree, which is 7 in this case.

Fill out the remaining fields as shown below:

If you don’t see the fields at the bottom, make sure you enter a value for Size. Scala will then create the empty fields for you automatically, and you can type in the scale degrees that you want for your mapping.

Note that we’re skipping the sharps/blacks, so you can leave those fields blank. Or if you’re like me, you will see this as an opportunity to enter duplicate notes and create a sweet sounding pentatonic mode from the main scale.

Once you’re done, click Save As and save the resulting mapping file. Scala mappings are saved in .kbm format. The great thing about this, is that you can mix and match your .kbm mapping files with .scl tuning files that you have collected. So if you have several .scl tuning files with 7 notes, then you can use this same .kbm mapping file on all of them.

While you have a scale and a mapping loaded at the same time, now is a good time to export your tuning for softsynths, or relay it to hardware synths. It feels much easier to play with the new mapping.

How to map a 12-note subset of a larger tuning

Now imagine that we have a tuning much larger than 12 notes, and we want to select just the notes that we want to map on the keyboard. For example, let’s try the calm vibes of 31-EDO. Just for context here is some music written in 31-EDO. 31 is a very nice meantone temperament, very close to quarter-comma meantone.

Here is how 31-EDO would be linearly mapped to a keyboard:

Linear mapping of 31-EDO on to a keyboard

I don’t know about you, but my hands aren’t wide enough to hit that octave.

Seriously this is just ridiculous. 31 notes is too many for most musicians to keep track of, so let’s just pick 12 notes for our mapping:

Keyboard mapping for 31-EDO, quasi-12-equal

The 12 notes that I selected give a quasi-12-equal. But you should feel free to choose your own notes and experiment with what your ear likes.

Go to Edit > Clear Mapping to reset your mapping back to normal, then go to Edit > Edit Mapping to open the keyboard mapping dialog. Fill in the Size (12) and Formal octave degree (31) then enter the scale degree for each note of the mapping.

Scala keyboard mapping dialog for 12-note mode of 31 equal temperament

As before, now is a good time to save your .kbm mapping file, and load it up on a synth of your choice.

How to map a 12-note subset of a larger tuning (alternative method)

Instead of using Scala’s keyboard mapping functions, we could do it with the mode command instead. The mode command lets you choose a subset of notes from your currently loaded scale, and then it deletes the remaining notes.

The end result would be a single .scl file with the extra notes removed, instead of the usual .scl and .kbm pair (containing the full gamut of notes plus tuning information). You might use this method if your synth supports .scl files but not .kbm files.

Imagine that we want to recreate the above quasi-12-equal mode from 31-EDO. Just type these commands into Scala:

equal 31
mode 3 3 2 3 2 3 3 2 3 2 3 2

You’ll get the following output from Scala:

  0:          1/1               0.000000 unison, perfect prime
  1:        116.129 cents     116.129032
  2:        232.258 cents     232.258065
  3:        309.677 cents     309.677419
  4:        425.806 cents     425.806452
  5:        503.226 cents     503.225806
  6:        619.355 cents     619.354839
  7:        735.484 cents     735.483871
  8:        812.903 cents     812.903226
  9:        929.032 cents     929.032258
 10:       1006.452 cents    1006.451613
 11:       1122.581 cents    1122.580645
 12:          2/1            1200.000000 octave

Note that, when you use the mode command, you enter the difference (in scale degrees) between successive notes of the scale. The table below shows you how the difference between scale degrees relates to the scale degrees themselves.

Scale degrees 0 3 6 8 11 13 16 19 21 24 26 29 31
Difference 3 3 2 3 2 3 3 2 3 2 3 2

You should also notice that 3 + 3 + 2 + 3 + 2 + 3 + 3 + 2 + 3 + 2 + 3 + 2 = 31. The sum of these digits must be equal to the octave degree, which is 31 in this case. Otherwise, the mode command will give you an error: Scale and mode size are unequal.

Further exercises

  • Load up a random large EDO, such as 23-EDO or 50-EDO, then pick a really fruity sounding pentatonic scale to map to the black keys.
  • Combine this tutorial with the previous tutorial: Create a custom keyboard mapping that also sets a base frequency and base key.
  • Experiment with Moment of Symmetry scales (e.g. mode 2 2 2 1 2 2 in 11-EDO, or mode 1 2 1 2 1 2 1 2 1 2 in 15-EDO).


Scala tutorial – how to change the key of your scale

So, you’re making your own microtonal tunings in Scala. You’ve explored for a while and came up with all kinds of original scales by yourself. There’s just one problem — all those scales are in the key of C! This quick tutorial will show you how to change key in a microtonal scale using Scala.

Changing key in Scala

By default, Scala will assume that the base note of the scale (1/1 or unison) lives on MIDI note 60 (middle C of the keyboard) at a frequency of 261.6 Hz. To change this, we use the Edit Mapping dialog. You can find it at Edit > Edit Mapping.

This page looks confusing, but there are only 3 fields we need to change in order to change the key of your scale.

The first field to change is ‘Key for 1/1’. This field tells Scala which key on a physical MIDI keyboard you want to use for 1/1 (the first note of your scale). You can change this value by 1 for each semitone away from C. For example if you want your scale to start on D then you can enter 62 here. For A above middle C, use 69.

Next, set the ‘Reference key’ field to be the same value as ‘Key for 1/1’. This might seem redundant, but there are situations where they would differ. For an easy time, make these two values the same.

Finally, we can set the ‘Reference frequency’ to any frequency in Hz. So if we want to play in the key of D, we would enter 293.66Hz.

Note name C C#/Db D D#/Eb E F F#/Gb G G#/Ab A A#/Bb B
MIDI note number 60 61 62 63 64 65 66 67 68 69 70 71
Frequency 261.63 277.18 293.66 311.13 329.63 349.23 369.99 392.00 415.30 440.00 466.16 493.88

Saving your keyboard mapping for re-use

You should save your mapping to use it again later. To do so, you’ll need to open the Edit Mapping dialog again (Edit > Edit mapping). Just click on the Save As button that appears on that dialog.

scl/kbm format

Scala saves mappings seperately from tunings. The keyboard mapping data is saved into a .kbm file. You can mix and match your .scl tunings with your .kbm files.

Alternative formats such as the AnaMark TUN file (.tun) store the tuning and the mapping all in one file. So if you’re converting a .scl file into a .tun file, make sure that you have loaded your .kbm keyboard mapping beforehand. The same advice applies if you’re using Scala’s relay feature to retune a hardware synth via MIDI.

Some frequencies are better than others

A little tip for you EDM-loving bass music explorers. The most bootyshakingest bass lives around 45-55Hz. That range approximately covers the keys of F# to A.

You can also use this tutorial to tune scales to 432Hz. Before you follow the tutorial steps, stand outside and absorb sunlight for 10 hours while noticing that the horizon is indeed flat and not a curve. If you see a chemtrail, stand for an extra hour. Finally you can click Save As.

That’s it

Thanks to Paris for suggesting this tutorial. I recently overhauled and it’s now possible to email me directly from my contact page. Most of my tutorials these days were requested by people who discovered my blog. Feel free to send in suggestions.

Further reading

Microtonal piano roll for Ableton Live

Here’s a tutorial to help you make microtonal music in Ableton Live. We’re going to mod Ableton Live’s piano roll to play 22-tone equal temperament (aka 22-edo). You can apply this technique to other piano roll designs, with some limitations discussed later. Abletonalists unite!

First I should provide some context as to why this tutorial will be so useful. Check out this mindblowing M-Audio Keystation 88 with the keys rearranged to play 22-edo. It was a little project of William Lynch‘s a few months ago.

William Lynch's 22-tone per-octave M-Audio Keystation 88

This keyboard layout is Steve Rezsutek’s design as discussed in Paul Erlich’s paper Tuning, Tonality, and Twenty-Two-Tone Temperament.

There are gaps between some white keys because white keys actually come in different shapes and sizes, making things look a little messy when rearranged. You also need extra black keys to make this work, so you can see a few missing at the upper end of the keyboard. Spare keys can be found on second-hand broken keyboards or bought as replacement from the manufacturer. Soon we’ll be able to 3D print each key for any given piano roll layout (this could be a great project for a music technology student). Obviously this is all very DIY, but at this point in time nobody is mass producing microtonal instruments. Everybody in the microtonal scene right now hacks and invents their own unique stuff.

Truth be told, I’m planning to use some of my Rhythm and Xen album sales to buy a new keyboard and make one of these for myself.

The goal of this tutorial is to recreate Rezsutek’s keyboard layout in the Ableton Live piano roll. Erlich suggests to remove all the E notes, so that you have something that looks like below:



Not only will this tutorial show you how to make a dope 22-note piano roll like above, but you’ll also be able to actually HEAR and PLAY music in this novel tuning system. It’s a beautiful system that includes such wonderful intervals as the subminor third, the 7th and 11th harmonics, and near-quartertones, plus a variety of rich chords, progressions and comma pumps.

This technique isn’t specific to 22-edo; you can adapt the method for other tunings too.

To make this happen, we will be using the piano roll ‘Fold’ function, as well as taking a few other steps to make everything sound correct.

Making the layout in Live

This is the easiest part, and you might know this trick already if you’re knowledgeable with Ableton Live. We will create a MIDI clip that has one massive chord containing every note except for all the Es. Then we will enable Fold so that the Es disappear from the piano roll. So let’s look at it step by step:

Create yourself a new MIDI clip and make sure that Fold is disabled. Then start building up a chord containing all the notes except for the Es:


It’s easiest to work up from the bottom. Once you have made one octave you can copy and paste to fill in the rest of the notes.


Once you have added all the notes from C-2 to G8 you can move the whole chord to the left, so that it is outside of the range of the clip. This way, you won’t hear an almighty cluster of pain when you play the clip.


Ctrl+A to select all the notes in the chord, then tap 0 to disable all the notes. This will protect you from hearing these notes if you have MIDI Editor Preview enabled.

Then click on the Fold button to enable it. All of the Es will disappear from the piano roll.


Just ignore the note names (C4, C#4 etc.) because they don’t have any relation to 22-edo.

Making the tuning file

Now we have our custom piano roll layout set up in Ableton Live, but that doesn’t mean that the notes will play a 22-edo scale. You can’t just drop Operator on to the MIDI track and expect everything to be tuned to 22-edo automatically. At this point, you should make sure that you have some kind of MIDI instrument or VST/AU plugin that supports microtonal scales.

I will use Scala to design a tuning file with 24 notes in total. Each note will be tuned to a note from 22-edo, and 2 of the notes will be duplicates that fill in the missing Es.

First we type ‘equal 22’ into scala and hit enter. This generates the scale. Then we click on ‘Edit’ to see all of the notes that were generated. By Scala tuning standards, 1/1 will fall on middle C at ~261 Hz unless a keyboard mapping is specified. So we can assume 1/1 is C, and therefore the notes 218.18182 and 818.18182 should be duplicated to fill in the missing Es.


You can just select 218.18182 and 818.18182, then Ctrl+C and Ctrl+V to duplicate them. Finally, click on the ‘Ascending’ button to make sure that all the pitches are in the correct order. Click OK when done, and save your progress.

Or if you’re too lazy for all of this, save the below text as a .scl file:

! 22-edo-no-Es.scl
22-EDO with no Es

All that’s left is to export this scale for the synth you’re using. You can read your synth’s manual to determine which format of tuning file it needs. Then export the correct format file using Scala. Watch my YouTube video tutorial below to find out how to export various kinds of microtonal tuning files with Scala.

Making it all come together

Head back to Ableton Live as quick as possible, then drop an awesome VST instrument on to the MIDI channel you used earlier. Load the tuning file you created into the VST, then jammmmmm. The setup is finished, so start writing!

Remember that octave transpose works differently now because your scale actually spans (what Live thinks of as) 2 octaves:

Ctrl+↑ to move a note up by a tritone.
Ctrl+↑↑ to move a note up by an octave.
Ctrl+↓ to move a note down by a tritone.
Ctrl+↓↓ to move a note down by an octave.

Make sure to read Paul Erlich’s paper Tuning, Tonality, and Twenty-Two-Tone Temperament for more insight into the musical possibilities of this scale.

Download an example project

Update: I made an example project with one MIDI clip already set up for you. In the project folder you’ll also find tuning files in 3 different formats.

Applying this to other tuning systems

I suspect that the Fold method will work easily for any scale less than 12 notes. It will also work for any even-numbered scale with 12 to 24 notes in total, as long as the pattern of white and black notes repeats every 12 MIDI notes. This is because the “octave transpose” function (Ctrl+↑ or Ctrl+↓) in Ableton Live’s piano roll transposes by 12 notes and ignores folding. So an asymmetric piano roll layout will be broken by octave transposition.

Music in 22

There’s a long list of 22-tone music on the Xenharmonic Wiki. And here’s a song I created in 22-tone equal temperament back in 2010:

Further exercises

  1. Use the Fold method to create piano roll layouts for other tuning systems.
  2. Find out if absolutely all piano roll layouts are possible with the Fold method. Why/why not?
  3. Recreate this software piano roll in hardware by disassembling a MIDI keyboard and re-arranging the black and white keys by hand. (How to remove keys from an M-Audio Keystation)
  4. If you’re still trying to figure out why the piano roll needs to be modded in the first place, read my article about why DAW developers should design a better piano roll.
  5. Start evangelizing to audio technology developers, asking them to support microtonal piano layouts and microtonal tunings.

Video tutorial – How to export various tuning file formats in Scala

I have covered this topic before on my blog, but I thought I could do better and make a short video tutorial.

When you’re designing musical tunings in Scala, you might eventually want to export your tuning to use it in a synthesizer. Synthesizers support various tuning file formats, so you’ll need to know how to make a few different kinds. This video shows you how to export Scala files (.scl), export AnaMark tuning files (.tun), and export MIDI Tuning Standard dumps (.mid). Right at the end of the video you’ll also find out how to retune other synths like the Yamaha DX7ii.

Making microtonal music with tracker software

A tracker is a type of music sequencer that was popular back in the day. The tracker scene is still alive, and you can thank it for all the catchy tunes you hear while using keygens. A handful of trackers also support microtonal scales, and I wanted to share some of those today.

OpenMPT (Open ModPluG Tracker)

Open ModPlug Tracker is a completely free music tracker for Windows. It can also be microtuned, so that you can compose music that explores tonal systems made before and after the reign of 12-tone equal temperament (from here on referred to as ‘The Dark Ages’).


OpenMPT can be microtuned by way of Scala files or TUN file import. (Learn how to produce those .tun files, or download some ready made tuning packs). You an also input notes directly, though they must be in the form of decimals. Once a tuning is imported into OpenMPT, you can edit it within the Tuning Properties screen.

OpenMPT microtonal tuning

One awesome feature is that OpenMPT will name the notes of your tuning with letters A-Z from the alphabet. This way, if you have more or less than 12 notes per octave then you can easily recognise your pitches. A5 is one octave above A4, X5 is one octave above X4 etc. It’s as easy as that. (DAW engineers take note, this is essential for microtonalists! We don’t need to see 12-TET note names when we’re using microtonal scales).

If you need even more control over your note pitches, it’s possible to fine-tune the frequency of each individual note.

Note that if you’re using VSTs within OpenMPT, the microtuning feature won’t work for those. Stick to the sampled instruments and your OpenMPT tunings will work just fine.

Little Sound Dj

LSDj (Little Sound Dj) is a music tracker made for the original Game Boy, utilizing the Game Boy’s sound capabilities. It will run on real hardware via a flash cart, or you can run it in an emulator. I run it on an emulator on my smartphone. It’s a great way to kill some time on the bus/train/toilet.


By default, the frequency tables inside the ROM file are tuned to 12-tone equal temperament. But with the aid of a super helpful Perl script by abrasive, the frequency tables in LSDj can be fully microtuned to any tuning system you want. Even non-equal, non-just and non-octave scales are possible – it’s very flexible!

To do this, first of course you’ll need a copy of LSDj, then head to the Microtuning HOWTO page on LSDj’s wiki and download lsdj_tune1.4.

Note, the compiled .exe for lsdj_tune1.4 may give you the following message:

&Config::AUTOLOAD failed on Config::launcher at PERL2EXE_STORAGE/ line 72.

So it’s best to install Perl on your system and run the Perl script itself. For me, this works just fine. But note that you need to use the command line in order to run the script.

With all that set up, your best bet is to move LSDj and the tuning script into the same directory, then make a .bat file to set up your tuning command. I prefer using a .bat instead of writing directly in the command line, because I can save my command, edit it and repeat it later when I want to change the tuning.

When you run the command, you’ll end up with a patched version of the original ROM, so for each tuning you wish to use, you’ll get a new ROM. My Game Boy folder has several of them for various tunings.

Similarly to OpenMPT, with lsdj_tune you can set the note names of your tuning. This way when you make music in LSDj you won’t be encumbered with 12-TET note names from The Dark Ages. Here’s a really simple example using 5-EDO and the note names U V X Y Z:

perl lsdj_tune1.4.perl --cents 0,240,480,720,960,1200 --base A5 440 --names U,V,X,Y,Z --rom --out

Note: the names parameter doesn’t work in ET mode so here I have specified 5-EDO explicitly using cents.

Then load up your new patched LSDj ROM and enjoy! — 2 pulse channels, 1 PCM channel and 1 noise channel is way more exciting with microtones.



Renoise instruments can be retuned by using a neat scl to xrni tool.

First you’ll need to download some Scala files (or make your own). Then install the tool by downloading it and dragging it on to your Renoise window. Within Renoise, make sure that your instrument is selected, and then run the tool. You’ll be able to load up one of your Scala tuning files and it will be applied to the instrument.


MilkyTracker doesn’t have any microtuning function built in, but you can edit the pitch of each individual note. This can be done by using edit mode and assigning the same sample to different notes of the keyboard, each with some detuning.

Obviously this takes a while to set up, so you might find OpenMPT to be more user friendly. Nevertheless this hasn’t held some people back. Here’s the proof, a tasty jam in just intonation using MilkyTracker:

Other trackers

If there are more trackers that support microtonal scales then I would love to hear about them.

Important links

Further reading

FM synthesis with Xen-Arts FMTS 2 video tutorial

This is my first video tutorial, showing how to design a distorted bass sound using FM synthesis in Xen-Arts’ FMTS 2 VSTi.

FMTS 2 is a freeware VST instrument for Windows which allows you to play microtonal scales. It’s developed by Xen-Arts. The FM operators can themselves be tuned to microtuning-related frequency relationships, so that the timbre has a sort of spectral microtuning within it. Quite mindblowing stuff and seriously underrated.

Download Xen-Arts FMTS 2–

The tutorial just demonstrates a basic workflow, and it’s possible to go way deeper with this synth. If there is any interest in further videos like this, best to leave a comment below or on the YouTube video itself.

Free Ableton Drum Racks to customise your piano roll

I’ve written before about how DAWs don’t often allow a custom piano roll designed for microtonal musicians. If you’re using a scale with more or less than 12 notes, then the piano roll doesn’t match up with what you hear from the synth. As an Ableton Live user, I wanted to know what workarounds I could use right NOW in order to make composing microtonal music a little easier.

My goal: display custom note names for every note on the piano roll!

Enter the Drum Rack

Live Drum Rack set up for custom note names

Using a Drum Rack, it’s possible to change the note names displayed in the piano roll. Load up one of my sample Drum Racks (download here) and add it to an empty MIDI track. Create a MIDI clip on that track and make sure that ‘Fold’ is enabled on the piano roll. You should see something like below:

Ableton Live piano roll with a custom 9-note scale mapping

The example above shows a 9-note scale using the letters A B C D E F G H J.

Then, you must load your instrument on a new MIDI track, and connect the MIDI input of that track to the Drum Rack track (pre FX).

Routing for custom piano roll trick in Ableton

Once this routing is set up, you can compose in the piano roll of the Drum Rack track. The note names here can be a useful guide when you’re composing with microtonal scales.

Making these Drum Racks is time consuming because you have to name all 128 notes individually. I have done the hard work for you and made a pack of Drum Rack presets that you can drop into your project. Each one assumes that MIDI note 60 is middle C (this is the default for Scala keyboard mappings).

5 note scale: C, D, E, A, B
6 note scale: C, D, E, F, A, B
7 note scale: C, D, E, F, G, A, B
8 note scale: C, D, E, F, G, H, A, B
9 note scale: C, D, E, F, G, H, J, A, B
10 note scale: C, C#, D, D#, E, E#, A, A#, B, B#
11 note scale: C, C#, D, D#, E, F, G, G#, A, A#, B
12 note scale: lol
13 note scale: C, C#, D, D#, E, F, F#, G, G#, A, A#, B, B#
14 note scale: C, C#, D, D#, E, E#, F, F#, G, G#, A, A#, B, B#
17 note scale: C, Db, C#, D, Eb, D#, E, F, Gb, F#, G, Ab, G#, A, Bb, A#, B
19 note scale: C, C#, Db, D, D#, Eb, E, E#, F, F#, Gb, G, G#, Ab, A, A#, Bb, B, B#
22 note scale: C, C#, D, D#, E, E#, F, F#, G, G#, Hb, H, H#, J, J#, K, K#, A, A#, B, B#, Cb

>> Download the pack of Drum Racks (.zip) <<

About the chosen note names

The note names that I chose for some of the mappings are somewhat arbitrary. But there is some method to the madness.

The note names for the 5 note through to the 9 note mappings just assign a unique letter for each note. The 10 note mapping has 5 naturals and 5 sharps. The 11 note mapping is similar to the standard 12 note mapping, without F#. The 13 note mapping is similar to the standard 12 note mapping, but B# is added. The 14 note mapping uses 7 naturals and 7 sharps.

The 17 note mapping is based on a circle of fifths. C# is actually higher than Db because the fifth is tuned sharp (i.e. it’s a superpythagorean tuning).

The 19 note mapping is also based on a circle of fifths.

The 22 note mapping is designed for 22-EDO, so that the naturals give you a symmetrical decatonic scale such as those described in Paul Erlich’s paper Tuning, Tonality, and 22-Tone Temperament.

The limitations of the Drum Rack method

There seems to be a performance drop if you have too many of these Drum Racks active. I’m using a 4 year old laptop, and editing the Drum Racks become tedious once there were about 4 of them active.

But the main problem is that you can’t change the colour of the notes, so you’re still stuck with the 7-white 5-black Halberstadt layout. Try to look at the note names and ignore the note colours.

It would be a great help if Ableton would implement some kind of key colour mapping feature in the Live’s piano roll. The only way this could happen is for users to actively ask for it. You should go and make the feature request now at Ableton’s forums and beta website.

More words about microtonal computer music

My workflow for making microtonal music in Live
Why DAW developers should design a better piano roll
VSTs for playing and composing microtonal music
Microtonal music in Bitwig Studio

What’s the difference between ET and EDO?

What is the meaning of ET and EDO, and are they interchangeable?

ET: Equal Temperament
EDO: Equal Divisions of the Octave

In practice, yes they are interchangeable. For example, 12-ET and 12-EDO both refer to the exact same tuning which has 12 equal notes per octave. But there is a slight difference in their meaning.

12-ET suggests that the tuning is a temperament, i.e. it tempers some other interval, usually a just interval. 12-ET tempers 81/80, the syntonic comma, and other intervals.

12-EDO suggests that an octave has been divided into 12 equal parts, but otherwise doesn’t imply that tempering is of importance.

Some people will even say ET for 12-ET, 19-ET and 31-ET, while using EDO for 8-EDO, 13-EDO and others. Perhaps because 8-EDO and 13-EDO are not thought of as temperaments, whereas 12-ET, 19-ET and 31-ET are all useful meantone temperaments.

Personally, I always use EDO in my own thinking and private communication with other microtonalists, but will use TET or ET when I need to be understood by a larger, mixed audience.

To complicate things further, some folks use ED2 or ED2/1 synonymously with EDO, because the octave is equal to the ratio 2/1. The good thing about this format is that we can generalise it for other scales that divide some interval into equal parts (e.g. EDphi, ED3/2, ED4). I welcome the move to this kind of generalised terminology that helps us describe more tunings with less words.

The world of xenharmonic jargon is often difficult to navigate. Once you get your head around it, you can forget about the tuning theory politics and remember that the important part is to make inspiring and enjoyable music!

Microtonal music in Bitwig Studio

Bitwig Studio Microtonality

If you’re making music with Bitwig Studio, did you know it is also capable of playing microtonal music? It’s not difficult to set up – in fact Bitwig is already a shade above Ableton Live in terms of microtonal scale support. In this article I’ll discuss some possibilities and limitations for microtonal music in Bitwig Studio.

Pitch bend method

If you’re the kind of musician who wants to compose standard Western tuned music with the occasional microtonal melodic intonation, then the pitch bend method is an easy way to go. Bitwig essentially locks you into standard Western tuning (12-tone equal temperament) as a tonal framework, and you can specify your deviation from that tuning on a per-note basis.

Bitwig Pitch Bend

Yes, you heard correctly. Bitwig supports per-note pitch bend for its built-in instruments! This really lowers the barrier of entry for a basic level of microtonality.

But if you want to go deep, using a microtonal scale as your tonal framework, then things start to get fiddly because you’ll be using those pitch bends on almost every single note. Copy and paste will be your friend here.

Remember that per-note pitch bend does not work for VST instruments. The MIDI spec doesn’t support per-note pitch bend, so this technique only works for the Bitwig internal instruments that share Bitwig’s own unique data structure.

Equal temperaments with Bitwig Note MOD

You can use the Note MOD device to grab note information from any instrument track. That information can then be used to modulate other parameters within Bitwig’s instruments or effects.

Bitwig Note MOD

The Note MOD device can be set up to allow you to play in microtonal equal temperaments with the Sampler, FM-4 and Polysynth instruments. That’s because these 3 instruments have a Pitch setting that can be modulated. Use the Note MOD device with the KEY modulator to modulate the Pitch setting of your instrument. A negative value will cause the notes to become smaller than a semitone, while a positive value will cause the notes to become larger than a semitone.

This gives you a world of microtonal and macrotonal equal tunings to explore. But note that this method won’t allow you to play just intonation scales or other unequal scales.

VST instruments

Of course, due to the fact that Bitwig supports VST instruments, you can simply load up tried-and-true VST instruments that support microtonal scales.

If you have a synth that can be tuned via tuning file import, then you’ll need to know how to generate those tuning files or you could simply download a few ready-made tuning packs. And don’t forget to check your synth’s manual to find out how to import your tuning files.

This method doesn’t update the look of your piano roll even if you update the tuning in your VST instrument. So you’ll be stuck in a piano roll scordatura hell, where the notes on the piano roll don’t quite match up with what you’re hearing. But don’t worry, most other DAW microtonalists are in the same ring of hell as you. Get cosy, I’ve been here for years.

SysEx / MIDI Tuning Standard support?!

In the past, SysEx was how MIDI devices sent and received data for their specific functions. This was a long time ago, before everything was done in the box with a GUI. Some new VST instruments and many old keyboard synths support microtuning via MIDI Tuning Standard (MTS) SysEx messages.

It looks like Bitwig doesn’t support SysEx messages yet (as of Spring 2016), and we’re not sure if it ever will. So MIDI Tuning Standard based microtuning is ruled out for now, sorry. Let’s hope the developers will implement it for all us nerds in the future. Cross your fingers, say prayers, burn incense, and send the developers a feature request…

If you’re using the Xen Arts plugins in Bitwig Studio under Windows or WINE then you’d better just load the .mid tuning-dumps via the UI directly on the synth itself.

Bitwig modular microtuning

Bitwig Modular

In the core of Bitwig Studio there is a hidden modular environment that will later be opened up for musicians and tweakers to patch into. Without a doubt, Bitwig’s modular system could be used and abused to bend the notes in any which way you choose. Let’s wait for this one and see what the future holds.

If Bitwig Studio’s modular system inspires the same kind of sharing culture that Max for Live does, then it’s only a matter of time before some bright spark patches a microtuner plugin or microtonal synth in Bitwig modular.

If you know any other ways to squeeze a microtonal scale out of Bitwig Studio then drop a line in the comments.

Further reading

Sevish’s microtonal music workflow with Ableton Live and Scala

This is my answer to the question “Sevish, how do you make your music?”

I won’t discuss my creative process but I’ll explain my workflow and the tools used to get music made. What I like about my workflow is that it works superbly for me.



I use Ableton Live to write, record, and mix my music. Within Live, I load VST instruments that have built-in microtonal scale support. I use Scala to produce the tuning files necessary to retune those VSTis. I play the VSTis using my MIDI keyboard, C-Thru AXiS-49, QWERTY keyboard and through mouse input. I also sample recordings that I have made using my Zoom H4n portable recorder.


Ableton Live is a DAW (digital audio workstation) that has an effective workflow for electronic music. For my drum’n’bass, breakbeat electronic, it works just fine. Live has no built-in microtonal scale support, and the piano roll is always locked to a 12-note Halberstadt layout, which can be tricky.

It’s possible to make microtonal music in Ableton Live by using VST instruments or Max 4 Live instruments with microtuning support built in. As far as Ableton knows, MIDI data goes into these instruments and audio comes out. It’s up to the instruments themselves to provide the new tunings and scales that I use in my music.

I use a couple of Max 4 Live instruments that I made myself, plus several VSTi: Xen-Arts FMTS2, IVOR, XenFont, TAL-Sampler, u-he ACE and Garritan Personal Orchestra 4. All of these plugins have full keyboard tuning support, which is why I choose to use them. To tune up, they each require you to import a tuning file. I’ll elaborate on that later.


Before writing a piece, it works well to have an idea already of the tuning you want to use. Scala can be used to invent musical tunings or specify an old one. I have written about how to invent your own scales with Scala, described other superbly expressive tunings that already exist, and hand-selected some interesting scales to download.

Once I have a scale in Scala that bends my ear in just the right way, it must be exported as a tuning file for it to be usable in those VST instruments. The common formats are:

  • .scl (GPO4, Plogue synths, Pianoteq, ZynAddSubFX etc.)
  • .tun (u-he synths, Linplug synths, Omnisphere, Alchemy, Anamark etc.)
  • .mid MIDI Tuning Standard SysEx tuning dump (Xen-Arts synths etc.)
  • .txt (Max/MSP instruments that use the coll object)

I wrote a guide to exporting .tun files, and the process is much the same for producing MIDI tuning dumps and .txt tuning files.

(If you’re a Max/MSP or Max 4 Live user, I also wrote a guide to microtuning your patches with the coll object, and microtuning using expr).

After I have some tuning files to work with I’ll load them up in one of my synths, and jam away until I play something I really like. I don’t go too deep in to the theory of it all; I leave that up to others. Using your ear and finding sounds you like is a good way to go.

Sound design

I like to record sounds on location with my H4n portable recorder. After recording I keep the audio in my personal sound library until I’m ready to use them in a project.

I almost never use the preset sounds on my synths. It’s best to patch in your own sound designs because that becomes a recognisable part of your craft. It’s well worth practicing this skill for yourself. Some days I do nothing but come up with new sound designs with my fave synths. That way I can save them in my personal library and use them only when inspiration strikes.


The AXiS-49 is a hexagonal keyboard controller, and it’s best suited to exploring microtonal scales because it makes fingering really easy. Imagine trying to play a 15-note scale on a standard keyboard where the pattern repeats after every 12 notes… The fingering gets totally perplexing and that gets in the way of creativity. With the AXiS that’s no problem at all. The AXiS also greatly increases my reach, so I can play large chords easily.

The difficulty I find with the AXiS is that I use so many different tunings that it’s difficult to build up a muscle memory for any of them. And the buttons are so close together that I make mistakes quite easily.

It comes in handy to have a standard keyboard at times. I was given a 2 octave MIDI controller with some knobs on it which I can map to various functions in my DAW. Using this to recording automation in real-time is one way to breathe some life into a static synthesised part.

Finishing up

I mix and master in Ableton Live, then publish on my Bandcamp, YouTube and Soundcloud pages. Which you should definitely check out.