OVERRIDING MIDI pt.II

Llyal Gordon frans at CCIT.ARIZONA.EDU
Tue Feb 4 03:50:28 CET 1997


OVERRIDING MIDI. I appreciate all the responses i got, via private E-mail
and on DIY synth. I especially value those individuals that picked up on
the focus of my message and gave good attention to it. I Thank you.

Now as the dicussion goes into the second round...

I am first going to attempt to summarize what happens when a computer 
tries to control a synth via MIDI.

Thus far, i have learned that MIDI deals with data on a byte level. A
master MIDI interface will send one byte at a time to a slave MIDI
interface. This byte might represent information on its own, or be part of
a larger packet of bytes that are sent together which will become
information to a synth. In this example the computer sends one byte. Its 
MIDI interface breaks the byte down into its 8 bits. These bits travel
the MIDI cable at the MIDI speed of 31.25 KBPS. When they reache the
synth's MIDI port, the bits are intercepted by a UART and this chip
rearranges the bits coming in serially, into a parallel-ready byte and
stores it in a register location of the synth's CPU I/O. The UART triggers
a service flag of the synth's CPU, which will stop what it is doing and 
transfer the data from the register (or "cache") and act upon it. 

I theorize if i sent parallel byte data directly to the registers of the
synth's CPU I/O and trigger its flag, I could feed the CPU data as fast as
it can handle (maybe 1 MBPS or more)- and not at the MIDI 31.25 KBPS. 

It has been mentioned that VLSI chip manufacturing is often used in 
synths, to where the MIDI interface and the synth's CPU are part of the 
same chip. I did not think of this. Good point. I have yet to start 
contacting manufacturers, and i hope in the high-end gear that i desire 
to use, the engineers designed the machines to allow for custom 
interfacing. Or at least keep the MIDI interface section separate from 
the synth's CPU so that i might what i proposed above.

It has also been mentioned that the speed of MIDI is not the only
bottleneck to contend with. The machine itself might be a mediocre
performer. Possibly! I think the code in the synth might be written
sloppy, or the synth was carefully designed to handle only the simplest
amount of data. (I would be ashamed of myself to build an instrument to be
used by a musician that promises all and cannot deliver.)

Then again, if a synth (like the KORG PROPHECY) can make amazing sounds
based on Fourier Transforms and Physical Modeling, which takes some decent
chip power, why would it be slow to respond to byte data that i would send
directly to the synth's CPU I/O? 


I hope after reading this, you see that OVERRIDING MIDI is definitely a
DIY topic. If what i have discussed is accurate, and what i propose is
possible- is this OVERRIDE very difficult to make happen? What am i in
for? 




Llyal Gordon
SUBVOX, tucson AZ
frans at ccit.arizona.edu



m






More information about the Synth-diy mailing list