Closed human222 closed 3 weeks ago
The MIDI file you are playing is trying to access instruments that don't exist in GeneralUser GS. To know which instruments are intended, you would need to know what MIDI device this MIDI file was written for. In this case, it is convention for the preset selection to fall back to the corresponding preset number on bank 0. GeneralUser GS aims to emulate the Roland SC-55 patch set + a few extras, so this behavior is not considered a bug in GeneralUser GS, and there are no plans to emulate later Sound Canvas devices or MIDI devices by other manufacturers.
The music was written for SC-55 and it sounds correct on a real SC-55. It literally says SC-55 in the game.
The bank & preset combinations in your posted log output do not exist on an SC-55. They require an SC-88Pro or SC-8820. The SC-55 and SoundFont standard handle missing instruments on higher banks in the same way—by falling back to bank 0.
Weird that it sounds correct on a real SC-55.
For example, the instrument called on the first line (bank=8 prog=57) exists on SC-88Pro and SC-8820 as "Bs. Trombone", but this instrument doesn't exist on SC-55, so it falls back to "Trombone" (bank=0 prog=57).
So yes, it can still sound good on SC-55, since the GM standard was designed so that similar instruments on higher banks should share a preset with their closest bank 0 match. The difference between "Bs. Trombone" and "Trombone" might not be very noticeable and should still sound good on SC-55 or GeneralUser GS.
The difference is quite large.
GeneralUserGS: https://github.com/user-attachments/assets/2ad1a0b8-38bb-447a-8fbd-65b4ba45f99e
Real SC-55: https://www.youtube.com/watch?v=irNJlXS9t84
First stage starts at around 2 minute mark.
Hmm... this seems to be a completely different issue. Several MIDI channels seem to be not playing at all. From the best I can tell—not having used this emulator—this would seem to be a MIDI playback/emulation issue, rather than a "missing instruments in the SoundFont" issue. For example, I cannot think of anything in GeneralUser GS that would cause entire MIDI channels to fail playback altogether. I'll have to look at it later when I get some time.
It turned out to be a FluidSynth issue which also won't be fixed. The conclusion is that FluidSynth is unsuitable for retro gaming because a lot of games have quirky MIDI files that make FluidSynth trip up. FluidSynth rigidly follows specs and can't handle this.
Fortunately, Falcosoft MidiPlayer works fine in Wine, so I would recommend Linux users to use that instead of FluidSynth. BASSMIDI has also been ported to Linux, so it is possible for someone to make a good native soundfont MIDI player as well.
Aah, I figured it had to be something like that. Thanks for looking into it. :slightly_smiling_face:
I'm currently testing GeneralUser-GS with X68000 emulation. While it sounds fantastic overall, the game "Detana! Twin Bee" generates a lot of warnings about missing instruments. I played until the floating island stage, in SC-55 mode.
Tested on Fedora 41 and FluidSynth with recommended .fluidsynth file, with RetroArch (px68k-libretro). MAME (standalone) also appears to have the same issue.
fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=62], substituted [bank=0 prog=62] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=56], substituted [bank=0 prog=56] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=51], substituted [bank=0 prog=51] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=62], substituted [bank=0 prog=62] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=56], substituted [bank=0 prog=56] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=51], substituted [bank=0 prog=51] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=62], substituted [bank=0 prog=62] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=56], substituted [bank=0 prog=56] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=51], substituted [bank=0 prog=51] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 5 [bank=13 prog=62], substituted [bank=0 prog=62] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=47], substituted [bank=0 prog=47] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=60], substituted [bank=0 prog=60] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=47], substituted [bank=0 prog=47] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=60], substituted [bank=0 prog=60] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=47], substituted [bank=0 prog=47] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=60], substituted [bank=0 prog=60] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=55], substituted [bank=0 prog=55] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=47], substituted [bank=0 prog=47] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=60], substituted [bank=0 prog=60] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=57], substituted [bank=0 prog=57] fluidsynth: warning: Instrument not found on channel 3 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=11], substituted [bank=0 prog=11] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=0], substituted [bank=0 prog=0] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=0], substituted [bank=0 prog=0] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=29], substituted [bank=0 prog=29] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=91], substituted [bank=0 prog=91] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=0], substituted [bank=0 prog=0] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=52], substituted [bank=0 prog=52] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 2 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=45], substituted [bank=0 prog=45] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=12], substituted [bank=0 prog=12] fluidsynth: warning: Instrument not found on channel 4 [bank=8 prog=100], substituted [bank=0 prog=100] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=102], substituted [bank=0 prog=102] fluidsynth: warning: Instrument not found on channel 5 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 6 [bank=8 prog=44], substituted [bank=0 prog=44] fluidsynth: warning: Instrument not found on channel 1 [bank=8 prog=1], substituted [bank=0 prog=1]