fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Re: Patch for channel_type, also XG drum-channel autoswi


From: jimmy
Subject: Re: [fluid-dev] Re: Patch for channel_type, also XG drum-channel autoswitch
Date: Thu, 10 Feb 2011 13:51:19 -0800 (PST)


--- On Thu, 2/10/11, David Henningsson <address@hidden> 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




      



reply via email to

[Prev in Thread] Current Thread [Next in Thread]