Re: MIDI NoteOff velocity

From: Michel Jullian (mj@exbang.com)
Date: Wed Sep 01 1999 - 11:05:00 EDT


Eric Scheirer wrote:
>
> It is a common misconception that the note-off velocity is
> a useful MIDI feature.

If something is commonly found useful, then it is a misconception to declare
it is _not_ useful ;-)

> This is not the case; to quote
> directly from the MIDI specification:
>
> "Some keyboard instruments implement release velocity
> where a Note-Off code accompanied by a 'velocity off'
> byte is used. A receiver must be capable of recognizing
> either method of turning off a note, *and should
> treat them identically.*" (emphasis added)

"should treat them identically" should be interpreted as : "a noteon with vel
0 should be treated identically as a noteoff with vel 64" imo.

> The SAOL spec treats them identically; that is, as described
> in 5.14.3.2.4. There is no way for a SAOL program to access
> the noteoff velocities. Content authors who want some
> special controller action on note-off should use a controller
> just before or synchronous with the note-off; this is the
> practice recommended by the authors of the MIDI spec, I
> think.
>
> Several of the authors of the MIDI spec helped us write the
> MIDI parts of the SA spec. As a result, the spec generally
> takes a "hard-line" approach to MIDI rather than a looser
> "common practice" approach.
>
> Even aside from this, it's a logical confusion of the roles
> of control and note-duration to think of a "release velocity."
> A release is a release, and if you want continuous control,
> you should use a controller.

Release velocity has nothing to do with release duration, if that's what you
are saying. Like noteon velocity has nothing to do with note duration. You are
stating the obvious.

> You can figure out when the note has been released by looking
> at the "released" standard name:
>
> // k-rate
>
> if (released && !extended) {
> extended = 1;
> extend(0.5); // stay on for 1/2 second
> releaseval = MIDIctrl[10];
> ...
> }

In this case, why the hell did you implement noteon velocity ? Couldn't it
have been done likewise with a controller ? ;-) No of course it couldn't,
because a controller is a channel message (the same for all notes at any given
time) whereas velocity (whether on or off) is a part (important imo) of a note
message, ie it can be different for two notes pressed (or released) simultaneously.

Moreover the absence of noteoff velocity is a blatant exception : it's the
only feature of MIDI channel messages which is lost in SAOL.

In conclusion I share the common conception (you can hardly call it
misconception, as I said above) that noteoff velocity is a useful and
expressive feature. However I realize that it may be a bit late to express
such an opinion, I can only hope that a future version of SAOL will correct this.

>
> -----Original Message-----
> From: Michel Jullian <mj@exbang.com>
> To: saol-dev list <saol-dev@media.mit.edu>; saol-users list
> <saol-users@media.mit.edu>
> Date: Wednesday, September 01, 1999 9:25 AM
> Subject: MIDI NoteOff velocity
>
> >How does one get the MIDI NoteOff velocity in a MIDI-controlled SAOL
> >instrument ?
> >
> >I can see where to find the noteon velocity (in the second instrument
> >parameter), but can't find the noteoff one.

-- 
Greetings,
Michel
.........................................................................
  Michel Jullian   Directeur General             email mj@exbang.com
  Exbang Industries S.A.
  Mas Chauvain   route de Villeneuve             tel +33(0) 499 529 878
  Maurin     34970 Lattes     France             fax +33(0) 499 529 879
.........................................................................



This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:34 EDT