Now You Can Easily Monitor Received MIDI Messages AND Create Text-Based Step Sequencer

This clever, open-source tool, ReceiveMIDI, from Geert Bevin, makes it simple to monitor received MIDI messages from your command line on Mac, PC and Linux. But there's so much more this tool can do!  

The awesome programmer behind the Moog Model 15 app and the software for LinnStrument, Geert Bevin has just announced his latest tool,the free ReceiveMIDI. It's a follow-up app to the super useful SendMIDI and as Geert says, "it felt only normal to create a similar tool for reciveing MIDI messages".

ReceiveMIDI, uses the JUCE library and is a multi-platform (MacOS, Windows and Linux) command-line tool that makes it easy to monitor MIDI messages sent from a MIDI device. "There are a series of handy filter commands if you just want to focus on some of the messages, and you can optionally add timestamps."

Here's an in-depth tutorial/walkthrough by Geert Bevin on using ReceiveMIDI and SendMIDI:

Geert has also updated SendMIDI so it now understands the timestamps, "allowing you to play back anything you saved and edited from ReceiveMIDI, with the appropriate timing". On the command line you can also use this to re-route MIDI easily by piping them together

Download it here:

A screenshot of ReceiveMIDI with timestamps.

And here's something pretty exicting. ReceiveMIDI & SendMIDI can be used as a text-based sequencer! "The output of the ReceiveMIDI tool is compatible with the SendMIDI tool, allowing you to store MIDI message sequences and play them back later." You can edit the text step sequencer in any way you wish.

Here's a list of the commands:

dev   name           Set the name of the MIDI input port (REQUIRED)
  list                 Lists the MIDI input ports
  file  path           Loads commands from the specified program file
  dec                  Interpret the next numbers as decimals by default
  hex                  Interpret the next numbers as hexadecimals by default
  ch    number         Set MIDI channel for the commands (0-16), defaults to 0
  ts                   Output a timestamp for each receive MIDI message
  voice                Show all Channel Voice messages
  note                 Show all Note messages
  on    (note)         Show Note On, optionally for note (0-127)
  off   (note)         Show Note Off, optionally for note (0-127)
  pp    (note)         Show Poly Pressure, optionally for note (0-127)
  cc    (number)       Show Control Change, optionally for controller (0-127)
  pc    (number)       Show Program Change, optionally for program (0-127)
  cp                   Show Channel Pressure
  pb                   Show Pitch Bend
  sr                   Show all System Real-Time messages
  clock                Show Timing Clock
  start                Show Start
  stop                 Show Stop
  cont                 Show Continue
  as                   Show Active Sensing
  rst                  Show Reset
  sc                   Show all System Common messages
  syx                  Show System Exclusive
  tc                   Show MIDI Time Code Quarter Frame
  spp                  Show Song Position Pointer
  ss                   Show Song Select
  tun                  Show Tune Request
  --                   Read commands from standard input until it's closed

Geert has included a few examples on the Github page to get your started. Here's a couple to whet your appetite.

List all the available MIDI output ports on your system: 

  • receivemidi list

Receive only notes coming from LinnStrument:

  • receivemidi dev "LinnStrument MIDI" note

Receive all messages from LinnStrument and pipe them to the SendMIDI tool in order to forward them to Bidule:

  • receivemidi dev linnstrument | sendmidi dev "Bidule 1" --


More info / download ReceiveMIDI FREE here:



Rounik is the Executive Editor for Ask.Audio & macProVideo. He's built a crack team of professional musicians and writers to create one of the most visited online resources for news, review, tutorials and interviews for modern musician and producer. As an Apple Certified Trainer for Logic Pro Rounik has taught teachers, professional... Read More


Want to join the discussion?

Create an account or login to get started!