--- On Thu, 2/10/11, David Henningsson <di...@ubuntu.com> wrote:
> > Basically the problem is that Soundfont files can have bank > numbers up > to 128 only, and that bank numbers 0-127 are melodic and > bank 128 is > percussion. At least that's the way SWAMI works. I checked > Unison.sf2, > and it follows this as well. I assume it's somewhere in the > sf2 standard. > > So bank numbers above 128 usually make no sense, which is > why MSB is > ignored for XG (and why MMA style is not the default...). > We're kind of > stuck between sf2's standard and XG's standard, and need to > figure out > how to mediate between them. Perhaps you are talking about GM, GS mode where bank# is LSB. Now, just think XG uses MSB instead of LSB. MSB=128 is drum in XG, as well as MSB=126, MSB=120. No difference in that regard (the number 128). The only difference is that it is sent via CC#0. So for MMA-calculation (basically convert to decimal number the combination of MSB, LSB), MSB need to be shifted 7 bits further to the left. And this is done only for XG bank-select style in my code. I hope it help clear any confusion. > > ------ > > > > And in fluid_channel_set_bank_msb() you modified it > as: > > ... > I did look over the fluid_synth_program_change function and > tried to > clear it up a little. It's also in r406. With that patch > and your > example I now get: > > fluidsynth: warning: Instrument not found on channel 6 > [bank=128 > prog=1], substituted [bank=128 prog=0] > > ...which is what it actually did, both before and after > r406. > > // David > Hmmm... ??? I'll take another look on my side. Again, can you try with: fluidsynth -o synth.midi-bank-select=xg if and when you get a chance. Jimmy _______________________________________________ fluid-dev mailing list fluid-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/fluid-dev