Difference between revisions of "SCI/GM Mapping"

From ScummVM :: Wiki
< SCI
Jump to navigation Jump to search
(Added info for MT-32->GM mapping)
(No difference)

Revision as of 19:30, 28 October 2010

MT-32 to GM mapping in SCI0-SCI1 games

SCI0 - SCI1 games didn't support GM music (it wasn't a standard back then), apart from some late SCI1 games, for which Sierra released aftermarket GM patches.

There are some standard MT-32 instruments, which have been mapped to GM ones. All of the SCI games had custom instruments in their MT-32 music score.

There is a mapping of MT-32 to GM instruments, including custom instruments per game in the SCI engine, taken from FreeSCI. This has been mostly worked on for SCI0-SCI01 in FreeSCI, but it still needs work.

If you want to work on this, here's what to do:

  • Start ScummVM like this:
 scummvm -d0 --debugflags=Sound,OnStartup

this will make ScummVM display the missing MIDI instruments when you start a game, and it will also make it show the console when the game starts

If we take the theme song from PQ3, for example, we can see that instruments (patches) 68, 70, 72 and 82 are all missing, and that percussion 52 is also missing

68 = "B I G Bass" 70 = "Big Orch " 72 = "Lefty 2 " 82 = "Lead SqrJH" 52 percussion = "IceBreakMS"

The command to use is "map_instrument". It takes 3 parameters: the MT-32 instrument name (with the spaces substituted by underscores, always 10 characters), the GM instrument and the GM percussion (255 = "unmapped")

So, for example, you can set "Lefty 2 " to GM instrument 6 (Harpsichord) with this command:

 map_instrument Lefty_2__ 6 255

Or you can set "IceBreakMS" to GM "Crash Cymbal 1" with this:

 map_instrument IceBreakMS 255 49

The finalized instruments can then be put inside sci/sound/drivers/map-mt32-to-gm.h

If you want the GM instrument/percussion names, they're in sci/sound/drivers/gm_names.h