Closed jpcima closed 11 months ago
Actually my bad, it's just me as I try to figure out XG mappings. It's just the first naming inconsistent, but rest looks fine.
A question: why do we use 000 for MSB, as documentation indicates 127? what to map in place of the MSB 126? (SFX Kit 1/2, Techno Kit, etc..)
Because the 127 is handled by synthesizer side and the LSB is mapped to patch change events when drums mode is on.
I deduce that MSB=0 is XG 127, MSB=1 is XG 126, in context of libADLMIDI. My current work is to put together the database of patches. (made XG set from definitions of Sekaiju, and should be able to repeat the same for MS-GS, SC88, GM2) I will work to integrate this the editor, to facilitate the bank editing.
I finished collecting the instrument set from Seikaju in one file. Included are MU1000 XG, Microsoft GS, Roland Sound Canvas, GM Level 2. It's a large file. https://gist.github.com/jpcima/0ace01fc2be138ea61119bf68421dafc
It converted the XG (127,120) to MSB 0, 1. It's a flat array for static data. At runtime, I think we can construct a hash map to accelerate lookups.
I think, we need to append one another XG list: In the set of Cakewalk Sonar 1.3 I have the list of instruments which is matching the SYXG50 and MU2000 isn't matching by some set, I have checked out... I'll append the files from Sonar where those names are defined... default.txt
I'll check the set of differences.
For now I posted my generator program used. https://github.com/jpcima/gm-xg-gs
The ini library has ability to read these except for heading parts like .Instrument Definitions
and others.
It's identical format so this should be readable.
Sonar's spec is similar, so, it's need to chop the XG part from this Sonar's dump and put as "syxg50.ins"
Missing instruments are 0:0 XG percussions.
No instruments missing, I did actually add these. What misses is possibly:
Key[16256,16]=XG Rock Kit
Key[*,16]=XG Rock Kit
Hmmm... When starting editor with or without loaded bank, blank entries are displayed as "+fireball" for melodic instruments and "bell tree" for percussion.
Fixed by #66, I believe. Tried the build artifact under Appveyor.
That fixed this one, thanks!
Closing as completed/abandoned.
It has these XG percussion banks. Some numbers disagree with the naming, with value off by 1.
In contrast, this is the data I collected from Sekaiju's MU1000 instruments. On the left is
MSB:Program
with 0-indexing.(in comparison, XG spec indicates MSB in 0-indexing, LSB constant at 0, and Program in 1-indexing)