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