The incredibly talented music app programmer Geert Bevin has worked on projects you’ll probably be aware of, from LinnStrument to Moog Model 15. Late on Friday he announced on his Facebook page the release of the free SendMIDI, a multi-platform command-line tool makes it very easy to quickly send MIDI messages to MIDI devices from your computer. It uses the awesome JUCE library.
As Geert explains, “after years of muddling around when having to send NRPNs, CC messages, specific Note On/Off messages, and other MIDI messages to MIDI devices … I decided it was time to write a little tool that makes sending MIDI messages from the command line very easy. So after a couple of hours of work today, here’s SendMIDI, hope you’ll find it useful too!”
While SendMIDI is primarily intended for “configuration or setup through Continuous Control, RPN and NRPN messages”, Geert has made sure many other MIDI messages can also be sent.
SendMIDI is free, open-source and easy to build yourself. You can download pre-built binaries from the release section: https://github.com/gbevin/SendMIDI/releases
When it comes to using SendMIDI it couldn’t be easier. Below, Geert Bevin explains how. You can find out more on the SendMIDI Github page.
“To use it, simply type “sendmidi” or “sendmidi.exe” on the command line and follow it with a series of commands that you want to execute. These commands have purposefully been chosen to be concise and easy to remember, so that it’s extremely fast and intuitive to quickly shoot out a few MIDI messages.”
These are all the supported commands:
dev name Set the name of the MIDI output port (REQUIRED) list Lists the MIDI output ports file path Loads commands from the specified file ch number Set MIDI channel for the commands (1-16), defaults to 1 on note velocity Send Note On with note (0-127) and velocity (0-127) off note velocity Send Note Off with note (0-127) and velocity (0-127) pp note value Send Poly Pressure with note (0-127) and pressure (0-127) cc number value Send Continuous Controller (0-127) with value (0-127) pc number Send Program Change number (0-127) cp value Send Channel Pressure value (0-127) pb value Send Pitch Bend value (0-16383) rpn number value Send RPN number (0-16383) with value (0-16383) nrpn number value Send NRPN number (0-16383) with value (0-16383)