What is rtpmidi debian-13 "universal"?
Today we made a new product release called rtpmidi for "Debian-13 Universal". What does that mean? This short post will explain.
Today we made a new product release called rtpmidi for "Debian-13 Universal". What does that mean? This short post will explain.
The GPIO (General-Purpose Input/Output) pins of the Raspberry Pi are versatile ports for handling both incoming and outgoing digital signals. When used as output ports, GPIO pins can control lights, actuators, motors, relays and many other things.
The Linux ALSA MIDI subsystem has a lot of capabilities and it takes a while to learn all of the bits and pieces that are available. Such was the case when one of our customers wanted to connect Reaper to an external RTP-MIDI capable device (a Behringer X-Touch). The solution was the snd-virmidi kernel module. This post will describe what snd-virmidi does and how it can be used to bridge different types of software.
Version 2.0 of McLaren Lab's rtpmidi improves the timing capabilities of the software and optimizes memory usage.
McLaren Labs' rtpmidi software has been around for a few years now. It reliably sends and receives MIDI events and properly implements error correction. The software is robust and has been used in very many different environments by an enormous number of users.
Update: 2024-09-15 - The easiest way to connect external MIDI devices to the Linux subsystem of your Chromebook is to use the free McLaren MIDI Server sending to McLaren Labs' rtpmidi for Chromebook Linux! (Debian 12 Bookworm).
Container technology can be used for many things. It can be used for isolation, security, portability or resource management. One popular use of containers is to run a binary for one operating system on another operating system. We wondered if Linux lxc/lxd container technology would allow us to run the binary of rtpmidi for Ubuntu 22.04 on a Debian 12 system. We succeeded eventually.
Update: 2024-05-31 - McLaren Labs' rtpmidi is now available for Chromebook Linux! (Debian 12 Bookworm)
Read how: Install McLaren Labs' rtpmidi on Chromebook.Go to: https://mclarenlabs.com/store to get it!
The McLaren Synth Kit --- https://github.com/mclarenlabs/McLarenSynthKit --- now includes an RTP-MIDI engine that you can include in your own projects. The engine is the same one that is in our well-known rtpmidi product! We're providing the library so that you can set up RTP-MIDI connections as you like.

Have you ever wanted to use MIDI commands to control electrical lights or appliances? This article will tell you how using a Raspberry Pi, the GPIO pins controlled by some open-source software from McLaren Labs on GitHub, and a nifty device called the IOT Relay. Using the Relay is an affordable and SAFE way to control 120 VAC sockets and it makes this project a breeze.
In version 0.5.2 of McLaren Labs' rtpmidi, we made the use of locked memory the default. Locked memory dedicates fixed RAM to the rtpmidi process, and prevents it from being swapped to disk. The use of locked memory (through the mlockall() function call) can be a benefit to realtime applications like MIDI and Audio, but its use can be to the detriment of other processes. So it should be used carefully.
When you use our rtpmidi tool to connect two devices you have created a "session." The session has an "initiator" side that started the connection, and "listener" side that accepted the invitation. Some devices, however, do not make good "initiators" and iPhones are a great example. An iPhone cannot initiate a network MIDI session.
A service is a program that the operating system automatically starts when it boots. On the Raspberry Pi "buster" operating system, the daemon that starts and stops services is called "systemd." You can read about creating services here:
Along with the recent release of McLaren Labs rtpmidi version 0.5.0, we have new ports to Raspberry Pi 4 Raspbian OS "Buster" and also Ubuntu 19.10 "Eoan Ermine".
This month McLaren Labs releases rtpmidi version 0.5.0 for Ubuntu and Raspberry Pi. This release brings some great new features, and also provides a few performance and installation improvements.
Network MIDI was invented sometime around 2004 to send MIDI messages over an IP network. To handle network loss, a protocol known as RTP-MIDI was created and documented as RFC-4695. Network MIDI is built into OSX computers and iOS devices. Apple music creators think nothing of connecting MIDI equipment using Ethernet and WiFi, instead of MIDI cables.
Remote musical MIDI collaboration has been an interesting academic research area for years, but has not been explored by many casual musicians. One reason is that the complexity of software that brings MIDI and Networking together makes it a little bit of a daunting endeavor. We think it's time to open exploration to more people and make remote MIDI collaboration as easy as joining a Hangout.

The animated screen capture below illustrates the rtpmidi program in action. The rtpmidi program allows two computers to share musical MIDI events in real time over a network connection. The RTP-MIDI protocol is a standard implemented on Mac, Windows and Linux computers. You can use McLaren Labs' implementation of the RTP-MIDI protocol to create musical networks of computers.
What we see is the following.
You may have heard a new term recently: "The Tactile Internet" [1]. The Tactile Internet is the next evolution in the Internet of Things, where humans and machines can interact in real time, and with a very low latency. Low latency capabilities will enable new applications. The Tactile Internet will allow people to interact with remote environments and in real-time.
Did you know you can use rptmidi directly from the command line in a terminal? When used this way, the GUI (graphical user interface) is not used, and Bonjour is skipped as well. Instead, each invocation of the rtpmidi program creates a new Session that can be a Session Listener or Session Initiator. Working at this level you can connect if you know the hostname or IP-Address of each computer, as well as the port the RTP-MIDI session is listening on.
There are a lot of good touch-MIDI controllers available for the iPad. They're fun to use and can be customized. One such popular controller is MidiPads . In the past, an owner of a Raspberry Pi wouldn't be able to take advantage of this controller, since MidiPads speaks "Network MIDI" and the Raspberry Pi does not. (Or did not, at least until now).