I'm not a programmer but I am working on a program that manipulates music via MIDI files in all sorts of interesting ways.

I want to add the ability to use alternate tunings. I even went so far as to build a function that uses pitch bend to achieve alternate tunings (and it works and is mostly fine even though there are some constraints that I'm not thrilled with).

But then I discovered a couple of things. One is that Timidity, which is an integral part of the project already, allows you to specify alternate tunings. The other is Scala. Great, but now the questions:

1) What does Timidity mean by "pure intonation"? Is this Pythagorean?

2) I see that Scala has some 4,400 alternate tunings available. I do not understand anything about Scala or how to use it. That's fine. What I am able to do with it is load an .scl file and then save it as a .tbl which is what Timidity uses. Question: do I need to, somehow, create a version of each tuning I want to use for each of the notes of the chromatic scale? Or does Timidity magically convert it for you based on the key signature supplied (either in the MIDI meta text or in the command line parameters)? (My knowledge of just intonation is sketchy but I think that the tuning has to be based on whatever key your piece is in?)

3) Scala has some 4,400 alternate tunings. I don't think I really need to supply options for all of them. How in the world can I tell which ones are the ones I really need? Which Pythagorean (it has quite a few listed)? What else? Quarter meantone? La Monte Young's? What's a good top 10 list? Or top whatever that would cover the ones that musicians are ever really likely to use/want/hear?

1 Answer 1


Since the interface allows one to specify "pure" tuning and a key, one might assume that this means that you are getting just intonation relative to that root note, i.e. if you specify just intonation in C the interval from G to A is 10:9, while if you specify just intonation in G, the interval from G to A is 9:8. However, I've looked and I've never been able to find sufficient documentation on timidity's pure intonation mode(s) to feel confident that I'd know that that is what I'm getting. In addition I'm not sure which notes' pitches get adjusted which way from equal temperament, e.g. is it always A4=440Hz?
When messing with tunings, I've always just specified the frequencies as a table these tables are literally a mapping from MIDI number to frequency, so they do "create a version of each tuning for each of the notes of a chromatic scale". This allows me to be sure that I know what I'm getting for each note.

Almost all music nowadays is in equal temperament, so you really need that one.

5-limit just intonation is what I usually think of as "just" or "pure" intonation (some may disagree, esp. with respect to historical usage of the term).

Pythagorean tuning (3-limit just intonation) may be of some interest,

Meantone tunings, Quarter comma meantone and sixth comma and tempered meantone tunings, e.g Werkmeister, are significant since they were used over a significant part of the common practice period. However, there is significant debate over which tunings were used by which artist when.

  • To clarify on something I seem a bit confused on, aren't the tunings based on the key? So that G-major just intonation would be different than it would for C-major just intonation? Timidity allows you to pass the key signature along with its "Zpure" option. So do these tables work for all keys automatically or do they need to be regenerated for each key?
    – bfootdav
    Commented Aug 2, 2014 at 19:55
  • @bfootdav partially addressed you comment with edit. But you're getting at one of the drawback (features?) of just intonation, and (untempered) mean-tone tunings: the tuning is specified in relation to a central "home key" and playing music in other keys will sound different.
    – Dave
    Commented Aug 2, 2014 at 20:13
  • I'd add 7-limit just intonation and anything with the names Harry Partch or Ben Johnston on it. Commented Aug 3, 2014 at 6:43
  • @Dave and Robert Fink, thanks for your help and suggestions. After thinking about it all and doing more research I think I will bite the bullet and figure out how to do the math myself and generate the tuning tables as needed. It looks like all I need to do is multiply the root note's frequency by the appropriate ratio and then iterate that process (while first rotating the list of ratios to match the root key of the tuning). I will definitely be using the tunings suggested here which should suffice for now but once I have the function written it will be trivial to add more scales as needed.
    – bfootdav
    Commented Aug 3, 2014 at 17:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.