Re: Stuck Notes
Re: Stuck Notes
- Subject: Re: Stuck Notes
- From: "James Chandler Jr" <email@hidden>
- Date: Fri, 26 Mar 2004 14:10:46 -0500
----- Original Message -----
From: "John Lazzaro" <email@hidden>
To: <email@hidden>
Sent: Friday, March 26, 2004 1:10 PM
Subject: Re: Stuck Notes
>
> "James Chandler Jr" <email@hidden> writes:
>
> Anyway, it could happen that a user is intentionally sending
>
> overlapped notes into your program.
>
>
Yes. However, such a source still has a responsibility
>
to pair note initiations and terminations. From page
>
A-4 of the MIDI 1.0 spec (version 96.1):
>
>
"The transmitter, however, must send a corresponding
>
Note Off message for every Note On message sent.".
>
>
This quote is from a section that legitimizes sending multiple
>
NoteOn's with non-zero velocity on a channel for a given
>
note number without an intervening NoteOff or zero-velocity
>
NoteOn.
>
>
So, hardware that isn't pairing non-zero-velocity NoteOn's
>
with NoteOffs or zero-velocity NoteOffs is out of spec.
>
Note the last sentence is true even if All Notes Off or All
>
Sounds Off Control Change commands are in the stream --
>
those commands are advisory, and do not relieve transmitters
>
from correct pairing.
Hi John
I agree that keyboard's reported behavior is out-of-spec.
If such defective keyboards are big sellers, it might be user-friendly to supply
an optional input filter.
Was just suggesting that the input filter should be user-optional. Users with
non-defective hardware might not want the filtering.
If one filters non-realtime after recording a track, it is easy to fix duplicate
note errors, without accidentally killing intentional overlapped notes. One has
the luxury of scanning the entire track for mis-matched on-off pairs.
With realtime input, it is not immediately obvious how one could filter
defective-keyboard duplicate note-ons, without also killing the user's
intentional overlapped notes.
If you receive two identical note-on's in realtime, before receiving a note-off,
how can your software make an 'instant' decision whether this is a hardware
error versus intentional user input?
JCJR
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.