Open nmlgc opened 2 years ago
This will be necessary if we want to ever have a chance of removing the original game's 50 ms freeze after the GM System On message. In the first preview build for the SC-88Pro delivery, I claimed to have removed that issue, but I actually only replaced it with the different workaround of integrating the delay into the MIDI event timing. It was still there, and caused the MIDI file to play 50 ms later than the original game.
These are the underlying problems:
So we can only remove the freeze and keep the original game's timing for the two original Shuusou Gyoku soundtracks if the user promises to play them back on a GS device. This is the only case in which we can fully let the MIDI file handle the timing of its initialization messages.
(Obviously, all of this is a non-issue if you just use a BGM pack with waveform tracks.)
All MIDIs start with a GS Reset SysEx message (
F0 41 10 42 12 40 00 7F 00 41 F7
). I have a Yamaha keyboard that puts itself into a GS-"compatible" mode upon receiving this message, which effectively disables its high-quality remapping for GM instruments and thus makes the music sound worse than you would typically expect for a standard MIDI file.In GM mode, we would
F0 7E 7F 09 01 F7
), andBonus points for also adding an XG mode, which translates any of the GS SysEx messages to XG ones on the fly. This would first require us to fix the SysEx bugs in the original MIDI files, though.
Depends on #34.