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 and tailored for VSCode. McLaren Labs remains a work in progress.
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.
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.
rtpmidiyou can connect connect Synthesizers, Keyboards and other Controllers using Ethernet instead of old-fashioned MIDI cables.
rtpmidiprogram can be used as a Listener or an Initiator. As a Listener, it can accept incoming connections from other Network MIDI participants. As an Initiator, it can initiate connections to other Network MIDI participants.
Pi-Organ-Synth is an easy to use multitimbral synthesizer. It has a single oscillator and a single envelope generator. The oscillator can be run in Mono mode to generate pure-tone Sine, Saw, Triangle and Square waves. In Organ mode, a bank of oscillators are used to generate overtones above the harmonic. The collection of sliders sets the relative amplitude of each harmonic.
Pi-Organ-Synthon the Raspberry Pi 4.
The Cloud MIDI Bridge is a chat-room service where you can connect your MIDI keyboards or DAWs for real-time collaboration or duet playing across the internet.
In a normal chat-room, you use your computer keyboard to send text to all of the other participants in the room, and what you read on your browser is what others have typed. Most collaboration apps go far beyond basic text these days: they also have audio and video. The sound going into your microphone comes out in other speakers across the internet, and the images going into your camera appear on other displays across the internet.
In the MIDI chat-room, the MIDI events flowing out of your keyboard or DAW flow across the internet to other participants' keyboards or DAWs. This happens in real-time, and with error correction to make up for the unpredictability of the internet.
McLaren Labs provides MIDI-enabled chat-rooms with TEXT and MIDI (we don't have audio or video yet). All you need is an RTP-MIDI program with a good Journal implementation and a McLaren Labs account. Read how in the link on the right!
Or, if you know what you're dong - you can go there right now.
I don't need to read about it: Bridge Waiting Room
For support or inquiries send email:
San Francisco, CA