The Scheerbart Tunings

I'm currently working on a project involving mixing 10-EDO with symmetrical structures in 12-EDO. I thought it might be instructive for me to look at tunings that mix pitches from these two. The project is inspired by visionary modernist Paul Scheerbart so I've decided to call them Scheerbart Tunings. Free synthesizer (sort of) inside!

Part of the motivation for this is that I find unadulterated 10-EDO music a bit wearing. Although it's pretty and has a shimmering quality that I was looking for for this project, I can't hear it for long undiluted. So my idea was always to combine it with 12-EDO. In initial sketches I had multiple instruments tuned to one or other of these tunings and combining to create interesting effects. I'll probably still do that. But then I had another idea.

Note that these tunings I'm about to describe really have nothing to do with Paul Scheerbart except a tenuous connection through this project. Scheerbart (as far as I know) never showed any interest in tunings, or indeed much interest in music. The name is a bit frivolous, like a lot of the names I give things that I don't think anyone else will ever really use. And I think tunings are more or less disposable; I'm not seeking perfect thirds or whatever, I'm interested in colours that make my ears tingle and there are an effectively infinite number of possibilities. I can't see anyone ever wanting to use these tunings again. So I gave them a daft name that's memorable to me.

Anyway, a Scheerbart tuning is 12-EDO but with one or more notes swapped with one of its "nearest neighbours" in 10-EDO. Here is how the two tunings line up (the numbers are cents, i.e. 100ths of a semitone, above the starting note C):

12-EDO:   0 100 200 300 400 500 600 700 800 900 1000 1100 1200
C C# D D# E F F# G G# A A# B C
10-EDO:   0 120 240 360 480 600 720 840 960 1080 1200

Here I've marked "U" the notes in 12-EDO that can move up to a neighbouring note in 10-EDO, "D" those that can move down and, of course, "UD" for those that can do either. By a "neighbouring note" here I mean a note that's in between the given note and the next one up or down in 12-EDO. So these are "microtonal sharps and flats" that are possible in this system.

Because of the symmetry around the tritone, altering one 12-EDO note creates eight possible tunings; altering a second creates 107, a third gives 1130 and altering up to four notes produces a whopping 9621 tunings. At this point my Python script gave out; the numbers might not be 100% right anyway, the point is that there are a lot. How are we to manage this huge family of sounds?

I eventually realised the answer is to have all of them available and shift freely between them by building an instrument that can shift any of the ten notes on the fly. I did this in Faust because it's by far the quickest way to do it that I know of, and because I'm learning Faust for another project.

To run my (very simple) code, first download the DSP file (it's just a text file). Next plug in a USB MIDI keyboard. Then open Google Chrome -- it must be Chrome, sorry, and if you already have it open it's better to restart it after plugging your MIDI controller in. Navigate to the Faust online editor. Use the upload button (second from the top in the left-hand sidebar), find ScheerbartOrgan.dsp (which you just downloaded). Find the dropdown list at the bottom of the left-hand sidebar and choose "ON". Then hit the "play" button and it should work.

The usual disclaimers apply. First, if it doesn't work for you, I probably can't help; restart things, check you followed my instructions exactly, check my instructions make sense and don't have a mistake in them, try a different controller etc. Second, never run code you downloaded from the internet without at least looking at it to check it doesn't do anything horrible.

OK with that out of the way, what is it? It looks like this:

With this default setup it's generates sine waves in 12-EDO. It's polyphonic and has velocity sensitivity and a bit of reverb, so it doesn't sound awful, but there's no sound-shaping options in here.

What it can do is alter any of the notes mentioned above from their 12-EDO versions to their nearest 10-EDO neighbours. This is done with the sliders. To get a Scheerbart tuning, simply move one or more sliders to the top or bottom of its range, so it's no longer a multiple of 100. Moving all the sliders to the top produces the 10-EDO keyboard mapping I described here.

The sliders are somewhat "quantized" to make it easier to grab notes that are either 10-EDO or 12-EDO, but some in-between notes are possible with some sliders. You can also hook up a MIDI controller with sliders (you'll probably want to change the CC numbers on lines 33-43). If you do, it will change the notes in increments of 1 cent, which is fun but can make it hard to get the middle-of-the-slider notes perfectly in tune. However, the GUI sliders still work so you can tweak them with a mouse if you find it hard to hit the right spot.

Exploring these tunings suggests they're exactly what I'm looking for in this project, and the sheer variety they offer is pretty compelling. I'm imagining using ultra-slow LFOs to morph between these tunings over a long period, which should create that blend of 10- and 12-EDO I was looking for but in a much more fluid way.