June 1, 2020
During this time of sheltering-in-place and staying at home, finding ways to collaborate on the internet is more important than ever. Did you know you could use Network MIDI to play duets or “jam” over the Internet?
To do it, you need two people each with a MIDI instrument (keyboard or DAW). In an Internet collaboration session, each participant receives all of the MIDI events of everyone else in the session in real time. So the sounds coming out of your keyboard are both what you are playing, and what your collaborator is playing. It’s like four hands on one piano, but the two pianists are in different rooms … or even countries.
It’s been possible to set up Network MIDI sessions over the internet for some time now, but doing so has required knowing a lot about networking. Sometimes it even required changing settings in your router. McLaren Labs wants to make it easier to connect MIDI keyboards across the Internet.
Simplifying the Network
To make it simpler to connect MIDI sessions over the Internet, McLaren Labs created the Cloud MIDI Bridge.
The Cloud MIDI Bridge makes it easy for two people in two different locations to share live MIDI Sessions. It works by providing an intermediate server for relaying MIDI events. The McLaren Labs MIDI Bridge is interoperable with Network MIDI on Mac, Windows and Linux platforms.
A MIDI bridge is a “MIDI Relay” in the cloud. We have made MIDI Bridges available in 3 different datacenters: Frankfurt DE, Newark NJ and Fremont CA. You can launch a bridge in the datacenter closest to your home to minimize latency.
What you Need to Get Started
- a computer with an Ethernet connection to your Router
- a browser window logged into McLaren Labs
- rtpmidi from McLaren Labs for Linux, Network MIDI In Mac OSX, or rtpMIDI from Tobias Erichsen for Windows
- a MIDI keyboard for playing notes and a synth for playing sounds
The diagram below shows a Mac set up and ready to go.
How To Use
Go to this private page on the McLaren Labs website.
This is the lobby to the Bridge service.
Select one of the three data-centers. This will create a room for you. It is like a chat room. In fact there is a text-chat built into it.
Your room will be given a unique name: shown here it is “small-character-257”.
What’s in the Room?
On the left you see the Bridge console. There are two buttons to start and stop it. Your Bridge is given a unique, temporary Internet Address. In this example, it is 126.96.36.199:5038. Beneath the buttons and the address is the output log. This is where you will see log messages about the events passing through the Bridge in the cloud. The log is there to help you get feedback about your set up and whether it is working.
When you enter your room, the Bridge is not yet running. To get it going press the
[Launch] button. As the creator of the room, you have the ability to start and stop the Bridge. Other participants that come to your room can see what you see, but cannot control the buttons.
On the right, there is a place to text-chat with your collaborators. Your screen name is in the top-right. It defaults to your McLaren Labs user name, but you can change it if you would like. Type a message at the bottom and everyone in the same room will see it in real time. Use this with your collaborators to help get things set up.
Remember – your’e not sending audio and video through the bridge – just MIDI notes. Audio comes out of your synthesizer.
Now that you have a dedicated Room and Address you can start and stop your personal MIDI Bridge. Press the
[Launch] button to start it. You’ll see some output in the left pane showing its status. This means it’s running.
Now, use your computer to attach your MIDI session to the bridge. If you are on a Mac, you can use MIDI Network Setup to join the bridge. Create a directory entry with the Host and Port given to you and press [Connect].
As your Mac joins the Bridge, you will see status messages in the left pane (Bridge Log) about the connection and MIDI events sent.
Now press a couple of keys on the your MIDI keyboard. You’ll see some log messages in the console. That means the bridge is receiving your MIDI notes.
Ask a Friend to Join You
Now that you have:
- created your own bridge
- attached your Network MIDI to the bridge
- verified that your notes are getting to the bridge
it’s time to add your collaborator! The best way to do this is to email the URL of your room to your friend. In this example, it is:
When your friend goes to the room, you and your friend will be able to text-chat in the right pane in real time. Your friend will also see the network settings of the Bridge you created — because they can see what you see. They can see the MIDI://xxx.xxx.xxx.xxx:yyyy address, and they can enter it in their own Network MIDI program.
Assuming they are using a Linux computer with McLaren Labs
rtpmidi, they would enter the IP Address and Port in the “Call” field as shown below in the example.
Now, as this second user joins, the bridge log shows information about the new participant in the panel. Both participants are seeing the same output in the console log because everyone in the room sees the same messages.
At this point, the two MIDI sessions are linked. Ask the new participant to play a few notes on their keyboard. You both should see some log messages in the console. More importantly, MIDI events flowing from the first user will go to the bridge and down to the second user. And MIDI events from the second user will go to the bridge and down to the first user.
Starting and Stopping
When you are all done, it is courteous to [Stop] the MIDI bridge by pressing the [Stop] button when you are done. Close the web-page for the room, and the IP Address and Port reservation are released.
That’s it! The MIDI Bridge makes it easy to connect two or more computers for MIDI sharing over the internet without needing any complicated router settings. The chat-room helps by letting all the participants see the same console output and provides a text-chat for collaborators to send each other messages in real time.