Skip to content
master
Switch branches/tags
Code
This branch is up to date with master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
doc
 
 
 
 
 
 
res
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Arduino MIDI Library

Build Status Coveralls GitHub release License

This library enables MIDI I/O communications on the Arduino serial ports.

Features

  • Compatible with all Arduino boards (and clones with an AVR processor).
  • Simple and fast way to send and receive every kind of MIDI message (including all System messages, SysEx, Clock, etc..).
  • OMNI input reading (read all channels).
  • Software Thru, with message filtering.
  • Callbacks to handle input messages more easily.
  • Last received message is saved until a new one arrives.
  • Configurable: overridable template-based settings.
  • Create more than one MIDI port for mergers/splitters applications.
  • Use any serial port, hardware or software.

Getting Started

  1. Use Arduino's Library Manager to install the library. Type "MIDI" in the Arduino IDE Library Manager

  2. Start coding:

     #include <MIDI.h>
    
     // Created and binds the MIDI interface to the default hardware Serial port
     MIDI_CREATE_DEFAULT_INSTANCE();
    
     void setup()
     {
         MIDI.begin(MIDI_CHANNEL_OMNI);  // Listen to all incoming messages
     }
    
     void loop()
     {
         // Send note 42 with velocity 127 on channel 1
         MIDI.sendNoteOn(42, 127, 1);
    
         // Read incoming messages
         MIDI.read();
     }
  3. Read the documentation or watch the awesome video tutorials from Notes & Volts.

Documentation

Contact

To report a bug, contribute, discuss on usage, or simply request support, please create an issue here.

You can also get informations about bug fixes and updates on my twitter account: @fortysevenfx.

License

MIT © 2016 Francois Best