The goal of this library is to enable an Arduino (with an Ethernet shield) or ESP8266 to particpate in an AppleMIDI session.
- Tested with AppleMIDI on Mac OS and using rtpMIDI from Tobias Erichsen on Windows
- Send and receive MIDI commands
- Uses callbacks to receive MIDI commands (no need for polling)
- Automatic instantiation of AppleMIDI object (see at the end of 'AppleMidi.h')
#include "AppleMidi.h"
APPLEMIDI_CREATE_DEFAULT_INSTANCE();
void setup()
{
// ...setup ethernet connection
AppleMIDI.begin("test"); // 'test' will show up as the session name
}
void loop()
{
AppleMIDI.run();
// ...
// Send MIDI note 40 on, velocity 55 on channel 1
AppleMIDI.noteOn(40, 55, 1);
}
More usages in the examples
folder
- Arduino/Genuino (Mega) (Uno and Arduino Ethernet don't have enough memory)
- ESP8266 (Adafruit HUZZAH ESP8266, Sparkfun ESP8266 Thing Dev)
- Teensy 3.2
- Adafruit Feather M0 WiFi - ATSAMD21 + ATWINC1500
- Arduino Ethernet shield (arduino.cc, Wiznet W5100)
- Arduino Wifi R3 shield (arduino.cc)
- Teensy WIZ820io W5200
- 1.8.0
I would love to include your enhancements or bug fixes! In lieu of a formal styleguide, please take care to maintain the existing coding style. Please test your code before sending a pull request. It would be very helpful if you include a detailed explanation of your changes in the pull request.