Sevish Music

You are browsing the Synth Geekery category


amsynth 1.8.0 adds support for microtonal tunings

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.

Installing

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.

Tuning amsynth

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.

Full-keyboard microtuning

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.

The future

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: New retune~ object for Max 7 offers pitch correction with incomplete support for microtonal tunings

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.

retune~

Here’s the catch

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.

This is my appeal to all audio technology developers

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.

Other ways to make microtonal music in Max/MSP

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.

Oh and you can already use retune~ in Ableton Live

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.

‘Retune for Live’ microtuning with Max 4 Live, by Ursine

Retune for Live is a Max 4 Live MIDI device which accepts MIDI notes as input, then outputs polyphonic microtonal MIDI which you can route to your MIDI instruments. It works on instruments that don’t support microtonal scale input, as long as they respond to pitch bend. You specify the microtuning via csv file or scl tuning file.

It all works simply enough. You have one MIDI track where you can play and record polyphonic MIDI. The Retune for Live transmitter device sits on this track and beams the note & pitch-bend data intelligently to a number of receiver devices, each of which working for one monophonic part. So if you want 8-note polyphony then you must have 8 instances of the instrument/VST each driven by their own receiver device.

When I write microtonal music I usually rely on VSTis which have support for full-keyboard microtuning built in. There should be no compromises in your art – and my art is microtonal so if a synth has no microtuning or dodgy microtuning then I don’t use it at all.

Except that for a long time I have wanted to hear Clotho from the Columns soundtrack rendered in quarter-comma meantone tuning. To faithfully recreate the sound of the original game, I set out to use a YM2616 simulation. I found two YM2616-esque VSTs, GENNY and FMDrive, but GENNY doesn’t even have working pitch bend, so that’s straight out the window.

Sega Columns

So I got myself a copy of FMDrive and downloaded a MIDI file of Clotho. MIDI retuning via Scala seemed dodgy and I could hear the results were wrong. After one night of trying different things I gave up. TobyBear’s microtuner is ancient and I couldn’t even get the ruddy thing to work at all. This is all a roundabout way of saying…

I tried Retune for Live and it just worked! So if you have Max 4 Live and want to get microtonal sounds from a synth that can’t be microtuned, give it a try. You can download Retune for Live for free or pay-what-you-like donation from the author Ursine.

As much as this solution was successful in my case, it uses more CPU power since you have to run multiple instances of the same instrument. For that reason I will avoid this solution for larger projects. But if you really need a certain sound (and you already paid big buck$ for Ableton Live and Max 4 Live), then Retune for Live might be the way to go.

Several months after my explorations with Retune for Live, I did convince the developer of FMDrive to implement some microtonal functions, but that’s a story for another day. As for my quarter-comma meantone rendition of Clotho, that was sadly lost in the great didn’t-back-it-up-and-hard-drive-died catastrophe of Spring 2016. It was badass though, I’ll remake it one day.

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

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.

LSDJ

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.

LSDJ-5edo

Renoise

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.

MikyTracker

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– http://xen-arts.net/xen-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.

Stereo Panning in Ableton Live

Just wanted to share a super simple Ableton Live effects rack. Despite its simplicity, this is the rack I use the most (in fact it’s my default rack preset). It’s a stereo pan. Download it.

Stereo Pan effect rack for Ableton Live

You see, Ableton Live strangely omits stereo panning while other DAWs such as Logic Pro and Pro Tools sensibly include it.

That thing that looks like a pan pot on the channel strip? Yeah that’s a balance control. It doesn’t actually let you manipulate a stereo signal, it just makes the left or right channel quieter. Stereo panning is different; it allows you to pan the left and right channel independently to any part of the stereo image.

I use this effects rack to tightly control the stereo image of my tracks and busses. And I never use Live’s balance control unless it’s on a mono track.

Installing the Stereo Pan effects rack

  1. Download Stereo Pan.
  2. Unzip the adg file.
  3. Drag the adg file on to an effects chain and Ableton will place the rack for you.

Example usage

  1. Instead of setting the balance control to 10 o’clock, try panning the left channel to 8 o’clock and the right channel to 12 o’clock.
  2. Create a return track with a stereo ping pong delay. Usually these delayed signals are hard left and hard right. Place the Stereo Pan rack after the delay to position the two delayed signals wherever you like in the stereo field.

If you’re interested, check out some of my sounds.

2 features we need in MIDI 2.0

MIDI has served musicians well for decades, but everyday microtonalists are struggling to make electronic music within the limitations of the MIDI spec. These limitations may not be apparent to your everyday musician, so I thought I would highlight some of the problems that are faced by those working in this field.

We have a problem with MIDI note numbers…

The existing MIDI standard allows you a mere 7 bits to store the value of the note being played. That gives us 128 notes in total. Oh don’t get me wrong, 128 notes is more than enough for standard tuning, but this isn’t 1890 anymore. People are starting to want something more than standard tuning.

128 notes simply isn’t enough for large microtonal scales. If I have 200 notes per octave, then to get a full piano range of 8 octaves I already need 1600 notes. If we were to represent every pitch of this scale with a MIDI note number, then note numbers would have to be represented by at least 11 bits (2048 notes).

But having all those note numbers (and a tuning table with 2048 values) isn’t an efficient solution. Bandwidth is now cheap – so let’s forget about MIDI note numbers altogether! We can just send frequencies directly as single floats.

Lose the MIDI note numbers – adopt frequencies!

Consider that we have a MIDI 2.0 system where frequencies are sent instead of note numbers. On a standard MIDI 2.0 keyboard controller you press middle A and it sends a note on message with a frequency value of 440.0. A connected MIDI sound module receives the message and starts outputting a sound at 440 Hz.

Now consider how easy it is for the microtonalist – they only need to purchase a single MIDI keyboard controller that allows them to set up microtonal tunings, and then it automatically works with every MIDI 2.0 sound module! That’s a great leap ahead of the mess we have today, where all MIDI controllers output note numbers 0-127 and each sound module has its own quirky method of assigning frequencies to those notes.

Polyphonic pitch bend

Pitch bend in the current MIDI spec is monophonic, so it affects all notes on the channel at the same time. This is fine if you’re playing lead keyboard for an 80’s disco funk band, not so cool in the 2010s. If I’m playing a chord and I want to bend one pitch up while another pitch gets bent down, the only way to do it is to put each note on its own individual channel. It’s quite an insane way to work, and you can see why it’s difficult to use pitch bend to play microtonal polyphonic music.

If it were possible to assign pitch bend data for each individual note, then even synths which didn’t support microtonality could be forced to play microtonal scales easily – as long as they supported the pitch bend correctly.

The only way to play polyphonic microtonal music using the pitch-bend method today, is to put each voice on to its own MIDI channel, of which there are a maximum of 16. So already you’re now limited to 16 note polyphony, and this will only work with multitimbral synths (i.e. they can receive data on all 16 channels and output all notes at the same time).

What we can do before MIDI 2.0 release date

We can always write to developers thoughtfully, and ask them to add features the microtonalists need, with reasons why those features are helpful.

For now we’re stuck with the original MIDI, which to be fair is still an awesome spec. It allows us to connect pieces of kit from various manufacturers, and it all just works. So if you’re looking for ways to make microtonal music with MIDI instruments, here they are:

If you’re using hardware, then try to get hardware that can load and store tunings. Some synths support the MIDI tuning standard (MTS) which uses SysEx data to send note frequencies. It’s not commonly supported in most synths, so do your research before you buy.

If you’re working in a DAW, there are many VST instruments that can support microtonal scales. Sure you’re limited to 128 notes and monophonic pitch bend, but these instruments can set any frequency you like to each of the 128 notes. That’s a good start, and should keep you busy until we get a very microtonal MIDI 2.0.

EDIT: I’ve just been made aware of a new tuning method for MIDI synths. Worth a read!

I have written about my own workflow for microtonal composition using Ableton Live, Scala, and VSTs.

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

Xen-Arts releases IVOR2 VSTi for microtonal music

IVOR is a free software synthesizer that allows you to compose and perform microtonal music. It has just seen a major update to version 2, making it more versatile and powerful than ever. It is a virtual analog synth that includes frequency modulation, ring modulation, pulse-width modulation, saturation, filters and various features specific to microtonal and spectral music.

IVOR2 front

The biggest change is the MOD-GEN section which allows deep control of various synth parameters with envelope generators, LFOs and AROs (audio rate oscillators).

Those AROs are especially important, as they allow the introduction of additional sideband spectra to the signal which give a more dense forestry of partials to your sound. This right here is a key aspect of designing sounds in IVOR2. There are several of these AROs at various parts of the signal chain for you to experiment with.

IVOR2 mod gen

The AROs can be tuned to microtuning-related intervals. This introduces tuning-related sidebands into the signal. There are over 100 partial sets to choose from, and you can load up your own via text file import. This is especially powerful for the creation of inharmonic or quasi-harmonic timbres that are matched to inharmonic or quasi-harmonic tunings, in such a way that sensory dissonance (timbral dissonance) can be reduced for extremely exotic scales.

Or you can just keep it to the harmonic series and play 12-tet music like a traditional synth. It’s good at that too.

But let’s stick with microtonality for a moment. You can tune IVOR2 to whatever tuning system you want. Equal tempered and just intonation tunings are possible, as are non-octave and stretched-octave scales. Totally arbitrary, irregular, historical and traditional scales are all possible too. There are no limits here, and you will be rewarded greatly for stepping outside of your comfort zone.

IVOR2 is very light on the CPU, just like its predecessor. I can run a whole bunch of instances of IVOR2 in real-time with my 3 year old laptop.

It is a quirky synth with its own characteristic sound. Yes it can do a lot of classic sounds too, but its unique aspects make it capable of so much more.

Make sure you read the manual and play through all the factory presets (I designed a bunch of them myself) so that you can get a sense of what is possible with IVOR2.

IVOR2 Download Page