{{_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' : '¢'}}

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 …


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!

Parse error at line {{e.atLine}}!
expected: {{e.expected}}
got: {{e.got}}

INPUT ports of attached MIDI devices

device namechannels

OUTPUT ports of attached MIDI devices

device namechannels



Web Audio API is not supported in this browser!

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