• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Questions on data in MIDIPackets
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.
References: 
 >Re: Questions on data in MIDIPackets (From: Kurt Bigler <email@hidden>)

  • Prev by Date: Re: [OT]How to read mp3 ID Tags from Cocoa or Quicktime.framework
  • Next by Date: [long] Capturing sound to a QT Movie
  • Previous by thread: Re: Questions on data in MIDIPackets
  • Next by thread: Re: Questions on data in MIDIPackets
  • Index(es):
    • Date
    • Thread