Coder Social home page Coder Social logo

arduino_midi_library's Introduction

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

arduino_midi_library's People

Contributors

davidmenting avatar ivankravets avatar jarosz avatar lnnrts avatar per1234 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.