[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