The Mudcat Café TM
Thread #44775 Message #3177544
Posted By: Artful Codger
27-Jun-11 - 11:21 PM
Thread Name: concertina.net: ABC to midi/sheet music converter
Subject: RE: concertina.net: ABC to midi/sheet music converter
New chord suffix recognition and existing suffix reinterpretation can be defined with the "%%MIDI chordname" directive. For example, for the augmented 5th (X5+), you could define:
%%MIDI chordname 5+ 0 4 8 12
The numbers after the suffix specify semitones above the root, which need not appear in the chord, hence the zero here. (I believe "5+" is already recognized, and this example simply duplicates the existing rule.) This could also be used to define specific patterns for inversions, as in the Roman system encountered in classical music theory texts. I haven't tried this directive, nor do I know if one can specify negative numbers in order to get bass notes below the root note that would ordinarily be used.
Since there is no equivalent directive (I know of) to specify a custom rendering for a particular chord (like E5+, varying from how you'd want other 5+ chords to sound), if you need this kind of customization, you'd have to redefine the pattern each time you wanted a different pattern or spacing for other chords of the same type. Of course, the bass note can be specified independently using a "/" expression after the chord name. There are other directives if you want to change the strum pattern (for instance, to have solid chords or arpeggiation, or adjust to a shifting meter).
Of course, the "chordname" directive might not be supported in whatever version of abc2midi C.net is using, but it might be worth seeing if adding this line cures the 7th anomaly--I'm too lazy, since Folkinfo does the right thing already--:
%%MIDI chordname 7 0 4 7 10