fluid-dev
[Top][All Lists]
Advanced

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

Re: Re: [fluid-dev] MIDI Bank Select Test result


From: Bernd Casper
Subject: Re: Re: [fluid-dev] MIDI Bank Select Test result
Date: Mon, 16 Aug 2010 15:19:56 +0200

Hi Pedro,
my mistake, sorry. "CC192" means "PC192", "apply a program change".
 
quote:
>So, for bank 7 patches 6 and 7, in GS mode the messages would be:
CC0=7 followed by PC=6
CC0=7 followed by PC=7<
 
>Dec: 176 0 7 192 6<
end quote
 
...thats exactly what I'm doing here. Control change --> CC0 bank select --> select bank 7 --> program change --> select program 6
 
Sven has compiled the latest SVN a week ago.
 
As described, I'm sending 7, not 896. Fluidsynth returnes to have interpreted my "176 0 7" as "bank 896". I can reproduce this behaviour.
 
Regards
Bernd.
 
 

----- Folgende Nachricht wurde empfangen -----

Empfänger: fluid-dev
Zeit: 2010-08-16, 14:31:14
Betreff: Re: [fluid-dev] MIDI Bank Select Test result
On Monday, August 16, 2010, Bernd Casper wrote:
> Hello Pedro,
> many thanks for your essential efforts into bank select mechanisms.
>
> I've tested the bank select mechanism in a jOrgan real-time scenario.
> I understood GS mode supports 128 banks numbered 0-127, each with 128
> patches numbered 0-127. I understood I've nothing to do with the
> "midi.bank-select" switch, when I want to use GS mode for default. The est
> soundfonts contained bank 0 patch 0 and 1, and bank 7 patch 6 and 7.
>
> According to your proposal I used the following message matrix for the
> default (GS) bank select ("CC32 is ignored"): CC00 = bank number (decimal,
> like numbering in the soundfonts)
> CC192 = patch number (decimal, like numbering in the soundfonts)
>
> Thus, my message sequences were:
>
> For bank 0 patches 0 and 1 select:
> CC00=0 | CC192=0
> CC00=0 | CC192=1
>
> For bank 7 patches 6 and 7 select:
> CC00=7 | CC192=6
> CC00=7 | CC192=7
>
> Selecting bank 0 patches worked correctly, selecting bank 7 patches gave
> the following error messages: fluidsynth: warning: Instrument not found on
> channel 0 [bank=896 prog=6], substituted [bank=0 prog=0] fluidsynth:
> warning: Instrument not found on channel 0 [bank=896 prog=7], substituted
> [bank=0 prog=0]
>
> What I'm doing wrong?
>
> Regards
> Bernd.

CC192 is a mistake. There is no CC192 in standard MIDI.

CC means a "Control Change" MIDI message, a 3 bytes message. The first byte is
the status byte, with values from hex 0xB0 for channel 1 (176 dec) to 0xBF
for channel 16 (191 dec). The second byte is the control number, 00 for bank
select MSB, and the third byte is the actual control value, the bank number
from 0 to 127 dec. http://home.roadrunner.com/~jgglatt/tech/midispec/ctl.htm

The "Program Change" (PC) MIDI message is a 2 bytes message. The first byte is
the status byte, with values from hex 0xC0 for channel 1 (192 dec) thru 0xCF
for channel 16 (207 hex). The second byte is the patch number from 0 to 127
dec. http://home.roadrunner.com/~jgglatt/tech/midispec/pgm.htm

So, for bank 7 patches 6 and 7, in GS mode the messages would be:
CC0=7 followed by PC=6
CC0=7 followed by PC=7

The first message sequence for channel 1, in bytes:
Hex: B0 00 07 C0 06
Dec: 176 0 7 192 6

OTOH. The message "fluidsynth: warning: Instrument not found on channel 0
[bank=896 prog=6]" means that you are not testing the last SVN version,
because there is currently no way to send a bank=896 to fluidsynth in the new
default GS mode.

Hope this helps.

Regards,
Pedro

_______________________________________________
fluid-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/fluid-dev

reply via email to

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