You are browsing the Synth Geekery category
The Xenharmonic Wiki is an online knowledge base relating to microtonal music and tuning theory. For a few years a bunch of us from the community have used the Xen Wiki to maintain a list of software plugins that you can use to make microtonal music in the DAW.
This week the list has been updated because of wonderful developments happening in the music technology world that will allow composers to more easily make microtonal music with a wide variety of synths and virtual instruments. That development is the widespread adoption of MIDI Polyphonic Expression (MPE). Widespread MPE support means that new tuning tools can be developed which systematically manage the tunings of various instruments at the same time. And indeed, such tools are already coming out this year, for example Oddsound MTS-ESP Suite and Infinitone DMT. A new section of the list has been added to catalogue these tools. An additional section about MPE synths in general was also added.
Next Saturday (March 13th, 5pm UTC) I’ll stream from my home studio via Twitch. It’s a chance for me to demonstrate electronic music production and working with microtonal scales. If there’s something in particular you’d like to see then send your requests in Twitch chat – it’s an unscripted event where we hang out and nerd out over music.
From time to time I’ll also live stream impromptu sessions of me just working on tracks. These will be unscheduled as I make music whenever I feel like it. Those sessions will be less interactive but potentially of interest to folks who are following my music and want to see how I work.
Until then, check the below vod of last Saturday’s stream. It starts out with me refining a work in progress and then viewers suggest topics for the rest of the session:
I learned a few things from chat last Saturday, for example x.iso encouraged me to try MPE polyphonic pitch bend in Bitwig on VST instruments that already have microtunings active. Turns out that it works! If you’re working in any equal tuning, you can set the pitch bend amount so that everything lines up perfectly. My mind was blown. I’ll definitely use that trick in the future.
Two new tools have just appeared that will interest folks working with microtonal scales and tunings: Leimma and Apotome. These tools were launched as part of CTM Festival 2021 and were created by Khyam Allami and Counterpoint.
Leimma is a browser-based tool for exploring, creating, hearing, and playing microtonal tuning systems.
Apotome is a browser-based generative music environment based on octave-repeating microtonal tuning systems and their subsets (scales/modes).
If you are looking for a quick introduction to microtonal scales in computer music, then I invite you to watch my latest tutorial video.
Using Microtones in Electronic Music explains how to tune software synths to microtonal scales, for composition and production using a DAW-based workflow.
Microtonal music is a deep topic, and this tutorial video is just one possible starting point. If you know of alternative approaches then please do share your knowledge with others!
0:30 What software
2:00 Tuning up
4:37 Messing around with 19edo
14:40 19edo semaphore
18:19 A golden ratio inspired tuning
27:00 Some chords of 22edo
32:07 How a song like Gleam looks on piano roll
Here’s an early look at a new feature of Bitwig Studio 3.1 – Micro-Pitch!
Micro-Pitch allows you to use microtonal scales and tunings with your Bitwig instruments.
It supports scales of up to 12 notes. If you want to use unequal scales with more than 12 notes then you’re out of luck – best way to do this is still to use VST plugins with full-keyboard microtuning support. But if you’re interested in large equal temperaments, these are still possible (you simply enter the data for the first 12 notes).
It’s a good start and quite mind-blowing that the tunings can be modulated over time. I can think of plenty of things I would love to do with that.
Given that Micro-Pitch now exists, is it possible for some third-party developer to create a MIDI effect that would retune all MPE-capable Bitwig synths WITHOUT the 12 note limitation? I wrote to Bitwig support and they confirmed that Bitwig instruments DO NOT respond to MPE that comes earlier in the chain. They only respond to polyphonic pitch-bend from the piano roll, or Micro-Pitch. Therefore a third-party VST MPE retuner is still not possible within Bitwig Studio.
But with MIDI 2.0 on the horizon, the future is looking bright for microtonal music tech. As MIDI 2.0 rolls out in the coming years it will be exciting to see which DAWs offer the best experience for microtonal musicians.
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 with an excellent implementation of microtonal tuning via .scl and .kbm files. 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.
Of all the software synths in the world, very few of them support microtonal scales. If you are a musician using Linux and open source software then your options are even fewer. It’s for that reason that I want to celebrate the news that amsynth 1.8.0 adds support for microtonal tunings!
amsynth is a virtual analog synthesizer that runs as a standalone or VST, LV2 or DSSI plugin. Its sonic characteristic is similar to other popular digital VA instruments – fantastic for leads, basses and stabby chords. It’s light on the DSP and the controls are very easy to understand, so amsynth will rightfully earn a place in my toolkit once I move my music production machine over to Linux.
The easiest way to get amsynth if you’re on a Debian-based distro is to add the KXStudio repositories and then install via apt. Assuming you already have the KXStudio repos on your system, simply run the following command:
sudo apt install amsynth
If you’re unable to use the above, download the source for amsynth 1.8.0 and build it.
Once you have amsynth up and running, microtunings can be loaded by right clicking the interface and selecting a .scl file. In addition, you can load up a .kbm file for custom key mappings.
If you need some Scala tuning files (.scl) to play with, generate some with my Scale Workshop browser tool, or install Scala itself. Scala is extremely powerful, though you need to install it to your PC along with all its dependencies.
Developers, TAKE NOTE of what amsynth developer Nick Dowell has achieved here – .scl and .kbm formats are BOTH supported. .scl files specify the intervals in the scale, and .kbm specify the base tuning of the scale, whether it is A = 440 Hz or something else entirely.
Without supporting both of these formats, a synth could barely be said to support microtonal scales at all. I’m so pleased that amsynth gets this right.
Judging by this page on amsynth’s GitHub, it looks like amsynth may become cross-platform in the future. Should this ever happen, then Windows and Mac users would also have access to this nifty, free and microtonal instrument too. I look forward to this and will follow amsynth’s progress into the future.
Cycling ’74 have released a new object for Max 7 for real-time pitch correction of incoming audio. That highly promising object is called retune~. It looks like Cycling ’74 have also spent time thinking about the struggle of microtonal musicians, because this object supports microtonal scales! You can specify your tuning in cents or ratios, and you can pick a reference pitch in Hz. This is just fantastic to see, and I hope more Max/MSP artists will now be exposed to the world of microtonal scales.
The problem is that intervals of an octave or larger are somehow not supported by retune~. retune~ assumes that your scale will repeat at the perfect octave of 1200 cents (2/1). If you try to add an interval of 2/1 or larger, then you will receive an error message:
Note must be between 1 and 1199 or a relation (1/2, 5/4), value '2/1' ignored.
This will cause difficulty for many because it rules out the use of non-octave tunings. The Bohlen-Pierce scale, the slendro and pelog scales of Indonesia, and Wendy Carlos’ Alpha, Beta & Gamma are amongst the most interesting collections of pitches that you should ever hope to hear.
The documentation for retune~ says that Scala format tuning files (.scl) can be loaded, but I fail to see how this is possible as Scala has support for non-octave scales while retune~ doesn’t. That means that many of the Scala files from my library will cause errors when I load them into the retune~ object. This is patently not Scala support, this is a dodgy hack.
To their credit, Cycling ’74 have gone to great effort to include microtonal tunings in their new retune~ object, and I am truly grateful for that. But it looks they didn’t consult any of the microtonal musicians who would want to make sure that all kinds of microtuning were permitted.
If you are a Max user who would like Cycling ’74 to take some action on this issue, write in to their support team now and also post on their forum. The retune~ object may improve if people make their voices heard.
New instruments are appearing on a regular basis with incomplete support for microtonal scales. Whether it is down to inexperience with microtonal scales, or lack of time/materials/money to do the job properly, it’s sad to see some developers getting it wrong while others get it 100% right.
Please consult with microtonal musicians who work with these ideas on a daily basis! The limitations in your approach will soon become clear as day.
Thankfully some developers are implementing microtonal scale support in the right ways, whether by supporting scl/kbm pairs, MIDI Tuning Standard, or scripts.
If any developers want to reach out to me personally, you can do so via sevish.com/contact and I will do my best to reply by email. You can also join the world’s busiest online microtonal music community at Xenharmonic Alliance II, where hundreds of microtonalists will be willing to provide you with insight into our dark art.
It is possible to make microtonal music in Max/MSP by synthesis using two methods that I find really easy to work with. You can use a coll object to store a frequency for each MIDI note number, or you can use the expr object to convert MIDI note numbers directly into frequencies of any n-tone equal temperament.
The coll method is more appropriate for just intonation, unequal or empirical scales, whereas the expr method is nice if you want to play equal temperaments or harmonic series based scales and you want to allow the user to adjust the tuning on-the-fly.
To see this in action, download my Max 4 Live instruments where I use both tuning methods.
If you want to use retune~ in Ableton Live, Cycling ’74 have released a pack of Max 4 Live devices to do just that. The pack is called Pitch and Time Machines and the two devices to pay attention to are Autotuna and Microtuner:
Autotuna – A scale-based microtonal auto-tuner that can use Scala files [lol]. This device uses the retune~ object to tune the audio to a given scale. Scales can be either entered by hand, or loaded from Scala files [lol] – a file format for musical tunings that is a standard for exchange of scales. Learn more about Scala.
Microtuner – A table-based microtonal auto-tuner that can use Scala files [lol]. This device is similar to the Autotuna example device, except that scales are entered using a graphic function whose shape can be curved, thus providing some unexpected pitch scales.
Thanks to Todd Harrop for his research and Joakim Bang Larsen for bringing retune~ to my attention.