W3C home > Mailing lists > Public > public-audio-dev@w3.org > March 2013

Re: Assistant Performer

From: Chris Wilson <cwilso@google.com>
Date: Fri, 8 Mar 2013 07:55:24 -0800
Message-ID: <CAJK2wqWr=zk2yabkG7feUKE-JkvMLfyG=4Kxqf1Jg2HrGXQhnQ@mail.gmail.com>
To: James Ingram <j.ingram@netcologne.de>
Cc: public-audio-dev@w3.org
Ah, I see.  Real-time messages are supported - they're quite important for
sequencer synchronization.  They cannot be received in the middle of ANY
messages - only in the middle of system-exclusive messages.  (You would not
interrupt a 3-byte note-on message with a real-time message; you'd wait and
send it after, since you'd only cause a half-millisecond or so of jitter.
 Sys-ex messages, though, can be quite long, so you need to be able to send
real-time during that time span.)

I'll add a comment; I would expect, actually, that a real-time message
occurring in the middle of a sysex message would be dispatched immediately
via message event, while the system message would be buffered until it is
complete (although the timestamp would be the beginning of the message,
allowing you to recreate the ordering).

a) yes, Web MIDI supports real-time messages.
b) In Web MIDI applications, real-time messages may be received while
another (sys-ex) message is being received and buffered by the system, but
real-time message data would not be interleaved in other message data; they
are dispatched as separate messages.


On Fri, Mar 8, 2013 at 6:13 AM, James Ingram <j.ingram@netcologne.de> wrote:

>  Hi Chris,
>   [...] running status is a way of compressing *multiple* MIDI messages
> into one long stream.  At this point, the UInt8Array could only contain the
> bytes of ONE message in that stream - so it would have to be expanded
> already.
> The penny just dropped.
> I've been confusing "Running Status" with "Real Time" messages (1-byte
> messages in Range 0xF8-0xFF), and will have to revise the corresponding
> names in my midiLib library. -- Thanks for your patience.
> The docs I'm using say that MIDI devices can send Real Time messages at
> any time, even inside other messages.
> As far as I can see, the Web MIDI API draft [1] does not mention Real Time
> messages at all.
> Can I assume that
> a) Web MIDI applications can both receive and send Real Time messages.
> b) In Web MIDI applications, RealTime messages are never received in the
> middle of some other message. [1] Section 8.1 says
> A Uint8Array containing the MIDI data bytes of a single MIDI message
> all the best, sorry about the confusion,
> James
> [1] http://webaudio.github.com/web-midi-api/
Received on Friday, 8 March 2013 15:55:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:43:28 UTC