[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] invalid instrument/drum selection problem
From: |
jimmy |
Subject: |
Re: [fluid-dev] invalid instrument/drum selection problem |
Date: |
Mon, 7 Jan 2008 12:03:34 -0800 (PST) |
Hi Josh,
Sorry, I missed the part you asked about specific MIDI
files that causes problem. The last file on this list
is one that will cause trouble.
www.geocities.com/TheTropics/Cabana/4967/inicial.html
www.geocities.com/TheTropics/Cabana/4967/Amor_Eterno.mid
www.geocities.com/TheTropics/Cabana/4967/Ansiedad.mid
www.geocities.com/TheTropics/Cabana/4967/allanera.mid
www.geocities.com/TheTropics/Cabana/4967/Bailamos.mid
www.geocities.com/TheTropics/Cabana/4967/bamboleo.mid
www.geocities.com/TheTropics/Cabana/4967/besame.mid
www.geocities.com/TheTropics/Cabana/4967/caballo.mid
Fluidsynth will play all the other files fine. On the
last file, it reset the drumset to be "Grand Piano".
After that, if I try to go back and play the previous
files on this list, I hear "Grand Piano" for drums,
probably because the drums are never set/reset by
those files, except for the bad one that spoils it.
No matter what the GS specs.says. The drumchannel
should never be set to "Gran Piano" if there is a
valid drumset available - don't you think? Anyway, I
think the DRUM_INST_MASK constant in src/fluid_synth.h
should really be 128. In the released code, it tries
to use DRUM_INST_MASK as an offset for the drum
channel selection, but that constant is erroneously
set to
#define DRUM_INST_MASK ((unsigned
int)0x80000000)
Some of the channel 9 progarm change uses channel 128
or higher, some uses an offset from 128.
Jimmy
--- Josh Green <address@hidden> wrote:
> Hello Jimmy,
>
> I did a little research into this issue and found
> that it is a bit more
> involved than I had initially thought. I think it
> would help to start
> with looking at some example problem MIDI files.
> Can you point out
> specific ones which you are having issues with?
>
> Reading up on the subject of MIDI bank/program
> switching I came up with
> the following information:
>
> There are Sysex messages for switching into GM or GS
> mode. Looking at
> some of the MIDI files on the web page URL you
> posted, I found one that
> had a GS enable message. I'm curious how many MIDI
> files actually have
> these.
>
> When in GM mode, bank change messages should be
> ignored altogether.
>
> Different banks specify different "flavors" of
> similar sounds. A sound
> module should substitute an instrument with the same
> program number, if
> it does not have one in the requested bank.
>
>
>
> I'm not sure yet the best way to handle this in
> FluidSynth. I think a
> good start would be to listen for the GM and GS
> sysex init messages
> which would modify the behavior accordingly. Also a
> command line switch
> for selecting among these different standards
> manually.
>
>
> GM enable
> ---------
> Initialize all channels except #10 to Program 1
> (Grand Piano).
> Set channel #10 to bank 128:0
> Ignore bank change messages.
>
> GS enable
> ---------
> Setup channels like for GM
> Use bank 0 if an invalid bank is selected.
>
>
> Perhaps substituting bank 0 if an invalid
> bank/program is selected
> should be the default behavior, but that could cause
> unexpected behavior
> if someone isn't using a GM/GS bank.
>
> Any thoughts? Best regards,
> Josh
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search.
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
- Re: [fluid-dev] invalid instrument/drum selection problem, (continued)
- Re: [fluid-dev] invalid instrument/drum selection problem, Julien Claassen, 2008/01/03
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/03
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/03
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/03
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/06
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/06
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem,
jimmy <=
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, Bernhard Schelling, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/09
- Re: [fluid-dev] invalid instrument/drum selection problem, Edenyard, 2008/01/09
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/09
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/07
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/09
- Re: [fluid-dev] invalid instrument/drum selection problem, jimmy, 2008/01/09
- Re: [fluid-dev] invalid instrument/drum selection problem, Josh Green, 2008/01/09
- [fluid-dev] Mapping GS, XG to GM, jimmy, 2008/01/07