[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Fwd: [fluid-dev] Midi standards (was: Fix for problem with CC chang
From: |
Josh Green |
Subject: |
Re: [Fwd: [fluid-dev] Midi standards (was: Fix for problem with CC changes to Bank MSB)] |
Date: |
Sun, 19 Apr 2009 18:57:43 -0700 |
On Sun, 2009-04-05 at 11:14 +0200, David Henningsson wrote:
> David Henningsson skrev:
> > Otherwise I think it makes sense - LSB setting does not affect MSB
> > setting, and the other way around.
> >
> > A question to the audience: Why do we have variables for banknum and
> > prognum in fluid_channel_t, when they can be read from (and written to)
> > the CC array?
>
> First; forget about the prognum - it is not a CC. The question is still
> valid for banknum though.
>
> I've tried to dig a bit deeper here. It is hard to find free standards
> on the net (has anybody bought a copy from midi.org?), but I found the
> XG standard here:
>
> http://web.archive.org/web/20060926124939/http://www.yamaha.co.uk/xg/reading/pdf/xg_spec.pdf
>
> The first question is: What do we really support? GM? GM2? GS? XG? For
> XG, the drum kit bank is 127, not 1.
>
> There is also some information in this document which I think should
> apply to us regardless, especially the default values of controllers. E
> g the default volume for each channel should be 100 by default, not 127
> as set in fluid_channel_init_ctrl.
>
> // David
>
>
I think it would be ideal if FluidSynth could detect what mode it is
supposed to be in via SYSEX data as well as be explicitly put into a
certain mode via API calls. This was discussed a little before on the
list in response to some of Jimmy's previous posts about bank/program
selection fallback.
The SoundFont standard itself designates bank 128 as the percussion bank
(section 7.2 about the PHDR chunk). SoundFont files are generally
designed for a specific standard. But the MIDI mode determines
bank/program selection behavior, controllers etc. I'm not sure how far
we would want to go in providing the ability for users to use a XG bank
in place of another standard for example. But many of those standards
build on at least GM.
Josh