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"],
],
};