[LAU] An atrocity committed with PD (MIDI Spec)

Paul Davis paul at linuxaudiosystems.com
Thu Aug 30 22:57:53 EDT 2007

On Thu, 2007-08-30 at 11:33 +0200, Nick Copeland wrote:

> A vast number of the controllers are already linked up to fine/coarse,
> some of which have definitions regarding functionality, especially for
> tuning features. There is also the Non Registered Parameter feature
> that extends the number of continuous fine/coarse controllers to
> 14bits (16K resolution) at the expense of a few extra messages using
> the Data Entry CC. The extra messages do not necessarily add much
> further latency since few people actually run MIDI over MIDI cables
> - MIDI/USB and MIDI/FW are more common these days, the small MIDI
> messages running 200Mb/s plus is very little latency.

14 bit MIDI is fundamentally misdesigned for use with a general purpose
operating system. the MMA got the spec backwards: they should transmit
the LSB and then optionally the MSB but instead, they specified
transmission of the MSB first then optional LSB. this makes it extremely
hard to design a proper s/w receiver for 14 bit controller messages.
i've actually discussed this with the technical head at the MMA and he
agreed that it was an oversight mostly born of the fact that the initial
implementations were all "poured in silicon" and had a fixed rate clock
running (generally at the MIDI data rate) which makes it relatively easy
to handle this specification - if the next "tick" does not produce the
MSB, just update the low 7 bits. doing this on linux or other general
purpose O/S's is quite tricky.


More information about the Linux-audio-user mailing list