Skip to content
Rainer Jung edited this page Jan 8, 2024 · 8 revisions

Stand With Ukraine

Extended Documentation:

http://fortyseveneffects.github.io/arduino_midi_library/

Using MIDI.begin

In the setup() function of the Arduino, you must call the MIDI.begin() method. If you don't give any argument to this method, the input channel for MIDI in will be set to 1 (channels are going from 1 to 16, plus `MIDI_CHANNEL_OMNI to listen to all channels at the same time).

This method will:

  • Start the serial port at the MIDI baudrate (31250).
  • Set the input channel at the argument given (if any, else 1).
  • Enable Soft Thru, without filtering (everything at the input is sent back).

MIDI Thru

The MIDI Thru allows you to redirect your incoming messages to the MIDI output. It replaces the need of a MIDI Thru connector, as it copies every valid incoming message from the input. For good performance, you might want to call read() in a fast loop, for low latency.

Incoming unread bytes/messages are kept in the Arduino serial buffer, in order not to flood it, check regularily with MIDI.read. See the documentation for Thru explanations.

Thru is enabled by default, you can turn it off using appropriate methods.

Hardware

Take a look at the MIDI.org schematic.