raspberry-pi

Control GPIO pins over the Network with MIDI using MMKServer

  • by

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.

One neat thing you can do with them is map them to MIDI “Notes” and play them as output devices. Using McLaren Labs software, you can share these over the network and “play” them from a remote computer. This article says how.

Here are the steps.

  1. Install midi2gpiod
  2. Install MMKServer
Read More »Control GPIO pins over the Network with MIDI using MMKServer

Announcing McLaren MIDI Kit – RTP-MIDI library for your own projects

  • by

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.

Background

We sometimes receive requests from users to add features to McLaren Labs’ rtpmidi product to handle connections in a certain way. Some users might want to automatically find a particular endpoint or address. Another user might want automatic re-connect in a certain situation. Others want to experiment by translating events from non-MIDI sources into note events sent to a synthesizer on their network.

Read More »Announcing McLaren MIDI Kit – RTP-MIDI library for your own projects

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

McLaren Labs rtpmidi Version 0.5.0

  • by

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.

More MIDI message types … including SysEx

McLaren Labs rtpmidi has always supported the following message types with full Journal capability for sending and receiving. (Note: The Journal is part of the error correction mechanism that recovers lost messages that occur when sent over a network.)

  • Note On, Note Off
  • Control Change
  • Program Change
  • Pitchwheel
  • System Reset

With this release, we also add the following to provide a complete set of MIDI message types including System Exclusive.

Read More »McLaren Labs rtpmidi Version 0.5.0

Yamaha MD-BT01 Bluetooth MIDI adapter to Raspberry Pi

  • by

The Yamaha MD-BT01 is a nifty little MIDI 5-pin DIN to Bluetooth adapter.  It plugs into the MIDI In/Out ports of MIDI controllers to connect wirelessly to a computer with Bluetooth.  A typical use for this adapter is to connect legacy MIDI keyboards to a computer without using a 5-pin MIDI to USB adapter on the computer.  Since most computers have Bluetooth built in these days, this makes for a tidy work-area since it eliminates at least one of the cables in your MIDI studio.


The MD-BT01 has a very smart appearance – it consists of just two large plugs connected by a single wire.  It runs off of the current already provided by the 5-pin MIDI signal.  Just plug it in, and it advertises itself as a Bluetooth MIDI connection point.    Since it uses the Bluetooth MIDI standard, it can connect to many different devices.  We tested it with Raspberry Pi and it works fine with Raspbian Stretch.  If you have followed the steps in our previous article (https://mclarenlabs.com/blog/2019/01/15/korg-microkey-air-37-bluetooth-midi-keyboard-with-raspberry-pi/) then your Pi is ready to go.
Read More »Yamaha MD-BT01 Bluetooth MIDI adapter to Raspberry Pi

Korg Microkey Air 37 Bluetooth MIDI Keyboard with Raspberry Pi

Do you want to have even more fun with your musical Raspberry Pi? Use an external Bluetooth MIDI keyboard with it! For this project, you need to download and compile a new version of the Bluetooth drivers for Linux. If you don’t already have compilation tools installed, you’ll need those too.

We will tell you how to compile and install the necessary Bluetooth driver, and then describe how to pair a Bluetooth MIDI Keyboard.

Prerequisites

You should have a Raspberry Pi 3 with built-in Bluetooth adaptor and Raspbian Stretch OS.
Read More »Korg Microkey Air 37 Bluetooth MIDI Keyboard with Raspberry Pi

Punching it Up: Low-latency notes

Sometimes you want a really “punchy” sound. To a musician, this means a sound with a rapid attack and a quick reaction from the keyboard. To a software developer, this means a sound with a very low attack rate and a very low latency through the synthesizer from the keyboard to the audio output. To make a punchy sound, we’re going to use an external USB audio card, and also adjust the sound card settings.

What is Latency?

Latency is the delay from when you hit a note on the keyboard until you hear the sound. Musicians deal with latency all the time, because there are audio delays inherent in all of our equipment. Pipe Organ players have long been accustomed to experiencing a delay between the keyboard action and the sounding of a pipe. However,  organists learn to adapt.
If the value of the latency between the keypress and the sound is constant, a musician has a good chance of being able to compensate. If the latency is unpredictable, even a tiny bit, then a musician will have a harder time keeping their music sounding rhythmic. We are going to try to adjust our organ to reduce latency, and also the variance of the latency.

Why not the internal sound device?

The internal sound chip of the Raspberry Pi 3 is good enough for desktop sounds and casual listening to music, but if you want clearer sounds, and lower latency you will want an external USB sound card. The actual experience you have will vary with the sound card you choose. Here at McLaren Labs we use a Yamaha MG-10XU mixer with USB input as an external sound device and it works great.
Read about how we reduced latency and created a “punchy” sound below the break.
Read More »Punching it Up: Low-latency notes