Skip to content

Use standard Ethernet network to send MIDI messages (MIDI to AppleMIDI; AppleMIDI to MIDI)

License

Notifications You must be signed in to change notification settings

Hackmancoltaire/Arduino-AppleMidi-Library

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AppleMidi for Arduino Build Status License: CC BY-SA 4.0 GitHub version

The goal of this library is to enable an Arduino (with an Ethernet shield) or ESP8266 to particpate in an AppleMIDI session.

Features

  • 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')

Basic Usage

#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

Hardware

  • 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

Network Shields

  • Arduino Ethernet shield (arduino.cc, Wiznet W5100)
  • Arduino Wifi R3 shield (arduino.cc)
  • Teensy WIZ820io W5200

Arduino IDE (arduino.cc)

  • 1.8.0

Contributing

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.

About

Use standard Ethernet network to send MIDI messages (MIDI to AppleMIDI; AppleMIDI to MIDI)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 88.9%
  • C 6.9%
  • Shell 4.2%