[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65
From: |
Pedro Lopez-Cabanillas |
Subject: |
Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65) |
Date: |
Sun, 8 Aug 2010 22:35:47 +0200 |
User-agent: |
KMail/1.9.6 (enterprise 20070904.708012) |
On Saturday, August 7, 2010, S. Christian Collins wrote:
> Another option, rather than try to guess what bank select mode to use
> would be to default to the GS standard, but have an option to use XG
> mode--this could even be a switch added to Qsynth easily enough for us
> GUI folks.
Defaulting to GS mode (CC#0/MSB is Bank Select, ignore CC#32/LSB) is the
recommendation of Creative. In the SoundFont documentation site,
(http://connect.creativelabs.com/developer/SoundFont/Forms/AllItems.aspx)
there is a file named "sfmansdk.zip" (SoundFont Bank Management System SDK)
containing a library, examples a some documentation. One interesting document
is the file "SFMAN1.DOC" (MSWord format). Here is an interesting quotation
from page 11.
3.3.2.2 MIDI Bank Styles
The MIDI Bank Select Message has two distinct portions: The MSB portion, sent
with MIDI CC0 message, and the LSB portion, sent with the MIDI CC32 message.
When the definition of the MIDI Bank Select Message was established, there was
confusion in the industry as to how that message should be interpreted. This
was because the definition of the MIDI Bank Select message was not clearly
defined. Specifically, it was generally defined that all MIDI Continuous
Controller Messages with index between 32 and 63 be LSB portions of the
messages between 0 and 31. Bank Select, being defined as Continuous
Controller 0, was simply assumed to take on this characteristic. However the
first incarnations of devices using bank select did not utilize this feature.
As a result, two different ways of viewing the MIDI Bank Select Message as a
single unitary value have been widely used.
One is what we call ‘AWE32’ mode, named after the Sound Blaster AWE32, which
was the first SoundFont Compatible Device. In this mode, the MIDI Bank index
uses the MSB portion of the MIDI Bank Select message as a single increment
and ignores the LSB portion. This mode is also known as ‘CC0 Only’ mode
or ‘GS’ mode.
The second configuration is called ‘MMA’ mode, named after the MIDI
Manufacturers Association, which defined the Bank Select Message. In this
mode, the MIDI Bank index uses the LSB portion as a single increment and the
MSB portion as increments of 128. This mode is also known as ‘CC0 and CC32’
mode, and is a pure superset of ‘AWE32 mode’
The following table shows examples of how Bank Select MSB and LSB values are
expressed in AWE32 Mode and MMA Mode.
MSB Value LSB Value AWE32 Mode Value MMA Mode Value
0 0 0 0
1 0 1 128
2 0 2 256
0 1 undefined 1
1 1 undefined 129
All SoundFont Compatible Devices are all guaranteed to use the AWE32 Mode, and
AWE32 mode is the “default” mode of the SoundFont Management System and
compatible devices. This means that if no messages are explicitly sent by the
client to change the bank style, the SoundFont Management System and
compatible devices will expect the AWE32 mode of addressing MIDI Bank Space.
Appendix A2 will specify whether the Device Manager API supports the MMA
mode, Appendix A3 will specify whether the Master Manager API supports the
MMA mode.
> That being said, if the guessing is pretty foolproof, then that's
> probably the best option.
> -~Chris
>
> On 08/06/2010 05:23 PM, Pedro Lopez-Cabanillas wrote:
> > On Friday, August 6, 2010, S. Christian Collins wrote:
> >> I had no complaints with how bank selects worked in 1.0.9--it's exactly
> >> the same way my SoundFont-compatible Audigy hardware works. I don't see
> >> the need to support XG mode when the SoundFont standard doesn't really
> >> use that mode at all. There is a lot more that goes into
> >> XG-compatibility than the way banks are selected.
> >
> > There are XG SoundFonts, and issues have been discussed in this list
> > several times.
> >
> > http://www.mail-archive.com/search?q=XG&address@hidden
> >
> > Regards,
> > Pedro
- Re: [fluid-dev] Re: Son of ticket #65, (continued)
- Re: [fluid-dev] Re: Son of ticket #65, S. Christian Collins, 2010/08/02
- MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/03
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), David Henningsson, 2010/08/04
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/04
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Elimar Green, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Elimar Green, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), S. Christian Collins, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), S. Christian Collins, 2010/08/06
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65),
Pedro Lopez-Cabanillas <=
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), David Henningsson, 2010/08/08
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/08
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), David Henningsson, 2010/08/09
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/09
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), David Henningsson, 2010/08/09
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/09
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/09
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Elimar Green, 2010/08/10
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), Pedro Lopez-Cabanillas, 2010/08/10
- Re: MIDI Bank Select proposal (was Re: [fluid-dev] Re: Son of ticket #65), David Henningsson, 2010/08/10