2017-05-23 14:00 GMT+02:00 Kjetil Matheussen <k.s.matheus...@gmail.com>:

> So when fluidsynth receives these bytes:
>
> 0xa0 0x60 0x10
> 0x90 0x60 0x70
>
> Is the note played with a volume value of 0x10?
>

That depends on the modulators on the instrument. Polyphonic aftertouch is
not one of the standard modulators, so it needs to be explicitly added to
an instrument / preset. On the standard FluidR3_GM font, your example would
play with volume of 0x70, as there is no polyphonic aftertouch modulator on
any of the presets.

If you add a Key Pressure -> Initial Attenuation modulator and leave the
default Velocity -> Initial Attenuation modulator in place, then those two
modulators will work in combination. So in that case: yes, sending
aftertouch before note on will affect the initial volume of the sound. But
it probably wouldn't be 0x10 in your example, because the velocity also
adds to the volume through the default modulator.

By the way, that is (as far as I can tell) exactly the same behaviour as in
the already implemented Channel Aftertouch event. Channel aftertouch is
always accepted and stored on the channel, even if no note is currently
playing and it is also not reset on note off. But Channel Pressure /
Aftertouch _is_ one of the default modulators and is mapped to LFO Pitch
Depth. So if we switch your example to Channel Pressure:

   Channel Pressure: 127
   Note On: 60 127

then that note starts with maximum volume and maximum LFO pitch depth.


> In case, that doesn't seem right...
>

Ok... but what _is_ right? :-) And if that's not right, is the existing
channel pressure also wrong?

Cheers,

    Marcus
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev

Reply via email to