Sevish

How to invent your own musical scales using Scala

[Update Jan 2023: This article is quite old now. If you’re looking for something more user-friendly than Scala, try Scale Workshop. If you want to learn more about Scala, read on!]

When you want to edit photos, there’s Photoshop. When you want to listen to music there’s iTunes (if you’re a pro at life, there’s foobar2000). When you want to create your own musical scales, opening up endless possibility in harmonic and melodic expression, there is Scala. Scala is a multi-purpose toolkit for everything related to tunings, scales and microtonality. You have a hardware synth that you want to retune? Scala will do it. Or a softsynth? Scala can export the tuning files required to make that happen. Want to generate all kinds of crazy scales that you can use to compose new music? Scala has near infinite options for you to play with. Want to experiment with world music and historical scales? There’s a database of thousands on the Scala website.Scala tuning softwareThis is a beginner-level tutorial which deals with scale creation and microtonality in a practical way. I can’t attempt to cover everything Scala can do here. But you’ll learn some fundamentals.First I’ll show you how to create equal scales, then I’ll show you how to create just scales. If you don’t know what the difference is, just follow the tutorial from beginning to end, and read some of the links later to fill in the gaps of your knowledge. By the end of this tutorial you will have invented some of your own musical scales!

Equal Temperament scales

Equal temperaments are scales that divide an octave into some number of equally big pieces. The 12 note scale of Western music is an example, as each semitone is of equal size. So you already have experience with equal temperament scales and didn’t know it.In Scala, equal temperaments are trivially easy to create!A popular thing that beginning microtonalists like to do is to try quarter tones. The quarter tone scale divides the octave into 24 notes. Let’s make the scale in Scala. Load up Scala, type this line into the text field at the bottom, then hit enter:

equal 24

Explanation: When you type the command equal, followed by a number, Scala will produce an equal-tempered scale with that number of notes in an octave.But it looks like nothing happened after we hit enter. We still need to check that the scale was created correctly. So type:

show

This will show you the tuning data for the equal temperament scale you just created. As below:

  0:          1/1               0.000000 unison, perfect prime  1:         50.000 cents      50.000000  2:        100.000 cents     100.000000  3:        150.000 cents     150.000000  4:        200.000 cents     200.000000  5:        250.000 cents     250.000000  6:        300.000 cents     300.000000  7:        350.000 cents     350.000000  8:        400.000 cents     400.000000  9:        450.000 cents     450.000000 10:        500.000 cents     500.000000 11:        550.000 cents     550.000000 12:        600.000 cents     600.000000 13:        650.000 cents     650.000000 14:        700.000 cents     700.000000 15:        750.000 cents     750.000000 16:        800.000 cents     800.000000 17:        850.000 cents     850.000000 18:        900.000 cents     900.000000 19:        950.000 cents     950.000000 20:       1000.000 cents    1000.000000 21:       1050.000 cents    1050.000000 22:       1100.000 cents    1100.000000 23:       1150.000 cents    1150.000000 24:          2/1            1200.000000 octave

Explanation: The equal command that we just used has produced 24 items for us (24 notes in our scale). The  show command lets us see those 24. Each of these shows some number of “cents.” The cent is a measurement of how wide or narrow an interval is. Notice that each interval in our 24-equal scale goes up by 50 cents. 50 cents is exactly one quarter tone. 100 cents makes up a semitone, and 1200 the whole octave. Cents are a useful measurement to get your head around if you want to compare tunings with each other.That’s enough staring at numbers. Time to hear these quarter tones for the first time. On the Scala interface you’ll see a button which says play. Click that button!Chromatic ClavierHere’s the “chromatic clavier!” You can use this to try out your scale using your PC’s built in MIDI synth. A very handy tool indeed. Play using your mouse, or use the Sound Settings button to set up a MIDI keyboard controller.

Exercises

  1. Find some cool chords in the quarter tone scale which don’t exist in the normal Western scale.
  2. Create other equal tempered scales using the equal command that we used to create the quarter tone scale. Try any number you like, but make sure you play and listen to them using the chromatic clavier. Here are some numbers you can try which are known to give interesting musical results: 5, 13, 17, 22.

 

Equal Temperament scales (no octaves)

In the first part, we divided an octave into some number of equal parts. Amazingly, we are not limited to dividing octaves. We can choose to divide other intervals instead, such as a perfect fifth or whatever you like. But what’s the point?Every note in a non-octave scale has a unique identity. Consider that we know a note A as a note oscillating at 440 Hz, or some octave above (880 Hz, 1760 Hz) or below (220 Hz, 110 Hz, 55 Hz). If our scale doesn’t include octaves, then a note A won’t have any other counterparts higher or lower in the scale. This means that, as we climb up or down into different registers, we keep hitting unique note identities which haven’t been heard elsewhere in the scale!This approach is extremely fruitful for new sounds, sonorities and progressions. However composition technique must change drastically. For starters, there are no more chord inversions, since you can’t raise any notes up or down an octave. Of course, this makes voicing difficult too. But you gain a very wide variety of intervals to play with, and it will challenge and grow you as a composer to exploit non-octave scales. Just try it and see.Here’s how we do it. We’re going to create a scale which divides a perfect twelfth (an octave plus a fifth) into 13 equally spaced parts.

equal 13 3/1

Explanation: The equal command tells Scala that we’ll be making a scale where all notes are the same size. The number 13 shows that we want 13 notes. And that weird fraction on the end? That’s the big interval that will be split into 13 equal parts. Think of it as a pseudo-octave.Why 3/1? For now just take my word for it. 3/1 is a perfect twelfth. So rather than repeating at the 8th (octave), we’re repeating at the twelfth.Notice, if we don’t include the number 3/1, then Scala will assume that this is an octave based scale. (An octave, by the way, can be expressed as 2/1).Let’s see the cents values for the scale we created:

show

And the result:

  0:          1/1               0.000000 unison, perfect prime  1:        146.304 cents     146.304231  2:        292.608 cents     292.608462  3:        438.913 cents     438.912693  4:        585.217 cents     585.216923  5:        731.521 cents     731.521154  6:        877.825 cents     877.825385  7:       1024.130 cents    1024.129616  8:       1170.434 cents    1170.433847  9:       1316.738 cents    1316.738078 10:       1463.042 cents    1463.042308 11:       1609.347 cents    1609.346539 12:       1755.651 cents    1755.650770 13:          3/1            1901.955001 perfect 12th

Can you remember how many cents are in an octave?The answer is 1200 cents. Looking at the above list of intervals, we can see there’s no value too close to 1200 cents at all. But there’s this nasty 1170 cents interval that’s gonna sound noticeably flatter than an octave. On the other hand, that perfect twelfth at 1901.955 cents, is purely in tune. Whatever this scale is, it doesn’t represent anything we’re used to in Western music. There’s no perfect fifth, no octave…The scale we’ve just created is none other than the Bohlen-Pierce scale, a famous non-octave scale with many interesting properties. It sounds very alien until you have taken time to immerse yourself in it. Jam with the chromatic clavier and hear it for yourself (remember, just click the play button on the Scala interface to do this).

Exercises

  1. Try some other scales which divide the perfect twelfth. Use the same method as above, but replace the number 13 with any number you feel like.
  2. The perfect fifth is a ratio of 3/2. With this knowledge, try out some scales which divide the perfect fifth.
  3. Search for Bohlen-Pierce music on YouTube, and hear other people’s approaches to the scale. But only after you have tried to explore this unusual tonal territory for yourself.

Just Intonation scales

The topic of just intonation (JI) is deserving of several books in its own right. It is an old mathemusical theory in which many cultures have their own take.What could a name like “just intonation” mean… If you think of “just” as meaning fair, right, exact, and perfect – and intonation of course having to do with the accuracy and flavour of the pitch – then you should get the general idea. Just intonation is a tuning system that uses exact, perfect intervals.In fact, the pitches of just intonation are made up of ratios. Think of numbers such as 2/1, 3/2, or 15/8. (These intervals are an octave, perfect fifth and major seventh, respectively).

Just one quick way of making just intonation scales

Time to get creative! There are many ways to go about making your own just scale, but here’s one way that can get you exploring quickly.On the main Scala window, click on the Input button to open up the Input Current Scale window. Here you can enter the pitches you want to use. In this case we’ll enter some fractions at random, following some simple guidelines.

  1. Put one fraction per line.
  2. The last line should be 2/1. This makes sure that your scale repeats at the octave.
  3. To ensure that every pitch fits within a single octave, make sure that the numerator of each fraction is greater than the denominator, but less than double the value of the denominator.(For example 3/2 is okay. 1/2 isn’t okay because the numerator is less than the denominator. 5/2 isn’t okay because the numerator is greater than double the denominator.)
  4. The pure “JI effect” is generally stronger with simpler ratios, so avoid complicated fractions such as 51227/29096 and keep things simple.

Below are a few examples that follow the above guidelines.

ji-example-1 ji-example-2 ji-example-3

You can also use Kyle Gann’s anatomy of an octave to find some interesting numbers to plug in.Once you’re done, hit OK and you’ll be taken back to the main Scala window. At this point you will find 9 times out of 10 that Scala says “Scale is not monotonic ascending.” If you saw this message then it means that the pitches of your scale are in a weird order. To fix this issue, tap the Edit button on the main Scala window, tap the Ascending button, and finally click OK.Let’s take a quick look at what you made:

show

Take a quick look at the interesting names that Scala gives to the ratios you randomly chose.Now it’s time to hear your scale! Hit the Play button to show the Chromatic Clavier. You can hold shift when you click to hold multiple notes down and hear that solid JI sound.Alternatively you can play your scale using a connected MIDI controller or MIDI keyboard. To do this just click the Relay button on Scala’s main window and then click the Start Relaying button.Repeat this process of JI scale creation a few times, each time playing your scale using a keyboard to get a feel for the unique musicality of each one.Once you become comfortable with this process and you get to know certain ratios that you love the sound of then you can start to ignore the guidelines I gave before.

Further reading about just intonation

Now you know how to come up with a just intonation scale of your own. But you still might not know why you would want to use just intonation. There are many differing opinions out there and it’s easy to find them using Google. And I recommend you spend a lazy afternoon doing just that. Here are a few suggestions:

Further exercises

  1. Load up various scales from the Scala scale database. Use the command show to display the tuning data (boring numbers) for a scale. Is it meaningful to you?
  2. Jam with each scale. Is it meaningful now?
  3. Pick the weirdest scale you can find from the Scala scale database and jam until it sounds normal.
  4. This tutorial has only shown you how to create and play scales within Scala. Now learn to use your creations in other synths by reading my tutorial on exporting scales in Scala.
  5. Explore other tuning software. There is CSE and LMSO (for Mac OS X) and alt-tuner (for Reaper). Find what works best for you.

19 thoughts on “How to invent your own musical scales using Scala”

  1. Ivan Yanakiev

    Dear Sir,

    I just encountered your webpage on Facebook and I decided to contact you. My name is Ivan K. Yanakiev and I am a PhD candidate at the Bulgarian Academy of Sciences’Institute of Art Studies. My Thesis is focused on the temperaments and concert pitch 432 and how they affect human perception. I am cooperating with two professors in neurobiology (cognitive neurodynamics).

    I would really appreciate if you agree to speak on Skype, for example, and share some thoughts.

    I am looking forward to your reply!

    Sincerely yours,

    Ivan K. Yanakiev
    PhD candidate
    Institute for Art Studies
    Bulgarian Academy of Sciences

    Reply

  2. Paris

    Thank you. I ran across this post while searching for tutorials on using Scala. I’ve been interested in micro tuning for a long time and experimented a little. I recently purchased for cheap a few old yamaha fm synths that support alternate tunings so I thought it was time to start investigating again and this article really helped. Then I started browsing the rest of your blog and found more great stuff so I subscribed in my rss reader. Thanks for sharing. Very inspirational!

    Reply

    1. S Post author

      I’m glad to know that this post has been helpful! Best of luck tuning your kit up to some fun microtonal scales – and let me know how you get on (especially if you record any sounds). By the way, love what you’re doing with visuals on your website.

      Reply

  3. Walker Storz

    really really interesting stuff. Is the tone circle above from scala or gnuplot? I’ve been using scala but in a really basic way. Using geometrical shapes to generate interval sets is pretty much what I wanna do for my thesis project

    Reply

    1. Sevish Post author

      You can generate those tone circles from within Scala, though gnuplot is a dependency of Scala so maybe it’s generated by gnuplot?

      If you’re looking to generate interval sets from geometry, surely you’ve already looked into Erv Wilson’s work? Loads of fascinating structures there!

      Reply

      1. Walker Storz

        I haven’t, actually. I’ve got the equal temperament working fine but still having trouble getting just scales I like. The one that I typed out line by line (0, 100, 200, etc.) is still my fav. The one that you did in your other tutorial. Is there any way to just start a sequence like that and have scala finish it???

        Reply

        1. ctrl+opt

          Yes!! Check out wilsonic. It’s an iOS app that has all of Ervin wilson’s Scales. Thanks a lot Sevish! this is an amazing tutorial! I’m really happy to have found your music. After listening for a while I feel like I can whistle along to most of the tunes on Harmony hacker. I’m excited to start making some microtonal music myself soon. What you’re doing is an invaluable resource and inspiration. Thank you! <3

          Reply

  4. Joshua Sanchez

    I was wondering if you knew how to enter Cents into Scala and have produce the scale that way? For example, if I was using 207 Cents as a generator, and kept superimposing it, obviously the numbers would not lead to fractions. Is there a definitive way of entering the cent values into Scala and Scala picking that up? Thank you.

    Reply

    1. Sevish Post author

      If you enter 207 then Scala will see it as a fraction of 207/1. When entering cents, always include a decimal point and then Scala will know it is a cents value: 207.

      Reply

  5. omer

    I Installed scala on my mac but when I tried to insert a midi connection I get the message: no midi devices available
    how can I fix it ?

    Thanks

    Reply

  6. edward

    respect is due for sharing this info. please can you add an explanation of how to make a scale containing 128 notes that are not necessarily mathematically related, i.e do not repeat in octaves?
    e.g note 1 = 10 Hz, note # 2 = 20 Hz… note 128 = 1280 Hz
    thanks in advance and best wishes

    Reply

  7. Amari Paul

    So I just read this article about a scale reflecting the harmonic series and I’m wondering how ti create this scale in scala and making a tuning file out of it. Just look up A Musical Scale in Simple Ratios of the Harmonic Series and you can find it. Its the site that says by Pl Hulen.

    Reply

  8. Noah Zaidspiner

    Hello, I downloaded scala and everything needed but after lots of frustrating trials and searching through forums and pages there seems to be a problem with scala and mac OSX around 10.13 and up. I personally have 10.14 and everything seems to work except every time I open the chromatic clavier it says “Error opening MIDI output device.” If you have any information on this, it would be extremely helpful!

    Reply

    1. Noah Zaidspiner

      Hello, I downloaded scala and everything needed but after lots of frustrating trials and searching through forums and pages there seems to be a problem with scala and mac OSX around 10.13 and up. I personally have 10.14 and everything seems to work except every time I open the chromatic clavier it says “Error opening MIDI output device.” If you have any information on this, it would be extremely helpful!

      Update: I figured it out. it was hard to, but I just downloaded an older version and jumped through some hoops.

      Cheers!

      Reply

  9. AlfredoKraus

    Hi,

    I have the same error and I have OSX Sierra and I cant listen anything in Scala!

    Which older version did you download and how did you install it?

    I try with the power PC version but I cant install it

    Cheers!

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*