[linux-audio-dev] Basic MIDI question

Nicolas Pouillon nipo at ssji.net
Tue Jul 25 00:23:39 UTC 2006


[Mon, 24 Jul 2006 17:55:17 -0400]
Lee Revell <rlrevell at joe-job.com> eut le bonheur d'_crire:

> Ugh.  All I need to do is snoop note on, note off, and the note number.
> But you're saying that 0x81 is sometimes part of a timestamp, and other
> times it means note off on channel 1?

Bytes you read, when decoding smf-like stream (which is to say with
delta times in between) must be decoded differently whether you are
reading an event or a delta time, yes

> So you are saying my driver needs to have full knowledge of the MIDI
> state machine in order to snoop note on and note off?

I believe so. You also may have to care about other midi specific
things to parse like
-Running command: Command byte (the one with 1 on bit 7) may be ommited
if it is the same as last one
-"Note on" with velocity 0 is considered as "note off" (most of the
time)

91 42 7f
81 30
91 41 3e
88 37
81 42 00
30
81 41 00

may be optimized as
(-- is an ommited repeated "running" command byte)

91 42 7f
81 30
-- 41 3e
88 37
81 42 00
30
-- 41 00

or even

91 42 7f
81 30
-- 41 3e
88 37
-- 42 00
30
-- 41 00

-- 
Nipo <nipo at ssji.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20060725/92875f13/attachment.pgp>


More information about the Linux-audio-dev mailing list