[net.music.synth] Thoughts on MIDI spec

nebula@sftig.UUCP (nebula) (05/16/85)

>	I tried to send mail to Doug Donahue, but it didn't make it.  Could 
> someone please answer my question?
>
> From: Jay Tobias <tobias@UCLA-LOCUS.ARPA>
> To: attunix!dr_d@cit-mercury
> Subject:        MIDI
> Message-Id:     <483728311-18872-tobias@UCLA-LOCUS.ARPA>
>
> Can you please tell me how to subscribe to the publication by the MIT Press?
> I am very interested in devoloping my own functional interface between a
> computer and musical equipment.  This way I know it will be done right and
> have all the features I want.
>
> Jay Tobias
> tobias@ucla-cs.arpa
> {...ihnp4,ucbvax,sdcrdcf}!ucla-cs!tobias

Jay, you included a copy of a note I posted to the net here with this plea addended.
For the rest of the neters; the topic of discussion was the MIDI interface spec.
I must infer from your addend and the included note that the funtional interface
that you are interested in building is a MIDI interface.  You should realize, if
you don't already, that there are two aspects involved with developing an interface:

		1) The hardware interface
		2) The driver software

As long as you are planning to adopt the MIDI interface (it would be fairly sense-
less to adopt any other at this point), the foremost important requisite item is
the MIDI interface specification.  As I tried to state before, but apparently didn't
make clear, the MIDI document should contain hardware and software specifications.
The sorts of things that should be found in the document are pinout configurations
logic type and voltage levels, functional specifications pertaining to code sequences
machine states, signal significance and the like.  From these very specifications,
in conjunction with the specifications that describe your computer and your
musical instrument, an experienced programmer/engineering type should be able 
implement what in effect are the physical, data link and network interface protocols
for your machine.  The programmer type should be able to infer,  derive and implem-
ent what in effect are the transport and session layers from the MIDI spec.  In
other words implement the driver.

As far as having the features and "doing the interface right" goes, the people
who have designed the specification have already determined the features that
that the interface should support.  The result was then translated and incorporated
into the MIDI interface spec.  There are options within the spec, however.  So, I 
think that you should not be thinking along the lines "the features that I want" but,
which features your machine(s) compell you to require.

The moral of the story is that 1) unless you are very familiar with hard/soft-ware
development then be prepared for some long nights.  2) Get the spec.

				Doug Donahue
				AT&T Information Systems
				attunix!dr_d
				201 522 6175