Hello Iain, There are different kinds of MIDI events. For keyboaed use it needs to scan multiple keys. Keeping in mind it is possible for 10 fingers to play more than 10 notes. The scan rate needs to be fast enough to keep up with a player without noticable delay. A PIC chip can do this. For other controls, one can use the same keys as Patch control and other controllers like Sustain pedal by using other PIC pins to control the mode of the input keys, or extend the matrix past the keyboard range, and assign those scan points to controller inputs. MIDI, unlike computer keyboards needs to be able to handle multiple input scan points simultaniously. Using a PIC with analog inputs, allows for continuos controllers. After doing the learning exercises for using the pic, also download a copy of the MIDI specification at: http://www.borg.com/~jglatt/tech/midispec.htm For a site dedicated to the DIYs there is: http://www.ucapps.de/ . This site is run by Thorsten Klose. He has released most of the software to the public. There is Source code and Hex code with lots of discussion about the applications as well as discussion groups. So both of these sites have good data. If you are interested in specific types of controllers, send me a private E-Mail, and I'll try to answer your questions. Musically yours, Vern Jones, vernjones@sound-research.net ----- Original Message ----- From: Bob Ammerman To: Sent: Monday, August 23, 2004 5:10 AM Subject: Re: multiple 4x4 keypads to 16f877 or 18f452? > MIDI in and out work fine on a traditional UART. The baud rate is 31 250, > which works out perfectly when using an crystal that is an exact number of > MHz (as opposed to some funny number). > > However, rather than using conventional RS232 levels, proper MIDI uses an > opto-isolated connection. > > Bob Ammerman > RAm Systems > > > > I'm not familiar with MIDI, but certainly I'd have thought the other 17 > IO > > > lines would be enough to implement it. > > > > MIDI is basically serial I/O with a tightly-defined format specification. > I believe you can do it with 1 > > input and 1 output (there may be a clock too - can't remember) but half of > a PIC I/O port is plenty. It may > > even be possible to use a UART on PICs that have it. > > -- > http://www.piclist.com hint: To leave the PICList > mailto:piclist-unsubscribe-request@mitvma.mit.edu > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu