Midi Protocol

Does a midi protocol exist for the arduino? Are any in development? I'd love to have one and if one doesn't exist I am thinking of writing one myself. I've developed protocols before and it could be fun. Is anyone else looking at this?

Thanks, Taiya

Hi Taiya , what do you mean by protocol? there are both basic examples for midi-in and -out in the wiki playground. a library does not exist yet as far as i know. if you plan doing one, please let us know. i'd appreciate one too, but wasn't sure about the needed features (channels, event calls etc) , and whether it should be 2 seperate libraries for in an out (probably yes).

best, kuk

I'm thinking about a library for both MIDI-OUT and MIDI-IN. I've seen a lot of code and things for Midi-out and it looks pretty straight forward, but nothing all that nice for MIDI-IN. I've written code like that before and think that a easy to use library for the ardunio would be something that is nice to have.

Does anything exist like that already, specifically for MIDI-IN?


as i mentioned, i'm pretty sure there is no "public" library yet. Don't know what other people are working on though. i put the basic midi in on the playground, but have a more complex version inside a synth project using pitch bend and modulation messages.it mostly just grew wild, so i've yet to find the time to write proper handlers for the different types of messages. (unfortunately i'm really busy putting up a website, which hopefully will help me to get things organised)

Another thing that kept me from starting on the libary was the difficulty to debug programs with the uncommon midi baud rate. i always felt that it might be cleverer to implement something like "software serial" on other pins than RX/TX.

you're absolutely right about the nice to have. but as i mentioned, i suggest two seperate libaries for IN and OUT. they should be compatible though for midi-through and effects. i guess most projects will either be controllers or synths, so splitting the libraries may make things clearer and easier to fork. i think of a synth-lib or a midi-controller-lib.