Hi Diki,


I completely agree with your thoughts and observations.

Indeed, the various vendors of Auto-Accompaniment devices and programs would do us a big favor if they could get together and come up with a unifying standard or some exchange format so that Chord Data can be freely transported across different entities.

The Music Notation Programs have settled on the Music XML format to make their data portable across different programs. This was an excellent move.

We need something similar to move Chord data between Yamaha, Korg, Roland, Ketron, Wersi and of course Band-in-a-Box which has grown a large following.

Yamaha took the initiative early in the game when they published the XF Format Specs way back in 1999.

This made it possible to embed Chords, Lyrics and Styles into a MIDI file.

I am studying how Yamaha implemented the Chord META Events in an XF MIDI file.

It appears to be very straightforward and logical.

For example, this is how the following Chords are mapped to their Chord MetaData Values for C

MetaData________Chord
43 7B 01 31 00 7F 7F C
43 7B 01 31 01 7F 7F C6
43 7B 01 31 13 7F 7F C7
43 7B 01 31 07 7F 7F Caug
43 7B 01 31 08 7F 7F Cm
43 7B 01 31 09 7F 7F Cm6
43 7B 01 31 0A 7F 7F Cm7
43 7B 01 31 11 7F 7F Cdim
43 7B 01 31 12 7F 7F Cdim7
43 7B 01 31 20 7F 7F Csus4


This pattern keeps repeating itself for all the Keys.

For example, the only change is going from 31 to 32 for D


43 7B 01 32 00 7F 7F D
43 7B 01 32 01 7F 7F D6
43 7B 01 32 13 7F 7F D7
43 7B 01 32 07 7F 7F Daug
43 7B 01 32 08 7F 7F Dm
43 7B 01 32 09 7F 7F Dm6
43 7B 01 32 0A 7F 7F Dm7
43 7B 01 32 11 7F 7F Ddim
43 7B 01 32 12 7F 7F Ddim7
43 7B 01 32 20 7F 7F Dsus4


Here again, the only change is going from 32 to 33 for E


43 7B 01 33 00 7F 7F E
43 7B 01 33 01 7F 7F E6
43 7B 01 33 13 7F 7F E7
43 7B 01 33 07 7F 7F Eaug
43 7B 01 33 08 7F 7F Em
43 7B 01 33 09 7F 7F Em6
43 7B 01 33 0A 7F 7F Em7
43 7B 01 33 11 7F 7F Edim
43 7B 01 33 12 7F 7F Edim7
43 7B 01 33 20 7F 7F Esus4


Once again, the only change is going from 33 to 34 for F


43 7B 01 34 00 7F 7F F
43 7B 01 34 01 7F 7F F6
43 7B 01 34 13 7F 7F F7
43 7B 01 34 07 7F 7F Faug
43 7B 01 34 08 7F 7F Fm
43 7B 01 34 09 7F 7F Fm6
43 7B 01 34 0A 7F 7F Fm7
43 7B 01 34 11 7F 7F Fdim
43 7B 01 34 12 7F 7F Fdim7
43 7B 01 34 20 7F 7F Fsus4


It is easy to guess the MetaData value for any Chord in any Key once you understand this pattern.

It should be a very easy task for any developer to include XF capability given the simplicity of the mapping scheme.

The XF Format should be embraced by all vendors like the Music XML format, unless there is a licensing issue.