-
Hi, I'm trying to add support for stacked SoundFonts to my foobar2000 component foo_midi. Both the RMI and XMF file formats support embedded SoundFonts. The embedded SoundFont takes precedence over the base SoundFont specified by the user. I still haven't ruled out programmer error but I've been able to reproduce the problem with the pre-built fluidsynth.exe
Expected result: The sequence plays correct. Any pointers or help are much appreciated. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 6 replies
-
I need the extracted MIDI and dls to comprehend what's going on. |
Beta Was this translation helpful? Give feedback.
-
I think I found your problem: The midi performs a GM SYSTEM ON via SysEx at the very beginning. This effectively overwrites your The telephone is caused by channel 16, which does indeed select a telefone, by choosing program 124. So if you want to replace the telephone with the sample of the DLS, set the bank number of the DLS instrument to zero (or 15494) and preset number to 124. Actually, the bank number in the DLS doesn't matter, because in gm bank mode it stays zero for fluidsynth, so fluidsynth internally will just fall back to zero. |
Beta Was this translation helpful? Give feedback.
You mean to interfere / avoid that system on message triggering the bank-selection change? In this case, the easiest way would be to avoid sending any sysex messages to fluidsynth. Alternatively you can filter out that particular sysex message, here's fluidsynth's parsing code:
fluidsynth/src/synth/fluid_synth.c
Lines 2075 to 2097 in 0461d75