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

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Plugin APIs (again)
From: David Olofson (david_AT_olofson.net)
Date: Mon Dec 09 2002 - 01:59:10 EET


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 ---


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Mon Dec 09 2002 - 02:04:14 EET