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: https://github.com/gbevin/ReceiveMIDI
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" --
Discussion
Want to join the discussion?
Create an account or login to get started!