Scale Workshop

User guide 1.0.2

Scale Workshop allows you to design microtonal scales and play them in your web browser. Export your scales for use with VST instruments. Convert Scala files to various tuning formats.

Skip to main content

Overview

The interface is split in to 4 sections.

The top bar provides many useful functions.

Import/export tunings

Import

Scale Workshop supports import of Scala .scl files and AnaMark .tun files. Click 'New' on the top menu bar and then click 'Import .scl' or 'Import .tun'

Note: AnaMark .tun import is incomplete, but it should be able to import .tun files exported by Scale Workshop and Scala.

Convert

Convert .scl or convert .tun tunings by importing them and then exporting.

Export

Many synthesizers support microtonal scales. Usually they will require some format of tuning file. Scale Workshop supports many of the popular formats.

To see a list of synths that support microtonal scales, see the List of Microtonal Software Plugins on the Xenharmonic Wiki.

AnaMark TUN (.tun)

If your synth supports .tun format, then please refer to its manual to find how to load the .tun file.

Scala scale (.scl)

If your synth supports .scl format, then please refer to its manual to find how to load the .scl file.

Scala keyboard mapping (.kbm)

Scale Workshop does not support arbitrary keyboard mappings, however it can output a .kbm file with linear mapping that has your chosen base MIDI note and base frequency.

Max/MSP coll (.txt)

When building synths in Max/MSP try using a coll object rather than an mtof object. Coll can load a specially-formatted text file containing a list of frequencies. Scale Workshop exports this kind of text file for you. Set up your coll object as below, and click the 'read' button to bring up a load file dialog.

Then when you input MIDI note numbers to the coll object, it will output the desired frequency.

PureData text (.txt)

When building synths in PureData try using a text object rather than an mtof object. The text object can load a specially-formatted text file containing a list of frequencies. Scale Workshop exports this kind of text file for you. Then when you input MIDI note numbers to the text object, it will output the desired frequency.

Kontakt script (.txt)

Kontakt's scripting environment allows you to retune each key to any pitch. Scale Workshop can export this script for you automatically. Once exported, copy and paste the contents of the script into the script editor of your Kontakt instrument.

Presets

A handful of preset scales are provided as examples.

Scale design

Scale Workshop allows you to create musical scales either by manual data input or by selecting menu options. We'll cover the menu options first.

Start by clicking the New option on the top menu bar. Select from equal temperament, rank-2 temperament, etc.

Equal temperaments

Equal temperaments are scales where every step is of equal size. The most well-known example perhaps is 12-tone equal temperament (12edo) which divides an octave into 12 equal parts and is the standard tuning in the West. Other well known equal tempered scales include 24edo (quartertones), 19edo and 31edo.

To create a new equal temperament scale click New > Equal temperament and then enter values to create the scale.

Number of divisions refers to the number of notes in your scale. Interval to divide will usually be 2/1 (octave) but could be a different value, for example to make Bohlen-Pierce you would have 13 divisions of 3/1.

Rank-2 temperaments

Create a rank-2 temperament using a generator and period.

Harmonic series segments

Generate a segment of the harmonic series by specifying the lowest and highest harmonics to be part of the scale. If the highest harmonic is double that of the lowest harmonic then the scale will repeat at the octave.

Subharmonic series segments

Generate a segment of the subharmonic series by specifying the lowest and highest subharmonics to be part of the scale. If the highest subharmonic is double that of the lowest subharmonic then the scale will repeat at the octave.

Manual data entry

Scales can be written manually by typing them in to the Scale data text field. Enter one interval per line. Do not enter 1/1 on the first line as it is already assumed that the first note is 1/1.

Values with a . are cents values: e.g. 701.955
Values with slash (/) are ratios: e.g. 3/2
Values with a backslash (n\m) are n degrees of m-EDO: e.g. 7\12
The final value is your octave or pseudo-octave: e.g. 2/1

Just intonation examples

5-limit just major:

9/8
5/4
4/3
3/2
5/3
15/8
2/1

Harmonics 8-16:

9/8
10/8
11/8
12/8
13/8
14/8
15/8
16/8

Equal temperament examples

Blackwood[10] in 15edo:

2\15
3\15
5\15
6\15
8\15
9\15
11\15
12\15
14\15
15\15

8edo in cents:

150.
300.
450.
600.
750.
900.
1050.
1200.

Misc examples

You can combine all the above styles in the same scale if needed:

1\9
2\9
3\9
3/2
1206.6

Modify scales

There are menu options to help you modify your current scale. Note you must have some scale data loaded already in order to modify it. Click 'Modify' on the top menu bar to see the options.

Mode

Takes a subset of the current scale. Modes are entered numerically.

Stretch/compress

Applies a linear stretch across the current scale. Enter a stretch factor, where 1 is no stretch at all.

Random variance

Applies a random detuning of each note in the scale. If the checkbox is ticked, this will also detune the octave. If unticked, the octave will remain unchanged.

Tempo-sync beating

This retunes each note of your scale to the nearest harmonic and then tunes the base frequency to match the BPM. This can result in LFO-like pulsations when playing chords.

The effect is most effective when using "rich" harmonic sounds (e.g. sawtooth waves) on a synth with excellent intonation accuracy (e.g. almost all digital synths).

Resolution allows you to control how much retuning is applied. Low values will result in a more drastic retuning of your original scale; in some cases this will result in notes converging on the same note, resulting in duplicates. For more obvious tempo-synced effects, choose a resolution that is a power of 2, e.g. 32, 64, or 128.

Synthesizer

Scale Workshop has a built-in synth so that you can play and hear your scales. This is useful for auditioning the scale you're working on, however it is very simple and isn't recommended for live performance.

Playing with MIDI

Play notes on any connected MIDI device in order to hear your current scale. Must be enabled first by clicking the 'MIDI on' button within Synth Settings. You will also need a web-MIDI capable browser.

Playing with QWERTY

Use your computer keyboard to play your current scale, much like an isomorphic keyboard.

Note: QWERTY note input is disabled any time that a text or input field has focus. An indicator can be seen at the top-right of the screen to show you if you are able to play the QWERTY keyboard currently:

Not all international keyboard layouts are supported. Users who wish to see their keyboard layout supported are encouraged to contribute to the project by adding their own layout to keymap.js in the project source.

Playing with touch screen

On the top menu, click Touch Kbd to display a grid overlay. Touch the grid to hear your scale. The mapping on the grid is the same as the mapping on the QWERTY keys.

Isomorphic mapping

When using the QWERTY or touch screen keyboards, by default each note along a horizontal axis is 1 scale degree apart and each note along vertical axis is 5 scale degrees apart. This can be changed by using the Isomorphic keyboard settings shown on the right column of the Scale Workshop interface.

Changing the sound of the synth

The synth has the following options:

Misc. tips

General settings can be found on the right side of the Scale Workshop interface.

If an exported tuning file doesn't seem to load into a softsynth properly, then try changing the value of Line endings format and re-saving the file. If you're using a Windows computer it's recommended to set this to Microsoft, otherwise set this to Unix.

Night mode makes the Scale Workshop interface dark.

Undo/redo your tuning changes by using the back/forward browser navigation buttons.

If the synth gets too noisy, you can kill all sound by clicking the Quiet button.