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.htmThe
"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.htmSo,
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@hiddenhttp://lists.nongnu.org/mailman/listinfo/fluid-dev