MIDI monitor software is used to view the flow of MIDI data. This article describes a few of the MIDI monitor programs I’ve tried.
I found that I had a simple monitor available by using the command amidi that was already present on my system. Note that amidi is limited because it’s for ALSA MIDI only, not JACK MIDI.
First, I used amidi to list the available ALSA MIDI devices:
[steve@audio ~]$ amidi -l Dir Device Name IO hw:0,0 M Audio Audiophile 24/96 MIDI IO hw:2,0,0 E-MU Xboard25 MIDI 1
To monitor the E-MU Xboard25 keyboard, I entered the following command:
[steve@audio ~]$ amidi -p hw:2,0,0 -d
I then pressed middle C (MIDI note 60) and released it. The following output displayed:
90 3C 48 90 3C 00
The output is in hexadecimal.
amidi is not my monitor of choice but it’s useful for verifying that incoming ALSA MIDI is working.
I already had the mididings MIDI processor software installed and found that it could be used as a simple MIDI monitor. With JACK running I started mididings as follows:
[steve@audio ~]$ mididings "Print()"
I used QjackCtl to route my MIDI keyboard to mididings and then pressed and released middle C:
[ 1, 1] Note On: 60 64 (c3) [ 1, 1] Note Off: 60 64 (c3)
The output is in decimal.
I already had the QMidiRoute software installed, which contains a simple MIDI monitor.
After JACK was started I also started QMidiRoute. I used QjackCtl to route my MIDI keyboard to QMidiRoute. Once again, I pressed and released middle C:
I installed the dedicated MIDI monitor program midimon (version 0.3). With JACK already started I then started midimon. I used QjackCtl to route my MIDI keyboard to midimon. Once again, I pressed and released middle C:
midimon has some interesting features. It can log the MIDI stream to a file, which can be useful. It also has checkboxes to control the types of events to be monitored. That’s useful but doesn’t go far enough; I wasn’t able to find a way to disable Active Sensing events. Overall, midimon seems to work OK but it appears to be unfinished.
Other MIDI Monitors
I didn’t look at GMIDImonitor because it appeared to be very basic.
I wanted to look at midisnoop (version 0.1.2) and kmidimon (version 0.7.5) but I was unable to build either of them.