const tones = { metadata: { // optional // two properties are special: title and copyright, processed in special ways, other properties are arbitrary, blank spaces, quotation marks, and capitalization recommended title: "Aura's Diatonic Scales", copyright: "", // don't include "Copyright" word and symbol, it's done automatically, at the end of the content "Author": "Dawson Berry", "Description": `Set of Diatonic Scales suggested by Dawson Berry a. k. a. Aura`, "Usage": `
The system has 7 natural diatonic scales rendered in rational intervals, from Ionian to Locrian.
Each scale has 7 modes.
To change mode, Ctrl+Click on a note to make it a tonic.
A current mode name is shown as a row title.` }, size: { width: 29, height: 7 }, base: 440*16/27/4, //Hz "Deep C" based on 440 Hz A transpositionUnits: 12, rows: [ [interval(1), interval(9,8), interval(5,4), interval(4,3), interval(3,2), interval(27,16), interval(15,8), repeat], [interval(1), interval(9,8), interval(77,64), interval(4,3), interval(3,2), interval(27,16), interval(16,9), repeat], [interval(1), interval(16,15), interval(77,64), interval(4,3), interval(3,2), interval(8,5), interval(16,9), repeat], [interval(1), interval(9,8), interval(5,4), interval(45,32), interval(3,2), interval(27,16), interval(15,8), repeat], [interval(1), interval(9,8), interval(5,4), interval(4,3), interval(3,2), interval(27,16), interval(16,9), repeat], [interval(1), interval(9,8), interval(77,64), interval(4,3), interval(3,2), interval(8,5), interval(16,9), repeat], [interval(1), interval(16,15), interval(77,64), interval(4,3), interval(64,45), interval(8,5), interval(16,9), repeat], ], // optional: rowTitles: [ ["Ionian", "Ionic Dorian", "Ionic Phrygian", "Ionic Lydian", "Ionic Mixolydian", "Ionic Aeolian", "Ionic Locrian"], ["Dorian", "Doric Phrygian", "Doric Lydian", "Doric Mixolydian", "Doric Aeolian", "Doric Locrian", "Doric Ionian"], ["Phrygian", "Phrygic Lydian", "Phrygic Mixolydian", "Phrygic Aeolian", "Phrygic Locrian", "Phrygic Ionian", "Phrygic Dorian"], ["Lydian", "Lydic Mixolydian", "Lydic Aeolian", "Lydic Locrian", "Lydic Ionian", "Lydic Dorian", "Lydic Phrygian"], ["Mixolydian", "Mixolydic Aeolian,", "Mixolydic Locrian", "Mixolydic Ionian", "Mixolydic Dorian", "Mixolydic Phrygian", "Mixolydic Lydian"], ["Aeolian", "Aeolic Locrian", "Aeolic Ionian", "Aeolic Dorian", "Aeolic Phrygian", "Aeolic Lydian", "Aeolic Mixolydian"], ["Locrian", "Locric Ionian", "Locric Dorian", "Locric Phrygian", "Locric Lydian", "Locric Mixolydian", "Locric Aeolian"], ], };