The Microtonal Thread

I am not sure what you are asking to be honest. Are you saying that you want to tune these three oscillators to simultaneously play sine waves, each of which represents the Fundamental, an overtone and a higher overtone?

Or are you asking what the intervals between subsequent notes in a sequence should be?

I guess essentially is your question Harmonic or Melodic in nature?

ratio 1:1 is unison, 1:2 is an octave, and 1:3 is a just-intoned fifth plus an octave. but the 3/2 ratio is quite close to an equal tempered 5th. (less than 2 cents difference)

so if you are using a tuner, and want a precise 1:3 ratio, tune the low oscillator to (say) C2 and the higher to (say) G3 plus 2 cents.

(but really, the way to tune this is by ear, first going for the sound of octave+5th, then eliminating beating frequencies. its how people have tuned their instruments to JI intervals for millenia.)


Re-reading I am guessing you are asking how you can tune them simultaneously to match the harmonic series.

Truthfully the answer is, whichever way it sounds best to you. With three frequencies to play with you are only going to cover a small amount of the range (assuming pure sine waves with minimal to no overtones). The harmonic series goes like this:

The ratios on the right equating to a (just) Octave, P5, P4, M3, etc. The relative volumes of these overtones contribute to the overall timbre of a sound.

You would therefore probably tune different ratios for different purposes and unless you have a mechanism by which to alter the fundamental and have the overtones follow, you should just do what sounds good to you


i’ll try a 5-minute version of the theory as well, why not:

  • frequency is a physical measure of cycles per second

  • its a good approximation to say that human hearing is sensitive to ratios between frequencies, which we call “intervals”

  • therefore you can represent an interval as a unitless ratio such as 1:2 or 1:(3/2).

  • “just intonation” generally implies that the ratio defining an interval is a simple fraction. the simplest fractions are just whole numbers [1, 2, 3, 4, 5, … etc]. whole numbers multiplied by a fundamental frequency define a harmonic series very common in nature.

_(ok, caveat: from here on out there is a focus on european music theory simply b/c that is what i know best.)

  • the division of the octave into musical ratios is an ancient practice. e.g., ptolemy used a diatonic scale defined by these ratios in the 2nd century:
Do,  Re,   Mi,   Fa,   Sol,  La,   Ti,    Do
1,   9/8,  5/4,  4/3,  3/2,  5/3,  15/8,  2

in this scale, each frequency has a mathematically-simple relationship with the fundamental, which means that their waveforms are naturally “in sync” and we hear that lack of beating as a “clear” quality.

if you extend this to a chromatic scale, as people started to do in renaissance europe, you might get something like:

C,   C#,    D,   D#,  E,   F,   F#,    G,   G#,  A,   A#,  B
1/1, 16/15, 9/8, 6/5, 5/4, 4/3, 45/32, 3/2, 8/5, 5/3, 9/5, 15/8

where each of these intervals is multiplied by whatever frequency you consider to be “C” at whatever octave.

ok, that’s just intonation. the “problem” arose in late renaissance europe when people wanted to play music that changed keys. just intonation scales aren’t isomorphic, meaning the intervals between semitones are not consistent. for exampe, using the list above which we’ll call “ptolemaic 12-tone”, the ratio beteen successive scale degrees is:

C,   C#,    D,   D#,  E,   F,   F#,    G,   G#,  A,   A#,  B
1/1, 16/15, 9/8, 6/5, 5/4, 4/3, 45/32, 3/2, 8/5, 5/3, 9/5, 15/8
  differences (approximately)
1.066, 1.0546875, 1.0666, 1.041666, 1.06666, 1.05468, 1.0666667, 1.06666, 1.041666, 1.08, 1.0416666

another consequence is: if you follow a “circle of fifths” using a 3/2 interval for a fifth, you don’t actually get a circle, but a spiral of expanding “pseudo-octaves.”

[hand-waving past mean-tone, related keys etc etc.]

so, the solution of the baroque theorists was to make every semitone the same interval, regardless of position in the scale. (the fact that we even think of a “semitone” as a constant measure, reflects how embedded this idea of intervallic pitch has become.)

this means that the ratio beteen semitones must be an irrational number: the twelfth root of 2. call this interval c = \sqrt[12]{2}.

this means that if we go up from a fundamental f twelve times, each time multiplying by c, we end up at the octave.

so a whole tone interval in 12tet is equal to c^2, a major third is c^4, a fifth is c^7 and so on, always - regardless of which note or scale degree you start from.

this table shows, for one octave starting on 440hz:

  • scale degree freq for JI scale above,
  • scale deree frequency for 12tet scale,
  • difference in cents
JI 12tet diff (cents)
440.0, 440.0, 0.0
469.33333333333, 466.16376151809, 11.731285269778
495.0, 493.88330125612, 3.9100017307746
528.0, 523.2511306012, 15.641287000552
550.0, 554.36526195374, -13.686286135166
586.66666666667, 587.32953583482, -1.955000865388
618.75, 622.25396744416, -9.7762844043899
660.0, 659.25511382574, 1.955000865388
704.0, 698.45646286601, 13.686286135164
733.33333333333, 739.98884542327, -15.641287000552
792.0, 783.9908719635, 17.596287865939
825.0, 830.60939515989, -11.731285269778
880, 880, 0

supercollider code to generate the above:

// ptolemaic 12-tone
r = [1/1, 16/15, 9/8, 6/5, 5/4, 4/3, 45/32, 3/2, 8/5, 5/3, 9/5, 15/8]

n = r.size
~ji_semitone_ratios = (n-1).collect({|i| r[i+1] / r[i]});

// show differences between JI and 12tet ({ arg i;
	var jf, twt, cents;
	jf = 440 * r[i];
	twt = (440.cpsmidi + i).midicps;
	cents = (jf.cpsmidi - twt.cpsmidi) * 100;
	postln("| " ++ jf ++ " | " ++  twt ++ " | " ++ cents ++ " |");

(BTW: its good to learn a bit of supercollider for investigating this stuff, because pretty soon you never have to look up a table again.)


Very nice 5 minute attempt!


hi folks
i am peeking back ino this massive thread and wanted to ask about the current skinny on tuning files [.tun] files.

I’ve become mystified by T-A-L Sampler for a project I’m doing and it accepts .tun files for it’s microtonality and frankly i am being lazy and thought i’d ask if anyone has made a .SCL to .tun converter for .m4l or has a python script that might address such a need?

also I don’t think i saw someone mention the classic mccartney patch based on partch’s diamond in this thread --i thought this was included with super co or is old hat?

This is a really great way to get a visual on Rhombic Dodecahedron tuning systems with a bunch of nice intrevals

Diamond.scd (5.2 KB)

i patched a microtonal organ for pd pd last year for organelle that uses python to make .scl usable for pd but i wanted to ask if there was such an animal yet :slight_smile: before i try

Diamond.scd (5.2 KB)
run a few of these in SuperCollider they will help you hear and see unities and interval relationships

1 Like

You could give this online tool a try, it should do exactly what you are looking for :slight_smile:

If you want to make tuning files from scratch, this was mentioned at the top of the thread and is a very easy to use scale generator app; can input scale degrees in multiple formats (cents, ratios, etc), preview the scale in browser with your computer keyboard, and export in several formats.

i just have one really that i want to translate to a .tun file
it’s mine it’s in the scala repository pagano_b.scl
it’s built on 17 and 7th ness

i’ve grabbed the sevish ones they are quite nice

Cents are logarithmic too, that’s what’s so confusing. You would think that 1 cent = 1 Hz or something, but in fact they are a fraction of the exponent you’re multiplying the frequency by. It’s hard on the brain!


Gamelan tunings are extremely idiosyncratic. Very often, one village has its preferred tuning, and a village nearby quite another, so the instruments aren’t cross-compatible at all.


When the Junto did its 440th, non-standard tunings project, I worked out a way to build out tuning tables for Logic, given a set of ratios and a Google sheet I put together to do all the ratio-to-cents-offset calculations.

Currently only works for twelve-tone tunings, but it’s a useful starting point if you just need to calculate the offsets to get going.

1 Like

I’ve just released Pitfalls v0.2.0 - a norns library providing a microtonal scale explorer, chord arpeggiator, and isomorphic grid keyboard. Happy new year!

godzilla-9 semaphore-9

More details here: Pitfalls


oooh, interesting. Does it support rational/harmonic tunings as well or just EDO?

Just EDO. It let’s you use Ls notation to define scales.

1 Like

yeah I figured that out from clicking through the link. Cool approach, I’m sure those interested in EDO will stumble/fall into many interesting pitfalls with it :wink:

1 Like

This thread reminded me that this tuning tool exists for LSDJ, so thanks for starting it.

1 Like

I feel like you guys will enjoy this one.


Just read this article in Wire online, haven’t tried the tools yet but curious if anyone has thoughts?