Open sugizo opened 3 years ago
Thanks, this is excellent, I'll add all these.
Question about this: "the sequence of diatonic scale, because the 1st index on diatonic scale should goes to major scale / ionian mode" So, one of the really nice things I've learnt from making guitar dashboard is the 'harmonic progress' of the diatonic modes. I put them in the order: Lydian - Major - Mixolydian - Dorian - N Minor - Phrygian - Locrian because it shows the progression from more major modes to more minor modes. Each step requires the change of just one interval, and this is beautifully displayed on the circle of fifths as the highlighted notes moves counter clockwise. We'd lose that by ordering the modes in 'starting note order'. (although I now realise that I haven't followed this principle for the other modes). What do you think?
when people learn the scale usually put the root note e.g. c major scale consist of c-d-e-f-g-a-b d dorian consist of d-e-f-g-a-b-c e phrygian consist of e-f-g-a-b-c-d f lydian consist of f-g-a-b-c-d-e g mixolydian consist of g-a-b-c-d-e-f a aeolian consist of a-b-c-d-e-f-g b locrian consist of b-c-d-e-f-g-a
for the same reason want to revise my previous proposal change from
let hirajoshiModes: Mode[] = [
{ name: 'Hirajoshi', index: 0 },
{ name: 'Iwato', index: 6 },
{ name: 'In', index: 11 },
];
{ name: "hirajoshi", intervals: new mod.Mod([true, false, false, false, true, false, true, true, false, false, false, true]), modes: hirajoshiModes, defaultModeIndex: 0 },
into
let inModes: Mode[] = [
{ name: 'In', index: 0 },
{ name: 'Hirajoshi', index: 1 },
{ name: 'Iwato', index: 7 },
];
{ name: "In", intervals: new mod.Mod([true, true, false, false, false, true, false, true, true, false, false, false]), modes: inModes, defaultModeIndex: 0 },
in mode consist of e-f-a-b-c hirajoshi mode consist of f-a-b-c-e iwato mode consist of b-c-e-f-a
ref https://en.wikipedia.org/wiki/List_of_musical_scales_and_modes
thanks
OK, I think both approaches are valid then: either modes ordered by ascending root note, or by fifths (as the diatonic modes are currently). I might add an option here.
base on wiki link above add some scale
let neapolitanMinorModes: Mode[] = [
{ name: 'Neapolitan Minor', index: 0 },
{ name: 'Gypsy', index: 5 },
];
{ name: "Insen", intervals: new mod.Mod([true, true, false, false, false, true, false, true, false, false, true, false]), modes: [{ name: 'Insen', index: 0}], defaultModeIndex: 0 },
{ name: "Neapolitan Minor", intervals: new mod.Mod([true, true, false, true, false, true, false, true, true, false, false, true]), modes: neapolitanMinorModes, defaultModeIndex: 0 },
{ name: "Neapolitan Major", intervals: new mod.Mod([true, true, false, true, false, true, false, true, false, true, false, true]), modes: [{ name: 'Neapolitan Major', index: 0}], defaultModeIndex: 0 },
{ name: "Flamenco", intervals: new mod.Mod([true, true, false, false, true, true, false, true, true, false, false, true]), modes: [{ name: 'Flamenco', index: 0}], defaultModeIndex: 0 },
{ name: "Persian", intervals: new mod.Mod([true, true, false, false, true, true, true, false, true, false, false, true]), modes: [{ name: 'Persian', index: 0}], defaultModeIndex: 0 },
{ name: "Enigmatic", intervals: new mod.Mod([true, true, false, false, true, false, true, false, true, false, true, true]), modes: [{ name: 'Enigmatic', index: 0}], defaultModeIndex: 0 },
{ name: "Hungarian Major", intervals: new mod.Mod([true, false, false, true, true, false, true, true, false, true, true, false]), modes: [{ name: 'Hungarian Major', index: 0}], defaultModeIndex: 0 },
{ name: "Ukrainian Dorian", intervals: new mod.Mod([true, false, true, true, false, false, true, true, false, true, true, false]), modes: [{ name: 'Ukrainian Dorian', index: 0}], defaultModeIndex: 0 },
{ name: "Major Locrian", intervals: new mod.Mod([true, false, true, false, true, true, true, false, true, false, true, false]), modes: [{ name: 'Major Locrian', index: 0}], defaultModeIndex: 0 },
thanks
./src/music-module.ts
let bluesHexatonicModes: Mode[] = [
{ name: 'Blues Major Hexatonic', index: 0 },
{ name: 'Blues Minor Hexatonic', index: 9 },
];
{ name: "Blues Major Hexatonic", intervals: new mod.Mod([true, false, true, true, true, false, false, true, false, true, false, false]), modes: bluesHexatonicModes, defaultModeIndex: 0 },
ref https://en.wikipedia.org/wiki/Blues_scale#Hexatonic
thanks
music-module.ts edit
add
thanks