McLaren Labs
MIDI Applications

McLaren News

SEPT 5, 2024 - rtpmidi Version 2.0 brings enhanced timing, latency adjustment and memory optimization. Read about refined event timing and latency adjustment. Version 2 is available in releases named rtpmidi_2.0.0_ in the store. Available in Raspberry Pi OS 64-bit and Ubuntu24.04 initially.


JULY 10, 2024 - Alpha release of our new product MMKServer. Seamlessly expose MIDI devices to the network with Zero-Configuration. Read about MMKServer here.


MAY 25, 2024 - New release of rtpmidi for Debian 12.5.0 (Bookworm). Use with Crostini in Chromebook to bring RTP-MIDI into the Linux subsystem.


MAY 11, 2024 - New release of rtpmidi for Ubuntu 24.04. Supports X11 and Wayland displays. Optimized with clang-18.


About McLaren Labs

McLaren Labs brings MIDI applications to the Raspberry-Pi and Ubuntu computers. Our aim is to make music-creation and experimentation easy and fun on inexpensive, accessible computers. Our apps are optimized for multicore architectures, built using libdispatch, to take advantage of the increasing performance available on even inexpensive CPUs.

Our networking utility, rtpmidi, lets you send MIDI messages over a computer network using WiFi or Ethernet. The rtpmidi protocol is already build into Mac computers, so this utility makes it easy to network your Raspberry Pi or Ubuntu computer with your Mac. It is also possible to use rtpmidi with PCs and Android devices, because this protocol is available on those platforms too.

We also like to share some of our developments. We regularly release free downloads, and have recently begun distributing the McLaren Synth Kit - an audio programming environment based on Objective-C for GNUstep. McLaren Labs remains a work in progress.

CONTACT

What People Are Saying



Rtpmidi Features at a Glance

Easy Installation

Recovery Journal

Intelligent Damper Pedal

Bonjour Enabled

System Exclusive

IPV6 Ready

About Network MIDI

Share Synthesizers and Keyboards across Computers

MIDI was originally designed as a serial protocol to be sent over cables that plugged into a MIDI-specific 5-pin port on a computer or keyboard. Many devices these days use USB instead of the special MIDI connector. There are also ways to send MIDI over Bluetooth.

Network MIDI translates MIDI into messages that can be sent over your computer network. It is also very flexible: one computer can host multiple sessions, with each session managing the connections between two or more devices. Network MIDI replaces cables and can simplify your studio, allowing software control of connections and patches. A Network MIDI controller can implement split and merging functions in software.

Because Network MIDI is built into Mac OSX, you can use a Raspberry-Pi or Ubuntu Linux computer to send MIDI information to your Mac. This allows you to "play" Mac synths from your Pi. You can also use a cheap Linux computer to "bridge" USB-MIDI keyboards and controllers into your Ethernet network.

Read The Docs

About RTP-MIDI Protocol

Why RFC-6295? RFC-6295 (alsa known as RTP-MIDI) is a special protocol for MIDI information. RTP ("Real Time Protocol") is a family of protocols for sending real-time information like audio and video. RTP-MIDI is a special form for sending MIDI events. Other systems (like OSC, for one) use either UDP or TCP protocols directly. UDP packets have low latency, but their delivery is not guaranteed. TCP messages are guaranteed to be delivered, but system buffers can introduce unmanaged delay.

RTP-MIDI is built using UDP packets and introduces an error-correction algorithm designed especially for music called the "Journal". This algorithm detects when UDP packets have been dropped and recovers the information in a musically-friendly way. This means that if a Note-OFF packet is lost, that note will not stay "stuck on." The protocol will detect the missing Note-OFF and recover. It also means that notes will not be played twice by accident. This method gives the best experience for live performance.

What you can do with RTPMIDI

Raspberry-Mac
Raspberry-Pi to Mac
Connect a Synth to a DAW on a Mac using Networking
Raspberry Duet
Raspberry-Pi to Raspberry-Pi
Play Duets across a Raspberry-Pi Network

iPhone-RasberryPi
iPhone to Raspberry-Pi
Use an iPhone MIDI app with your Raspberry-Pi Synth over WiFi
iDevice Lighting
iDevice to Lighting
Control MIDI-enabled Lighthing with your iPhone or iPad over WiFi

MMK Server

Effortlessly share MIDI devices across your network with a Raspberry Pi!

MMKServer ("McLaren MIDI Kit --- Server") is a headless appliance software you can run on a Raspberry Pi. Share your Keyboard controllers, synths, drum machines and control surfaces over the network. For each attached MIDI device, MMKServer will announce it on the network as a separate session. The name of the device as seen by Linux will be the Bonjour name announced on the network. Simply open up your RTP-MIDI configuration program on your DAW and select the remote device by name.

MMKServer is a new addition to our family of products. It addresses a typical use case for our users - that is to use a Raspberry Pi as a "dongle" to serve USB-attached MIDI devices over the network. This software appliance is about as easy as it gets. There is no configuration. Simply install it.

AVAILABILITY: for a limited time, MMKServer is available as a free-alpha trial in our Store. We'd like to hear from our users. Try it out and let us know how it works out for you.

Web Console

MMKServer runs headless on your Pi, but you can open up a detailed console view using a browser. The console server runs on port 8000. It shows which Linux MIDI devices are being exported, which UDP port they are exposed on, and the status of any connections to those devices.

The console is configured to trigger a page refresh every 5 seconds. That way the view is always up to date. It is a convenient way to monitor the status of your connections.

Locating the Console

If you know the IP address of your Raspberry Pi, you can open a web-browser directly to http://ipaddress:8000 to see the console. However, sometimes it is difficult to know the IP address of your Pi.

MMKServer helps by announcing the IP Address and Port of its HTTP Console using Bonjour. Then you can use a Bonjour browser to find MMKServer on your network. The diagram here shows the Mac "Discovery" app searching for bonjour services on the local network. The program "mmkserver" is announced directly.

Starting and Stopping the Server

MMKServer is installed as a systemd service unit. It will automatically start when first installed, and every subsequent boot after that. To control it manually, use systemctl.

                Examples
pi@raspberrypi:~ $ systemctl stop mmkserver
pi@raspberrypi:~ $ systemctl start mmkserver
pi@raspberrypi:~ $ systemctl status mmkserver
            

Logs from MMKServer are captured by the systemd logging facility. To view the logs of MMKServer, you can use the journalctl command. The following lists the log messages from MMKServer with the most recent messages first.

                Examples
pi@raspberrypi:~ $ journalctl -r -u mmkserver
...
            

McLaren Synth Kit

McLaren Synth Kit

The McLaren Labs Synth Kit is an open source collection of Objective-C components for working with MIDI and Audio on Linux. Built on the GNUstep platform, the McLaren Synth Kit helps you:

Find the McLaren Synth Kit on github.com.
https://github.com/mclarenlabs/libs-mclaren-alpha

And read about its architecture and design on github.io.
https://mclarenlabs.github.io/libs-mclaren-alpha/

Store

Choose the OS that works for you

rtpmidi for Rasberry-Pi

rtpmidi for Ubuntu

CONTACT

For support or inquiries send email:

info@mclarenlabs.com

San Francisco, CA