You are browsing the Tutorials category
Folks often ask me how do you make microtonal music on your computer? This article explains all the essential software and hardware I used to write my most recent album. My current setup is based on Linux, Bitwig Studio and various synth plugins. This article also discusses alternative software choices just in case your preferences differ to mine.
You could probably get away with using a 5 year old laptop for sure. My PC is an Entroware Ares with an Intel Core i7 processor, 16GB DDR4 RAM, one SSD and one spinning rust.
Isomorphic keyboards such as my C-Thru AXiS-49 work well for microtonal music because scale and chord fingerings remain the same in each key, whereas a standard MIDI keyboard requires you to learn a different fingering for each key. The keys are all nerdy lil hexagons, it’s cute. It just plugs in via USB and my system recognises it instantly as a MIDI input device.
I bought a second hand M-Audio Keystation 88es from Gumtree for 50 quid. Good deals can be had if you buy used. It’s my preferred MIDI controller; I even prefer it over the axis! There’s something about the traditional 1-D style keyboard that feels natural to play.
The acoustics in my office space are awful so I have my near-field monitors kept in storage until I eventually get a new space for music production. I actually used headphones to produce and master my last 3 albums. It’s not really recommended, but you can still get a good enough sound on headphones if you use references. My current headphones are Audio-Technica ATH-M50x.
If you want to record live audio using microphones then you’ll also want to get an audio interface. I skipped that part as I mostly just produce with softsynths and samples. I have a Zoom H4N that I sometimes use to record audio to SD card.
The Linux distribution you choose comes down to personal preference. If you want to replicate my setup it would be easier to go with a Debian-based distro so you can use the KXStudio repository (more about KXStudio down below). The screenshot below is from my own machine.
The distro I’m using is KDE Neon which is based on Ubuntu LTS. I’m into KDE because I find it to be lightweight, fast, stable and customisable to my liking. Of course it makes sense to run a lightweight desktop environment so you have more resources available for your audio software. XFCE and MATE are two other lightweight desktop environments that you could try.
Another option is to use a distro that is designed for audio and multimedia work, such as Ubuntu Studio. This way you get the low latency kernel and other audio tweaks set up by default. I really have no judgement here – just use what you like.
I rely on KXStudio applications to turn my Linux machine in to a music production powerhouse. There are quite a few parts to KXStudio so here’s a breakdown of what I found useful:
Cadence is a set of tools for audio production all in one application. It performs system checks, manages JACK, calls other tools and make system tweaks. It launches automatically when I boot, so I can then launch my DAW and get straight to having fun.
Carla is a plugin host that can load up various Linux synths and effects. There’s even a way to load Windows VSTs with it but I haven’t taken the time to figure that out – I’m happy with Linux-native software currently. The reason Carla is so crucial for me is that it can be loaded not just as a standalone app but also as a Linux VST. This is extremely useful if your DAW only supports VST plugins but you want to use LV2 plugins too – Carla acts as a VST-LV2 bridge in this case.
You can install the KXStudio apps by first setting up the KXStudio repo in your package manager. The repo also contains a large number of music plugins so you can install them via your package manager rather than compiling manually. This is so useful! It even contains all the u-he Linux synths (you still need to pay for a license as they are proprietary) and Zyn-Fusion (the new interface for ZynAddSubFX)!
When doing any kind of real-time audio processing or recording, you’ll want to use the low latency kernel rather than the generic kernel. This may help prevent crackling and reduce your system’s audio I/O latency. If you’re using a distro that is designed for audio work such as Ubuntu Studio then you already have this kernel. Otherwise if you’re using a generic distro you should search online for how to install and use the low latency Linux kernel.
You should also add your user to the audio group. This gives your Linux user permission to use desktop audio devices.
These days I’m using Bitwig Studio as my DAW. I will explain why below and also mention a few alternatives.
As a former Ableton user I found it easy to switch over to Bitwig Studio. Bitwig has a native Linux version which works well with the apps I installed from KXStudio. It is not free software – you buy a license and then get 1 year of upgrades. My first year expired recently but I’m happy to continue using my current version as it’s very stable.
Bitwig Studio supports Linux VST plugins, but note that it does not support Linux LV2 plugins. This is disappointing because most free/libre audio plugins seem to use the LV2 standard and not VST. And this is why the Carla plugin host is so essential – it allows me to bridge LV2 plugins into Bitwig!
Bitwig’s built-in synths support MPE polyphonic pitch-bend. Its piano roll allows you to detune each note individually using an intuitive interface. That does entail a lot of manual work but gives you unprecedented pitch control in a polyphonic setting. MPE is also quite future proof being that it’s part of the MIDI 2.0 spec. I’m waiting to see if future synths will work seamlessly with Bitwig’s implementation of polyphonic pitch-bend.
Some people will prefer using Bitwig’s polyphonic pitch-bend over my usual approach (which is to use plugins that can import tuning files – more on that further below)!
There are various alternatives to Bitwig Studio and I’ll mention a few below.
Ardour is one of the most widely used free-and-open-source DAWs for Linux. Supports MIDI and synth plugins, so you can use plugins to get microtones.
Reaper – one of the best DAWs on any platform, full stop. They have been working on a native Linux version that I hear is quite stable. The license is far cheaper than most other proprietary DAWs and the demo version gives full access to all features, including saving and loading projects, with no time limit (though you should really buy their thing if you use it a lot).
Reaper also lets you customise the key colours and layout of the piano roll. This is one of those issues that only microtonalists seem to understand is useful!
LMMS comes bundled with a modified version of ZynAddSubFX, so if you’re an LMMS user you already have a powerful microtonal synth to play around with.
Bear in mind that many synths don’t support microtonal tunings; they are locked in to 12-tone equal temperament. The synths that are bundled with your DAW will most likely lock you in (there are exceptions).
It’s for this reason that I use synth plugins that have built-in microtonal support. That way, it doesn’t matter which DAW you use as long as your DAW supports plugins. Below is a showcase of Linux-native plugins with support for microtonal tunings.
Surge is a powerful open-source synth that recently added support for microtonal tuning via .scl files. Keyboard mapping support via .kbm files is coming in a future update. It’s cross-platform and can run as an LV2 or VST plugin. You can also use it with VCV rack.
Zyn-Fusion is a powerful synth capable of additive, subtractive, FM and PM synthesis. It can be microtuned by importing Scala (.scl) files. Alternatively you can enter tuning data directly via the UI. It loads Scala keymap files (.kbm) which is very helpful.
Modartt’s Pianoteq is well known in the music world for its rather good piano sound. It’s a physically-modelled piano – this has some benefits over sample-based pianos. First, it has a tiny footprint of just a few megabytes storage, as opposed to the gigs and gigs often required by sample-based pianos. Second, you can tweak the parameters of the physical model to get interesting variants on the typical piano sound. Here’s an example that will interest microtonalists: you could design a piano with quietened even harmonics (e.g. harmonics 2, 4, 6, etc.) so that the timbre will blend better with the Bohlen-Pierce scale (this scale features primarily odd harmonics). This kind of sound design possibility is pure excitement for nerds like me.
I regard Pianoteq as a model example of how developers should implement microtuning features. It supports .scl files but also the .kbm format that allows the user to create any specific full-keyboard microtuning. Additionally they provide a tone circle graphic that allows you to visualise how the overtones of the piano timbre align with your tuning. That’s not necessary to have, but is a really nice feature.
Pianoteq supports Linux, macOS and Windows natively so it’s a good plugin for almost anybody who wants to write microtonal piano music. Just note that the Stage version has no microtonal support; you’ll need to get the Standard or Pro version if you want to retune the piano. A Standard license costs €249.
The v1 plugins (except for drumkv1) all support microtuning via .scl file.
As far as I’m aware samplv1 is the only microtonal-capable sampler plugin for Linux, so you will want to grab this!
kbm files are supported which means these synths can do full-keyboard microtuning. Your tuning can be saved per-instance or optionally saved as a system setting (in case you want to always use the same microtonal tuning in every instance).
This same developer also created the Qtractor DAW for Linux.
ACE – virtual semi-modular synthesizer
Bazille – virtual modular synthesizer
Diva – virtual analog synthesizer
Hive2 – wavetable synthesizer
Repro – virtual analog synthesizer
Zebra2 – various synthesizer
Many of the u-he synths have Linux versions available and can be microtuned using .tun file import.
Please be aware the Linux versions of our plug-ins are still considered beta. While the plug-ins are stable, we are not able to provide the same level of support for these products as we do for the macOS and Windows versions. Support is provided via the Linux and u-he communities on our forum.
I have a license for ACE and was using it on Windows for a few years. It’s nice to know that I can continue using it on my new setup.
EP MK1 is a free, physically-modeled electric piano plugin by Mike Moreno Audio. It has two methods for microtuning – you can dial in any equal temperament you want via the interface or you can load a text file containing a list of frequencies. The text file can be easily generated by Scale Workshop (I’m not sure if any other tuning software supports Pure Data text files).
I think EP MK1’s electric piano simulation is actually pretty usable within a mix. And with the recent addition of support for Pure Data text files it’s possible to tune every MIDI note to an arbitrary frequency. I finally have good reason to use this plugin on my next album.
Amsynth is a subtractive synth and it’s quite easy to use.
One to watch out for – Vital is a wavetable synth currently in development as of October 2019. It will support microtonal tuning via .tun or .scl file and will also be free and open source. The same developer created the Helm synth so I’m expecting good things.
Pure Data is a visual programming environment for audio similar to Max/MSP. It is free and very powerful.
Camomile is a VST wrapper for Pure Data patches. In other words, it allows you to turn your Pd creations into VSTs that you can load in to your DAW! It is cross-platform, so your creations can run on Linux, macOS and Windows.
The combination of Pure Data and Camomile is comparable to Max 4 Live.
Vinyl by Calf Audio is a vinyl emulation audio effect. So what, you ask. Well, it has one useful feature called ‘drone’ which applies an oscillating pitch-drifting to whatever audio you feed into it. If you dial in a lot of ‘drone’ you can recreate that warbly lo-fi tape-wow sound, or if you use just a little you can add a subtle intonation drift that will add interest to an otherwise perfectly accurate digital synth sound. Those of you who have composed just intonation music using digital synths will know the buzzing periodicity/phase-locking kinda sound. Just a little ‘drone’ adds enough error to the intonation to prevent that buzzing from happening.
Most synths don’t provide any interface for customising your own microtonal scales – instead they load a tuning file that you have to create yourself. For that, you’ll need some special software.
If you’re just getting started, try Scale Workshop – it can generate microtonal scales and export to a variety of tuning file formats. It’s free and open-source (MIT license). Because it runs in your web browser it doesn’t require installation. It works well on Linux, Windows, macOS, iOS and Android.
For serious experimenters, you might want to graduate from Scale Workshop and use Scala. It’s also free, and can be installed by following the instructions on their official website. It’s not as user friendly as the alternatives but it has about ten thousand cool features hidden away.
If you want to re-tune hardware synths or use MIDI Tuning Standard then you will want to get Scala and not Scale Workshop!
This is the important bit!! Once you have created a tuning file using Scala or Scale Workshop, simply load it up in your synth of choice. Read your synth’s user manual for how to do this. Now you can jam away in your chosen microtuning.
This year I released ‘Horixens‘, an album of microtonal electronic music. Tracks 1, 2, 3, 4, 7, 8, 9 are produced, mixed and mastered on Linux with Bitwig Studio. Tracks 5 and 6 were produced on my old Windows/Ableton rig but mixed and mastered on Linux.
Are you making music on Linux, or making any kind of microtonal music? Let me know in the comments what works for you and how you got it running! Everybody has a different workflow and we can all learn something from one another.
My first experience with Linux was Fedora Core 3 in the early 2000s. It was neat but I wanted to play Stepmania and Rollercoaster Tycoon so I stuck with Windows. Later I got into music production. Again, Windows stuck. The spell was broken by Windows 10 which is literally so bad. I got back into Linux and saw how much it had matured. That’s when I committed to it.
(I do use a MacBook Pro at work which is pretty good but has various issues of its own).
The transition to Linux was a gradual process and not free of frustration. But once you go through that pain, you end up with a rock-solid system. Recently I booted up the old Windows machine so I could go back to a couple of old projects and was quickly reminded of how often I used to deal with crashes on Ableton+Windows.
The main issue I’m finding (and others’ experiences will of course vary) is that most audio software developers target Windows and macOS but leave Linux out entirely. I think this trend is slowly reversing – and I have so much appreciation and respect for developers who add support for native Linux.
What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux plus KDE plus JACK plus Bitwig Studio plus Carla plus Scale Workshop plus ZynAddSubFX.
Hey microtonal gang. If you want to convert an AnaMark tun file to Scala scl (or other tuning format), here’s how you can do it using the Scale Workshop online microtuner.
Click New > Import .tun
Select any .tun file from your computer.
Click Export > Download Scala scale (.scl)
Save the .scl file to your computer. Finish.
The above method also works in reverse – you can convert a .scl scale file to a .tun file.
The Export menu gives a few other options, such as Kontakt tuning script, Max/MSP coll frequency list, or PureData text frequency list.
Scala .scl files do not preserve the base MIDI note nor base frequency. If you find that your converted .scl file isn’t in the same key as your original .tun file, then make sure you also export the Scala Mapping (.kbm) file. A .scl and .kbm used together should be in the same key as the original .tun file you imported into Scale Workshop. A .scl file used alone will assume note 1/1 is on MIDI note 60 (middle C) at 261.63 Hz. When you export a .tun file, it already contains the base MIDI note and frequency within it, so there’s no need to export a .kbm alongside the .tun.
Are your exported files not working as expected? Windows and macOS/Linux files work slightly differently. Click General settings and make sure your correct OS is chosen under Line endings format.
Read the Scale Workshop User Guide if you want to learn how to use this software to make microtonal scales.
A new web app called Scale Workshop allows you to design and play your own microtonal scales. You can also tune various other synthesizers with it. It has just reached version 1.0 and is now recommended for use by the wider musician community.
Scale Workshop has these aims in mind:
Scale Workshop puts a polyphonic synth right inside your browser. You can audition and perform your scales by playing with a connected MIDI controller, QWERTY keyboard, or by using the touch-screen overlay.
Convert scl files and convert tun files to various tuning formats. Export formats include Scala .scl/.kbm, AnaMark TUN, Native Instruments Kontakt tuning script, Max/MSP coll text format and Pure Data text format.
Share your scales with other people by copy-and-pasting the URL in your address bar while working on your scale. The recipient will instantly see your scale information and can play it using their keyboard. This is invaluable for communicating your tuning ideas with others, or allowing your musical collaborators to export your tuning in whatever format they prefer. Try it out.
Display frequencies, cents and decimal values for your tuning across all 128 MIDI notes.
Note that this list is incomplete.
This has been a labour of love for almost 2 years – I hope that many people will find it useful! If you want to share any work you’ve created with Scale Workshop then I’d love to hear about it.
Now that Scale Workshop is in a stable state, I am going to focus my attention back on composing new music and hosting the Now&Xen microtonal podcast.
I’m always keen to see how other musicians are creating microtonal music and the ideas behind their craft. For a few years now I have been building a YouTube playlist of microtonal music tutorials and explanations. As the playlist now has over 140 videos, it’s a good time to share these hours of content with others.
One thing that makes microtonality fascinating is that the newcomers are exploring new tonal structures that even the old masters haven’t heard of. But new or old, when a musician shares their insight in a video, I include it in the above playlist.
The playlist features videos from: Tolgahan Çoğulu, Adam Neely, Dolores Catherino, minutephysics, This Exists, Elaine Walker, Stephen James Taylor and others.
The golden ratio, also known as φ (phi) or approximately 1.618, is a number with some trippy properties. It’s no wonder that many people treat the golden ratio with a great deal of mysticism, because (here’s the cliche part) it appears repeatedly in nature and also crops up in many fields of mathematics. And we all know that mathematics is the language of the universe. Duuude.
So I want to talk a little about the golden ratio and how it might sound if we used it as a musical interval.
You may have seen or heard some youtube videos which exclaim “this is what the golden ratio sounds like!!” — These are almost always based on the decimal expansion of phi, where each digit is assigned to a note of the major scale. I won’t give an example here because it’s such an unimaginative Western-centric interpretation of nature’s finest ratio. Just imagine the background music for a shitty Google commercial, children and mothers playing, young trendy people smiling while looking into their laptops, and you get the idea.
Let’s have none of this. The truth is that the golden ratio, as a musical interval, is gritty, dirty, dissonant, inharmonic, and not remotely like you’d expect. And it’s explicitly microtonal.
Take for example John Chowning’s Stria, an important electronic work from 1977, using his then-new discovery of FM synthesis. The golden ratio is used as the interval between carrier and modulator, such that the resulting timbre is an inharmonic cloud of golden-ratio-related partials. To get a sense of what the golden ratio may sound like as a musical interval, start from here and let the sounds slowly work their way into your brain.
Here is something that causes confusion time and time again. There are two musical intervals which both claim to be the golden ratio! How is this possible?
Consider the octave in terms of cents. Cents are a musical measurement of pitch which divide the octave into 1200 logarithmically equal parts. This means that 200 cents is equivalent to an equal-tempered whole tone, 100 cents is equivalent to a semitone, 50 cents is equivalent to a quartertone, etc. So our first version of phi will simply divide 1200 by phi:
1200 / φ = 741.6407865 cents
~741 cents sounds like a horribly sharp fifth. Well, we already know that the golden ratio sounds dissonant, so this could be the golden ratio that we’re looking for. But first let’s look at the other contender:
1200 * log2(φ) = 833.090296357
While both of these intervals could be used to generate scales that you could play interesting music with, only one of them gives me that one-with-the-universe vibe. To find out why, we need to look at a psychoacoustic effect known as combination tones.
It is a simple fact of psychoacoustics that any two tones that you play will produce additional combination tones. There are two types of combination tone: difference tone and sum tone. The sum tone is calculated by summing the frequencies of the two tones. The difference tone is calculated by subtracting the frequency of one tone from the other.
Let’s play A (440Hz) and E (660Hz) on the keyboard and work out these combination tones for ourselves.
Difference tone = 660Hz - 440Hz = 220Hz Sum tone = 660Hz + 440Hz = 1100Hz
The difference tone sits an octave below the root note of A. This is the reason why you hear the missing fundamental being “filled in” by your brain when you play a power chord or a just major triad.
As for the sum tone, it is tuned to the 5th harmonic above that missing fundamental of 220Hz, because 220Hz*5=1100Hz. The 5th harmonic is a just major third plus two octaves. The sum tone is perhaps one of the reasons why the just major triad is such a stable and pleasing sonority.
Just to recap: If I play TWO tones (440Hz and 660Hz), your brain hears FOUR tones, (220Hz, 440Hz, 660Hz, 1100Hz). The effect is subtle, and the combination tones are heard a lot more softly than the real tones, but the effect can be perceived. Bearing that in mind, let’s work out the combination tones that appear when using the golden ratio interval.
We shall play a 1kHz tone and a ~1.618kHz tone. The interval between these two tones is the golden ratio of ~833 cents.
Difference tone = ~1.618kHz - 1kHz = ~0.618kHz Sum tone = 1kHz + ~1.618kHz = ~2.618kHz
What’s interesting about these combination tones is that they are themselves related to the original tones by the golden ratio. This is easy to demonstrate:
1kHz / ~0.618kHz = φ ~2.618kHz / ~1.618kHz = φ
All four of these tones are related by the golden ratio! If we calculate the 2nd order combination tones, 3rd order, and so on, we’ll find the same thing again and again. Every combination tone is connected to some other tone by the golden ratio. This is exactly the recursion effect that we expect to find when we use the golden ratio properly.
However this landscape of recursive inharmonic partials can best be described as a chaotic and complex mess. This is an extreme contrast to the use of the golden ratio in visual proportions, paintings, architecture, flowers and nautilus shells, which most people would agree appear harmonious and pleasing. But that’s just the truth of it. The ear works in weird ways. Not all visual forms have an analogue as sound.
By now it should be clear that golden ratio music has some interesting properties that the Western equal-tempered scale could scarcely hope to reproduce. If you have some highly accurate micro-tunable instruments and perhaps some scale-designing software such as Scala, alt-tuner or LMSO, then your next step is to design a scale that features the golden ratio.
There are many possibilities when making your own phi-based scale, but today I will only give you one. Developing your own golden ratio scales is left to you as a rainy day exercise.
Almost all scales contain an interval of equivalence, and for most scales that interval is the octave. In octave-based systems, a note such as C appears many times, and each C is separated by one or more octaves.
By the way, an octave is a ratio of 2. If you play an A at 440Hz and then play the A’ one octave higher, the higher pitched note would be 880Hz.
For our scale, we want to pack in as many golden ratios as possible. There’s no room for any boring numbers such as 2. Indeed, our interval of equivalence will be the golden ratio itself. This means the scale will repeat after approximately 833 cents. This scale would fit snugly into the frequency space between 1kHz and ~1.618kHz.
Our next step is to divide this interval into smaller intervals (a & b). Each time we divide an interval into two intervals, those intervals should have the golden proportions.
Then take the biggest interval that remains in the scale and break that down into 2 intervals with the golden proportion. Repeat this process until you have enough pitch material to write music with.
I’ve done all the calculations, and the resulting scale (taken to 8 steps) is presented below in Scala format so that you may try it out for yourself:
! sevish_golden.scl ! Scale based on the golden ratio 8 ! 121.546236174916 196.665941335636 318.212177510552 439.758413685468 514.878118846189 636.424355021105 711.544060181825 833.090296356741
Some interesting notes about the above scale… When generating the values, I noticed that the scale was a Moment of Symmetry (MOS) after 3, 5, 8 steps. Those are Fibonacci numbers. I stopped after 8 steps because it will map very nicely to a piano keyboard with linear mapping. With this mapping, you will always hear the golden ratio when you play a minor sixth on the keyboard. Coincidentally, this tuning has some fair approximations to the fifth, fourth, supermajor third, minor third, and major second.
If you want to find more tunings with the golden ratio, you might look at Heinz Bohlen’s 833 cent scale for inspiration.
When using scales that are based on the golden ratio, you will find that timbre makes a huge difference to the result. If you use an instrument that produces bright and clear harmonic overtones such as the violin or a sawtooth wave, you will hear an unruly clash of a harmonic timbre against an inharmonic scale.
Instead, you could take a similar approach to John Chowning and bake the golden ratio right into the timbre itself by using inharmonic overtones based on the golden ratio. Then suddenly your timbres and your scale will align, resulting in a much smoother sound. It’s just one more demonstration of the fact that tuning and timbre are deeply intertwined.
If you’re a computer musician, download a free copy of the Xen-Arts synth plugins. These instruments can produce inharmonic partials which can be controlled by the user. By default, they include a setting where each partial is tuned to some multiple of the golden ratio. These instruments could be a quick way to explore the topics I’ve been discussing in this post.
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.
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:
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.
Imagine we have an excellent microtonal 7-note scale, such as 7-EDO, mavila, 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:
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:
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.
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:
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:
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.
As before, now is a good time to save your .kbm mapping file, and load it up on a synth of your choice.
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 show
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.
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.
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.
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.
|MIDI note number||60||61||62||63||64||65||66||67||68||69||70||71|
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.
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.
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.
Thanks to Paris for suggesting this tutorial. I recently overhauled sevish.com 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.
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.
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.
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.
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 24 ! 54.54545 109.09091 163.63636 218.18182 218.18182 272.72727 327.27273 381.81818 436.36364 490.90909 545.45455 600.00000 654.54545 709.09091 763.63636 818.18182 818.18182 872.72727 927.27273 981.81818 1036.36364 1090.90909 1145.45455 2/1
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.
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.
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.
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.
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:
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.
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.
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.
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.
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/Config.pm 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 lsdj.gb --out lsdj_5edo.gb
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.
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:
If there are more trackers that support microtonal scales then I would love to hear about them.