Sevish Music

You are browsing the Synth Geekery category


How to convert .tun file to .scl the easy way

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.

Instructions

Go to https://sevish.com/scaleworkshop

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.

A few more tips about Scale Workshop, .scl files and .tun files

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.

Making microtonal scales with Scale Workshop 1.0

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 creation. Use the tools to generate and modify tunings automatically, or manually input your own.
  • Import Scala and AnaMark tunings. Yes it works with that amazing 4000+ scale library that’s floating around the internet.
  • Export the most popular tuning formats easily. Converting .scl files and .tun files is fast. It also exports tuning files for Kontakt, Max/MSP and PureData.
  • No installation required. Scale Workshop runs in your web browser on Windows, macOS, iOS, Android and Linux.
  • Free and open-source. The software costs nothing and it is MIT licensed. Volunteers have already contributed new features and bug fixes on our GitHub repository. Feature requests and bug reports are welcome from anybody.

What else does Scale Workshop do?

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.

List of supported synths

Note that this list is incomplete.

Via AnaMark TUN (.tun)

  • Big Tick Angelina
  • Big Tick Rhino
  • Camel Audio Alchemy 1.x
  • Humanoid Sound Systems Enzyme
  • LinPlug Alpha
  • LinPlug CRX4
  • LinPlug MorphoX
  • LinPlug Octopus
  • LinPlug Organ 3
  • LinPlug SaxLab
  • LinPlug Spectral
  • Mark Henning AnaMark
  • PolyGAS
  • Spectrasonics Omnisphere
  • TAL BassLine-101
  • TAL Sampler
  • TAL U-NO-LX
  • u-he ACE
  • u-he Bazille
  • u-he Diva
  • u-he Hive
  • u-he Zebra
  • VAZ Modular
  • VAZ Plus
  • Virtual CZ
  • Xfer Serum

Via Scala .scl/.kbm

  • amsynth
  • Applied Acoustics Chromaphone 2
  • Applied Acoustics Lounge Lizard EP-4
  • Applied Acoustics String Studio VS-2
  • Applied Acoustics Ultra Analog VA-2
  • Cakewalk Dimension Pro
  • Cakewalk Rapture Pro
  • Cakewalk Z3TA+2
  • Garritan Personal Orchestra 4
  • Imageline Harmor
  • kv331audio Synthmaster and Synthmaster One
  • Key Tuner JSFX Script
  • Madrona Labs Aalto
  • Madrona Labs Kaivo
  • Madrona Labs Virta
  • Modartt Pianoteq
  • padthv1
  • Plogue Alter/Ego
  • Plogue Chipsounds
  • Plogue Sforzando
  • PolyGAS
  • Reveal Sound Spire
  • samplv1
  • synthv1
  • UVI Falcon
  • ZynAddSubFX
  • Zyn-Fusion

Others

  • Max/MSP (via text file you can load into the coll object)
  • PureData (via text file you can load into the text object)
  • Native Instruments Kontakt (via text file you can load into the Kontakt script editor)

A personal note

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.

 

Open Scale Workshop in a new window

 

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.