From: Chuck C. <za...@td...> - 2010-02-24 02:17:49
|
Here's how it should work. I speak as an ex AWE32 owner. You can load a soundfont bank as a *main bank*, or as a *user bank*. If you load a soundfont as a main bank it will load every instrument to the bank specified. If you load it as a a USER bank, you specify a bank offset to add to all non drumkit banks. Say you have your GM bank loaded. You want to play some final fantasy 7 awe midi files. :) To play them, you load the ff7 awe soundfont (well a fixed version which includes the ROM samples) into bank 1 as a user bank, like you owuld on your real awe32. it contains banks 0 through 8, and some drumkits in bank 128. So, you would load this as "user bank 1". (the final fantasy 7 pc game does exactly this just before the game starts) This would map 0 inside this new soundfont to bank 1 in your existing setup, 1 to 2, 2 to 3, etc. overwriting any existing instruments at this point. But bank 128 would stay as bank 128, and all of the final fantasy 7 drumkits (of which there are about 10-12) will overwrite any existing drumkits. Current method is absolutely horrible. It ONLY seems to load bank 0 from the soundfont, and ignore all others, at least in the standalone player I tried. Also the engine should support all awe32 sysex and NRPN Mainly tis means GS sysex for reverb and chorus, and nrpn to control the LFOs and the resonant filter. Notably no card that uses .sf2 seems to support portmenteau controller, even though GS and XG standard both require it's support. If you wish to make a GS compliant timdity++, you must include this controller. |