Space- or hyphen-separated Roman numeral tokens.
Seven-note key, e.g. "C major", "A minor", "D dorian".
Target tuning system (default: 12-TET). Chords are built as in
parseChordSymbol, with intervals mapped by getStepFromStandard.
Octave of the key's tonic (default: 4).
Parses a Roman numeral progression in a given key into an array of
Chordobjects.I,IV,Vmajor;ii,iii,viminorviiin C major is Bdim,ii7is Dm7,vii7is Bm7b5. A third that is not the key's gives the plain chord of the case:IIis D,iv7in major Fm77is a dominant seventh (jazz convention):V7G7,I7C7,IV7F7; the major seventh is writtenmaj7(Imaj7).domis an alias (Idom7)parseChordSymbol(dictionary, then compositional); lower case adds the minor third:ii9is Dm9,V7b9G7b9,viiø7Bm7b5,vii°7Bdim7. An unknown suffix throwsbVIIin C major is Bb,bIIin A minor is Bb. In minor,VIIandVIare the natural degrees (G and F in A minor), andvii°,vii°7,viiø7stand on the raised leading tone (G#)V7/ii,vii°7/V,V/bVI(read in the major or minor key of the target, as its case says)subV7,subV7/ii63and64for triads (iv63in A minor is Dm/F,I64C/G),65,43and42for the key's seventh chord (V65G7/B,I65Cmaj7/E,ii43Dm7/A;viiø65,vii°43). A bare6stays the added-sixth chord (IV6is F6)Roots are named as the key writes them (
bIIin E major is F,V/viin Db major is Ab). Example:parseRomanProgression("ii7 V7 subV7/ii Imaj7", "C major")