¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: rtpMIDI


 

So I went down the rabbit hole on this because I have been interested in doing something like this myself.

I know that this is not?rtpmidi, but on the other hand, every single MIDI device I have ever owned that had USB or network MIDI, also still has the 5-pin old-school DIN-plug MIDI jack.? These jacks work about as reliably as RS232 because they effectively are RS232.

Turns out, the old-school MIDI is nothing more than plain n-8-1 serial,?except at a non-standard baud rate (31250) that can't be selected in SIMPL, and also?except at TTL voltages reminiscent of the 0-5v on Crestron's IR-drivers-as-serial.

However, realizing this, it would be trivial to use a cheap Arduino Uno board to translate input at a Crestron-compatible baud into output at 31250 baud.? Basically to act as a translating bridge.? Then sending MIDI messages from Crestron is as simple as using a normal SIMPL serial send block, and transmitting the bytes out a Crestron serial port, just like any other serial device.

I confirm that in ChatGPT, the prompt "Write me an Arduino Uno sketch that uses SoftSerial to accept serial input at 1200 baud (pin 2 RX, pin 3 TX), and retransmit it as MIDI through the UART at 31250 baud" will provide a correct Arduino program that accomplishes this task (it's like 11 lines long) along with the instructions to flash it over USB to an Arduino board.

The Arduino "MIDI shield" that gives you a proper 5-pin MIDI jack from the Arduino Uno's built-in serial port (UART) is less than $20 on Amazon.? The RS232 board that gives you a regular DB-9 serial port compatible with "SoftSerial" is also under $20 on Amazon (search "Arduino RS232 shield").? Arduino "shield" boards stack on top of one another, so you simply make a small tower stacking these two expansion boards on top of the base Arduino Uno.? The "SoftSerial mode" must be selected on the RS232 board, required to software-emulate a second serial port on the Uno because the only hardware serial port (UART) is tied up generating the MIDI signal.

Two minor caveats.
The slower baud rate is required for the software serial emulation... it's 100% reliable at low baud rates like this... midi messages are very short... you'll be fine sending 3 bytes at 1200 baud.? Don't increase it.? Second, the MIDI shield must be removed or switched off (if it has a switch) until you complete the USB flashing step, because the USB flashing function requires exclusive use of the internal UART (temporarily at least).

Fashioning this adapter, you can then send MIDI messages from a Crestron to your heart's content just by looking up the bytes and putting them in a normal Serial Send SIMPL block.? ChatGPT will even give you the bytes (e.g. "What are the bytes I need to send over Serial to send a "Program Change 5" message on MIDI channel 1?")... Sending raw bytes, you can send program changes, control changes, note messages, SysEx messages...basically anything the MIDI protocol allows.? That's hard to beat!

Yeah it's not rtpMIDI, and requires old school cables, but if you get this working, there's a good chance it will run for a decade without a single reboot or failure!

Join [email protected] to automatically receive all group messages.