{{_element = ui.model.selectedElement;''}} {{_set = ui.model.selectedSet;''}}

The scale is empty
To get started click the [+] icon in the bottom of the screen and add your first note or go to the scala page and import a preset.

{{setSelected = _set && _set.id === set.id;''}}
{{$index + 1}}{{elementSelected = _element && _element.id > 0 && (set.strings.indexOf(_element) !== -1 || set.cents.indexOf(_element) !== -1);''}} {{elementSelectedIsString = set.strings.indexOf(_element) !== -1;''}}
  • {{mctrl.ui.model.isStringSet(set) ? 'JI' : '¢'}}
{{mctrl.ui.model.getIntervalName(set)}}

Generate a scale …

Divide the ratio ( : ) into equal parts

Click/Tap on any of the inputs or change their values to display the generated scale


… or load an existing one …

{{label}}

Select any of the presets to display them


… or export your current session

Click/Tap the scale in the header or change it's value or change any of the notes in the scale editor to generate a scale from the current session


Scale successfully imported!

{{e=ui.scala.error;''}}
Parse error at line {{e.atLine}}!
expected: {{e.expected}}
got: {{e.got}}

INPUT ports of attached MIDI devices

device namechannels
{{name}}

OUTPUT ports of attached MIDI devices

device namechannels
{{name}}

Options

{{ui.tutorial.title}}

Web Audio API is not supported in this browser!

To see, which browsers support Web Audio API, please visit http://caniuse.com/#feat=webaudio