[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
bytes.

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
code.

 

Did anybody use good C code available ?

JP

 

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