[net.music.synth] MIDI <-> RS232?

djg@well.UUCP (David Julian Gray) (03/25/86)

In article <1885@hammer.UUCP> andrew@hammer.UUCP (Andrew Klossner) writes:
>I'd like to use my lap computer (Epson PX-8) as a patch librarian, but
>all it speaks is 9600 baud RS232.  Does anyone make a MIDI <-> RS232
>converter?  A FIFO between fast MIDI input and slow RS232 output should
>be enough to prevent overrun.

Right, Andrew - going from 9600 bps of your Epson to the
31.2K bps of MIDI will require some hefty, and preferably
"intelligent" buffering.  Luckily there exists just such
a black box:   MIDIC from Hinton Instruments
			  168 Abington Road
			  Oxford, OX1 4RA
			  England
It comes with either a 2K or 10K buffer (at ~$300 and ~$360
respectively).  I know of no one with personal experience
with these devices - most knowledgable MIDI users and
developers I've discussed RS-232 <==> MIDI with are quite
disparaging.  I think that's due to a touch of laziness
(and the fact that anyone using MIDI professionally and
heavily gets a dedicated MIDI port).
The Epson PX-8 is Z-80 based, no?
David Droman in "Exploring MIDI" describes a MIDI interface
and software developed for a Z-80 based Kaypro, using the
Z-80 PIA chip.

Real World:     David Julian Gray
		Computers & Music
		1989 Junipero Serra Blvd.
		Daly City, CA  94014
		415  994-2909
UUCP:
{apple,dual,ptsfa,hplabs,netisun}!well!djg 

jer@peora.UUCP (J. Eric Roskos) (03/31/86)

> Right, Andrew - going from 9600 bps of your Epson to the 31.2K bps of MIDI
> will require some hefty, and preferably "intelligent" buffering. ... most
> knowledgable MIDI users and developers I've discussed RS-232 <==> MIDI
> with are quite disparaging.  I think that's due to a touch of laziness
> (and the fact that anyone using MIDI professionally and heavily gets a
> dedicated MIDI port).

As I mentioned briefly back when I wrote my series of postings on the MIDI
interface for the Macintosh, back before I bought DMCS, I had built an
RS-232 to MIDI interface.  The reason I haven't yet posted the diagrams for
it is that I used a single-board computer that seems not to be manufacutured
any more, so for it to be useful you'd have to put together your own,
though I think it should be possible to do it with just a 6801, an EPROM,
a small external RAM, and the RS-232 line drivers.  (I also used a PIA
to generate the MIDI signals, but you should be able to do that with the
parallel output lines on the 6801 since only 2 are required.)

However, other than the software (which requires precise timing loops), it
is very *easy* to build such an interface, and furthermore it works well.
I have heard suggestions that the slower baud rate of the RS-232 port might
cause delays that might affect the sound; however, I've found this wasn't
the case -- if you think about it, it is almost impossible to press a set
of keys at exactly the same time anyway, so it could be argued that the
delays, if they were audible, would add more "realism".

It doesn't require any particularly intelligent buffering, though; I used
a simple 512-byte circular buffer.  Coming out of the computer, the rate
of character transmission is limited by the RS232 port, so you can't
overrun your MIDI port.  Going the other way, you rarely have incoming
data at anywhere near a rate that would overrun 9600 baud for a sustained
time due to the fact that the human performer can't move that fast... you
might be able to do it by moving the "pitch bend" control continuously for
a long time, though.

So my point is, if you are thinking about building such a device, don't
be discouraged by "disparaging" comments about the performance.  It works
fine.

[I do apologise to the people who wrote and wanted a copy of the diagrams
for it...  I tried to find the manufacturer of the single board computer,
but so far have been unsuccessful -- it was made by a group of EE grad
students who had a small company; they advertised in Byte a couple of
times -- I'm still planning to do a general block diagram of it, along
with posting the software, however.  I've also thought about doing a Byte
article on it, which would probably be a better approach given the need
for drawings, etc.]
-- 
E. Roskos