midi-over-WiFi

Using avahi-browse to find Bonjour services on your Network

  • by

On Linux systems, Bonjour is implemented by the “Avahi” service. This is what McLaren Labs’ rtpmidi program uses to find Apple MIDI services on your network when you set it up. Usually rtpmidi can find the iPhones and iPads on your network, but sometimes things do not go smoothly. That’s when you need to do some network debugging. One of the tools that you can use to learn about Bonjour services on your network is avahi-browse.

Install avahi-browse

If you have installed McLaren Labs’ rtpmidi, then there is a good chance that avahi-browser is already installed. Try it out.

$ avahi-browser

If it isn’t there, you can install it like this on Ubuntu systems.

$ sudo apt-get install avahi-utils
Read More »Using avahi-browse to find Bonjour services on your Network

Use the ‘favorite’ Option to Automatically Initiate a MIDI Session

  • by

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.

But sometimes you want an iPhone to join the MIDI network of a stationary computer … without going back to the computer screen. McLaren Labs’ “favorite” option was created to handle this case.

A “favorite” is the name of a device that that rtpmidi automatically initiates a session with whenever the favorite appears on the network. This new feature takes advantage of the properties of Bonjour (Avahi). A Listener advertises its availability using Bonjour. When rtpmidi detects a Bonjour name matching a favorite, it automatically initiates a session with that name.

Use the “favorite” option from the command line like this.

$ rtpmidi gui -F 'myiPhone' -t Organ-Synth:0

Now, whenever rtpmidi sees the iPhone named “myiPhone” it will automatically call it and route MIDI information to “Organ-Synth”.

A Demonstration

The video below shows how this works.

Using the ‘favorite’ option to automatically connect
Read More »Use the ‘favorite’ Option to Automatically Initiate a MIDI Session

Run rtpmidi as a service on Raspberry Pi

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:

https://www.raspberrypi.org/documentation/linux/usage/systemd.md

McLaren Labs rtpmidi can be run as a service so that whenever you start your Raspberry Pi rtpmidi can be ready to go. This is especially useful in a headless system where you want rtpmidi to route incoming RTP MIDI sessions to a specific MIDI destination.

One of our customers wanted to know how to do this, so we wrote up this HOWTO guide. Here we will show how to create a service that

  • listens for incoming RTP-MIDI connections
  • connects to MIDI Alsa port 128
  • announces itslef on UDP Port 5006
  • logs its output to Syslog
Read More »Run rtpmidi as a service on Raspberry Pi