Am So., 5. Juli 2020 um 16:32 Uhr schrieb David Back via fluid-dev
> Thanks for your comment. Even though the FS documentation is wrong and confusing when you consider midi and FSchannels I know you are not going to change it.
> Your argument that these channels are equivalent may be right a simple case such as your command interface but when you consider an organ they most definately are not the same or even equivalent. And it is very confusing to think they are.
FWIW, I would be interested in understanding why you think that our
documentation is "wrong". I can understand "confusing"... FluidSynth
is highly flexible and has a huge API, which makes documenting it
quite hard. But "wrong" is quite a strong word, so I would be very
interested in your reasons for saying that.
FluidSynth is a SoundFont synth, it's synthesis model and by extension
it's API is closely tied to the SoundFont spec and MIDI as a whole.
And the FluidSynth concept of channels is closely related to the
semantics of MIDI. Consider the fact that there are many API calls
(like fluid_synth_cc, fluid_synth_pitchbend, fluid_synth_sysex,
fluid_synth_channel_pressure, ...) that have firm roots in the MIDI
standard. And the naming and valid ranges of the parameters that you
pass to those functions are also (mostly) based in the world of MIDI.
So in my opinion, FluidSynth concept of "channels" is at least a
subset of MIDI channels and calling them "MIDI channels" makes that
I understand that your application is using its own MIDI processor,
does custom MIDI event routing and uses FluidSynths flexibility to
achieve things not possible with the built-in MIDI engine. But I don't
understand why that makes you say that our documentation is wrong...
Would you care to explain this in more detail?
> Also midi channels contain midi events in a specified defined format. The FSchannels are driven by software procedures in a completely different specified format.
I think this is a weird interpretation. In my view, MIDI channels
don't "contain" MIDI events. MIDI events can specify which MIDI
channel they affect, which means that channels are not a "container"
for events but rather a concept (or the numerical address) of a
configuration and state of a synthesis engine (of which 16 are
directly addressable via MIDI events and many more via the API).