Re: Questions on data in MIDIPackets
Re: Questions on data in MIDIPackets
- Subject: Re: Questions on data in MIDIPackets
- From: Doug Wyatt <email@hidden>
- Date: Fri, 22 Feb 2002 07:03:05 -0800
On Tuesday, February 19, 2002, at 09:45 , Kurt Bigler wrote:
So this brings up a potential problem when automatically generated
notes may
"collide" with manually played notes in the same MIDI stream on the same
channel. I don't know whether the MIDI spec covers this, but for my
application I chose to permit multiple note-ons and have the sound
synthesis
module keep a note-on count for each instantiated voice. Only when the
the
number of note-offs equals the number of previous note-ons does the note
stop sounding. Multiple note-ons for the same note# re-trigger the same
voice (which keeps a count) rather than triggering multiple voice
instances.
This behavior is device-specific ... many (most?) synths will not
require two note-offs to turn off two note-ons for the same channel/note.
So if the MIDIServer might permit things like attaching modules that
perform
filtering functions on a midi stream, like "simulateous octave
following",
then therr might be some design issues to iron out. If the generated
logically simultaneous notes are inserted in the stream later because
they
were generated later, then this might produce an audible delay between
the
manually played notes and the automatic intended-to-be-simultaneous
notes.
In that case keeping the stream sorted by time might be a good idea.
The stream already is sorted by time.
All I was saying was that multiple events **with the same timestamp**
are played in the order in which they are scheduled But these events
with the same timestamp should not, under normal circumstances, be
*perceptibly* delayed unless there are enough of them to push up against
MIDI's transmission speed limit. (e.g. if you play a 10-note chord from
a MIDI controller to a synth, that's 21 bytes, with a tranmission time
of 21/3125 seconds, almost 7 milliseconds, which is a perceptible delay).
Doug
--
Doug Wyatt
work: email@hidden (CoreAudio)
personal: email@hidden
http://www.sonosphere.com
"He was the sort of person who stood on mountaintops during
thunderstorms in
wet copper armour shouting 'All the Gods are bastards.'"
-- Terry Pratchett
_______________________________________________
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.