[sdiy] MIDI I/O c code..

Jean-Pierre Desrochers jpdesroc at oricom.ca
Fri Mar 20 01:14:14 CET 2020

I'm working on a new polyphonic MIDI to CV module (8 voices).

So far I did my tests with an old PIC16F887 @ 20Mhz micro I had on hand.

I use a USART interrupt driven c function to 'catch' all the incoming MIDI

My code is pretty fast, but still, since I only read one MIDI channel (1-16)
at the time 
when I play very fast chords on an external keyboard

all the notes are read in the incoming queue but sometimes

I get stuck notes or unread ones..

Same thing happens when playing MIDI files on Cakewalk SONAR 
feeding my prototype with  a MIDI cable.
The interrupt function grabs each incoming byte and put them

In a receive buffer of 32 bytes and the main () reads and treats them in a
FIFO manner

Later in the main loop.


-Would a 32Mhz micro do a difference in the USART interrupt reading speed ?

-And is 32 bytes long enough for the RxBuffer to handle a 6 voices chords ?

-And finaly I checked the web for a 'decent' C code examples

  for MIDI reception (MIDI Tx is much easier to implement) with no success..
  'Obscure' Arduino libraries all around with no explainations of its inner


Did anybody use good C code available ?



Synth-diy at synth-diy.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20200319/b7921981/attachment.htm>

More information about the Synth-diy mailing list