Make your own tuning

(Note: feel free to skip this page unless you're interested in editing your own tuning files!)

Live 12's tuning presets are made using an extended version of a file format called ScalaScala is a file format for storing information about tuning systems. Live 12 uses an extended Scala format.Visit the link to learn more. Every preset in Live links to a page on this site, and you can also drag (or copy and paste) Scala files into the interactive code editor on this site.

This page will guide you through making your own tuning files using the editor. To start, let's look at a simple example in the Code tab below.

Getting started with the editor

As you move your cursor to different lines in the code editor, notice that text appears at the bottom that provides information about the line. The editor will help you as you edit; errors that will cause the file to not work will appear with a special warning symbol. When you place your cursor in a line that specifies a note's tuning, you'll hear the note play briefly.

Filename

Look at the line that shows

! Make your own tuning file.ascl

This line determines the name shown in Live. Note that the file will work without this line, but Live will then show the file's name as "Scala."

Notice that this line begins with a !. Adding this symbol marks everything after it in the line as a comment. Most Scala-capable tools will ignore comments. But Live will read certain commented lines, such as this filename line (and others discussed below).

Description

Line 3 in this file shows:

This is an example of a description.

The description is a place to write some explanatory text about the tuning. When loading a tuning in Live, the description text will appear in Live's Info View. Note that a description line is required, but it can be empty.

Number of notes

Line 5 contains a number (12 in this example). This is the number of notes in the tuning, and is a required line.

Pitch definitions

In this example, lines 7 through 18 define the pitch for each note in the tuning:

100. ! C♯/D♭
200. ! D
300. ! D♯/E♭
400. ! E
500. ! F
600. ! F♯/G♭
700. ! G
800. ! G♯/A♭
900. ! A
1000. ! A♯/B♭
1100. ! B
2/1 ! C

Each pitch can be specified in centsA cent is a unit of measurement for intervals and is defined as 1/1200th of an octave.Visit the link to learn more or as a frequency ratio. The number of pitch definition lines must match the number of notes specified.

Reference pitch

The reference pitch defines the specific frequency and corresponding note used to create the tuning. This is line 21 in the example:

! @ABL REFERENCE_PITCH 3 9 440.0

This consists of three numbers. The third number (440.0) is the reference frequency in Hertz. The second (9) defines which note in our list will be assigned the reference frequency. The first (3) sets the octave in the range -2 to 8.

Note that you could use any note in the list as the reference. As long as you assigned it the corresponding frequency, the tuning would sound the same. For example, try editing the line to read:

! @ABL REFERENCE_PITCH 3 0 261.626

Here, we've assigned pitch 0 to 261.626 Hz, which is the same frequency it played before. Notice that all other notes sounds the same, too.

In the sequencers throughout this site, the reference pitch is shown as a dotted horizontal line.

The reference pitch is optional, but Live will apply some defaults when loading a file without one. Specifically, if the file contains 12 notes, Live will use

! @ABL REFERENCE_PITCH 3 9 440.0

If the file contains a different number of notes, Live will use

! @ABL REFERENCE_PITCH 3 0 440.0

Note that Live's extension of the Scala format puts the reference pitch in the file, while the original Scala specification uses a separate file for this, called a keyboard mapping (or .kbm) file. If you're creating files for use in other software, we recommend exporting both the .scl and .kbm files.

More about pitch definitions

Note that each pitch is defined in relation to the starting pitch, rather than as a specific pitch or frequency. The pitch defined on line 8, for example, is 200 cents higher than the starting pitch. And the pitch defined on line 18 is twice as high as the starting pitch (an octavePitches an octave apart have a 1:2 (“one-to-two”) frequency ratio. If one pitch is at 200 Hz, a pitch an octave higher is at 400 Hz. A pitch an octave lower is at 100 Hz.Visit the link to learn more, or a 2/1 frequency ratio). Either cents or frequency ratios work, but not specific frequencies.

Caution! If you want to use a cents value, it must include a dot, even if you're entering a whole number. Without the dot, Scala files treat the number as a ratio, so our 200 cents would be interpreted as 200/1 (probably an extremely high pitch!)

Also, note that the starting pitch itself isn't defined at all! It's implied; you can think of it as 0.0 cents or a 1/1 frequency ratio. In the interactive editor, we've made the line immediately above the first pitch definition (line 6 in this example) play this implied/starting pitch.

Play with drones

You can lock notes on by pressing the small play buttons to the left of the pitch definitions. You can use this to experiment with drones and chords, or precisely tune intervalsAn interval is the distance between two pitches. It can be measured as a ratio between their frequencies or in cents.Visit the link to learn more. Note: You can turn off all droning pitches by Shift-clicking on a playing button.

Note names

Notice that the editor shows note names to the right of the pitch definitions, and also to the left. The ones on the right are comments - we've added this text to the file to make it easier to follow. The ones to the left, however, are added automatically by the interactive editor. These come from line 20 in this example:

! @ABL NOTE_NAMES "C" "C♯/D♭" "D" "D♯/E♭" "E" "F" "F♯/G♭" "G" "G♯/A♭" "A" "A♯/B♭" "B"

Note that the first note name is the "implied" starting pitch.

The sequencers throughout this site use this line to determine which note names to show. And Live uses this line to determine the notes names to show in its MIDI editor.

The simplest possible file

A valid Scala/ASCL file can contain as little as the following lines (which must be in this order):

Learning more

More tuning sites