[linux-audio-dev] Plugin APIs (again)

David Olofson david at olofson.net
Sun Dec 8 19:05:01 UTC 2002


On Sunday 08 December 2002 19.12, Mark Knecht wrote:
> Frank,
>    I agree with your comments. I'd also like to see the developers
> at least understand and consider these sorts of protocols also. In
> the end something good will come out of it.
>
>    Actually, the use of MIDI velocity information is a strong
> selling point of GigaStudio. In GigaStudio you can map up to 16
> different samples for a given MIDI note. The most common usage in
> the better libraries is to use 4 velocity levels to trigger
> different samples to be played back. Inside of that velocity range
> the actual velocity number serves as a volume scaling mechanism,
> but the overall MIDI velocity allows the piano to be played with
> different samples.

Again, what has this to do with the *interface*, rather than the 
synth design?

We're not discussing whether we should do away with "instantaneous 
note velocity" or not, but *how* we should communicate it to the 
synth.

I vote *against* hardcoding an old MIDIism into the API, just because 
most people have never played anything without a traditional 
keyboard. :-)


>    After the sample is chosen, and scaled as per the specific
> velocity info, it is then scaled again with MIDI volume.

Of course. Different control entirely.


>    There may be other ways to do stuff like this, but this is
> pretty standard in GSt and other Win/Mac based sample players.

Well... How could there be another way to do this, specifically? If 
you want to select a sample based on the velocity when a note is 
started, just do that.

If you tell the host that your Velocity control has a range of 
[-1.0,1.0], and that it's not a continuous control (ie does not 
support ramping; *does* react on every change, regardless of value), 
you can just consider any positive Velocity change a "note on", and 
overy negative Velocity change a "note off". Actual velocity is 
obviously fabs(value).


//David Olofson - Programmer, Composer, Open Source Advocate

.- The Return of Audiality! --------------------------------.
| Free/Open Source Audio Engine for use in Games or Studio. |
| RT and off-line synth. Scripting. Sample accurate timing. |
`---------------------------> http://olofson.net/audiality -'
.- M A I A -------------------------------------------------.
|    The Multimedia Application Integration Architecture    |
`----------------------------> http://www.linuxdj.com/maia -'
   --- http://olofson.net --- http://www.reologica.se ---



More information about the Linux-audio-dev mailing list