Summary of MIDI BOF at Nashville USENIX

timothy.j.thompson tjt at
Thu Jun 27 12:58:59 AEST 1991

As promised, here's a summary of the MIDI BOF (Birds of a Feather) session
that was held at the Nashville USENIX Conference a couple weeks ago.

It began with a few words on Keynote availability and machine support,
but I didn't want to spend much time on that, since I'd just finished
an hour-long talk/demo.

I then asked: how many people have used MIDI on a UNIX System?
And 2 people (out of a few dozen) raised their hands.  Hmmm, not
quite what I expected/hoped, but then it's not that surprising, either.

We then started talking about what software needs people had, and quickly
got onto the topic of what kind of features would be nice in a UNIX
device driver for MIDI.  I expressed a desire for a stream-oriented style
(bi-directional pipe, or whatever you want to call it) that would allow
implementation using a variety of techniques (ie. it could be inside or
outside of the kernel, possibly even across a network).  At least a few people
seemed to appreciate this approach, although others still have a hard time
believing you can (or would want to) do MIDI timing outside the kernel.

Someone then expressed the following reservations: 1) the read/write
(ie. any stream-style) model was wrong - they thought a standard library
interface was better.  2) any standard now is premature, and in any case
it should include the handling of issues like synchronizing with other media
(digital audio and video).  Since the conference theme was multimedia, this
shouldn't have been too surprising, although I was surprised that there didn't
seem to be any other efforts that were addressing this need - looking at things 
from a more global perspective.  There were half-a-dozen (it seemed) 
talks at the conference that discussed synchronization issues,
and there are some standards efforts in the *specification* of 
timing and synchronization, e.g. MPEG (I think that's right) and HyTime.
Strangely (to me, anyway), it seems like those efforts are specifically
avoiding any attempt to build a system that actually *implements* the
timing and synchronization they are specifying.

I was hoping we could agree on something small (and purposely
narrow in scope), but the word "standard" seems to attract features
like flies.  So, I suspect I won't be mentioning the "s" word again.
I'm still interested in writing software to support any UNIX system
that can do MIDI, but so far that hasn't been much of a problem.

We got hung up on talking about synchronization for quite a while.
It didn't seem like there was that much else to talk about - at least
that anyone could think of, even when we had a chance.  I wasn't
especially well-prepared with things to discuss (sorry, I spent all my
preparation on the talk).

Toward the end, we did get into an interesting discussion about
different kinds of controllers (Video Harp, etc.).

Finally, we then started playing with the equipment (I'd brought a few synths
and a 386 running UNIX and Keynote).  4 of us had brought Casio DH-200s
(plastic MIDI saxes), and we made embarrasing sounds with them.

    ...Tim Thompson...AT&T Bell Labs/Holmdel/NJ...tjt at

More information about the mailing list