[MEI-L] Jazz Chords in MEI ?
Roland, Perry D (pdr4h)
pdr4h at virginia.edu
Tue Dec 3 17:13:58 CET 2019
Hi Etienne,
Of course using SVG for chord labels is not ideal, but the only other possibility is to create a renderer smart enough to handle all the various ways in which labels can be presented. This is not so difficult for your "D7b5/G" example; that is, the behavior expected when processing the <stack> element could be tweaked, but ultimately there's a limit on how intelligent a renderer can be.
Turning to harmonic analysis based on harmonic labels, the obvious approach is to use the content of the <harm> element itself. That is, the string "D-7b5" already conveys the information you're looking to encode -- a chord containing a diminished 5th with a root of D -- so there's no need to capture it elsewhere. If you're interested in finding diminished chords with a root other than D, then a search for <harm> containing "-7b5" or a regular expression that matches the root, such as "[A-G][#-]?7b5", would work.
Another possibility is to use @inth on <harm> to encode the intervallic content of the chord. For example, <harm inth="m3 d5 m7"> captures the intervals of the chord (so really "m3d5m7" is a substitute for "half-diminished"), but it doesn't capture the root. That may be a useful feature to add, probably via a @root attribute, especially for those cases where the label doesn't indicate the root of the chord. If that's done, then it's not unreasonable to add another attribute to hold a chord quality value, like "half-diminished", etc. However, one could use the @type attribute to hold this data or use the @class attribute to point to a value in a formal taxonomy.
To move this discussion toward actualization, I suggest you file an issue in the MEI github repo to add @root to <harm>.
Hope this helps,
--
p.
More information about the mei-l
mailing list