|  e7588b906d | ||
|---|---|---|
| .vscode | ||
| builder | ||
| doc | ||
| examples | ||
| external | ||
| res | ||
| src | ||
| test | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| .travis.yml | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| ReleaseNotes.md | ||
| keywords.txt | ||
| library.json | ||
| library.properties | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	Arduino MIDI Library
This library adds MIDI I/O communications to an Arduino board.
Features
- New : USB MIDI Device support with MIDIUSB.
- 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 interface for mergers/splitters applications.
- Use any serial port, hardware or software.
Getting Started
#include <MIDI.h>
// Create and bind 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();
}
- 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 contact me on Twitter: @fortysevenfx.
License
MIT © 2009 - present Francois Best
