Make a DIY Raspberry Pi Synth with Griode

Raspberry Pi boards may be used for a variety of projects, from low-power home theatre PCs (HTPCs) to smart home hubs, and retro gaming consoles. Essentially, any project which requires a small physical footprint and modest amount of computing power runs extremely well on the Raspberry Pi. Notably, many users have turned to the Raspberry Pi for music. Armed with a Novation Launchpad as well as a Raspberry Pi, you can make a DIY Raspberry Pi synth with Griode.

What is the Raspberry Pi?

The Raspberry Pi is a single-board computer (SBC) that's extremely versatile. It's not the only maker board on the market, but the Pi is arguably the most popular development board money can buy. There are several different iterations of the Raspberry Pi ranging from the Raspberry Pi Zero and Zero W all the way up to the Raspberry Pi 3/3 B+, and Raspberry Pi 4. 

What is Griode?

Griode is a free, open-source software option which allows users to use a Raspberry Pi for music-making. It's designed with the Novation Launchpad Pro and Novation Launchpad S in mind, but should work with other MIDI controllers as well. Primarily, Griode relies on Python 3, FluidSynth for sound generation, and a SoundFont instrument bank for FluidSynth. Using Griode in conjunction with a MIDI controller such as the Novation Launchpad, you can easily cobble together a do-it-yourself (DIY) synth using a Raspberry Pi.

How to Make a DIY Synth with a Raspberry Pi Running Griode 

A Raspberry Pi synth project with Griode is pretty inexpensive, and a cost-effective means of making your own synth. You'll need a Raspberry Pi board. I suggest a Raspberry Pi 3 B+ or Rasberry Pi 4. A case is optional, but recommended for keeping your Raspberry Pi board components protected and cooled. Additionally, you'll need peripherals such as a keyboard, mouse, and MIDI controller. Griode is made with the Novation Launchpad Pro and Launchpad S in mind. Since I've got a Launchpad, I used that but you should be able to use another MIDI controller instead. 

On the software side, this DIY synth build runs on an operating system (OS), and features a few prerequisites which will be downloaded during software installation. For an operating system, Griode requires a Debian-based operating system, so any Debian and Ubuntu derivative such as Raspbian should suffice. There are a few prerequisites, such as Python 3, FluidSynth, and SoundFont instrument banks for FulidSynth. 

What you'll need for a DIY Raspberry Pi synth with Griode:

  • Raspberry Pi board (Raspberry Pi 3 B+ or Raspberry Pi 4 recommended)
  • Case (optional, recommended)
  • Keyboard/mouse
  • MIDI controller (i.e. Novation Launchpad)
  • Power supply 
  • Internet connection
  • Griode software

Total cost: $35+ USD. A base Raspberry Pi board retails for $35, but I suggest using a kit. If you plan to use your Pi for a desktop, the Raspberry Pi 4 4GB RAM is your best bet. You'll also need a MIDI controller like the Launchpad Pro or Launchpad S, so depending on what you already have lying around your house, you'll need to buy a couple items. 

DIY Raspberry Pi Synth with Griode

To install Griode, make sure you've got your Raspberry Pi running a Debian or Ubuntu derivative, and have your Novation Launchpad connected. Then, open a terminal and run:

git clone git://github.com/jpetazzo/griode
cd griode
sudo apt-get install python3-pip python3-dev libasound2-dev libjack-dev fluidsynth
pip3 install --user -r requirements.txt
( cd soundfonts; ./download-soundfonts.sh; )
./griode.py

But let's take a look at what the individual steps mean.

Install Python Dependencies

First up, you'll need to install Python dependencies. Open a terminal and run:

apt-get install python3-dev libasound2-dev libjack-dev

Now, install Griode's requirements using pip:

pip install --user -r requirements.txt

Install FluidSynth

With Griode's prerequisites installed, you'll need to install FluidSynth. Open a new command prompt and enter:

apt-get install fluidsynth

Install SoundFounds

Not that FluidSynth is successfully installed, load up SoundFonts. In order for Griode to properly function, you'll need at least one SoundFont. Basically, SoundFonts are instrument banks used by FluidSynth. Usually, these come in .sf2 extensions. There are tons of SoundFonts for FluidSynth. 

You can install SoundFonts for FluidSynth by heading to the soundfonts/ subdirectory and running the script download-soundfonts.sh. This, in turn, loads SoundFonds ?.sf2 which pops up in alphabetical order. 

Running this script makes a symlink 0.sf2 which points to a "GeneralUser GS" SoundFont housing 128 instruments, mostly MIDI sounds, along with several drum kits. You can also download soundfonts and drop them in the soundfonts/ directory.

Start Griode Automatically at Boot

If you'd like to automatically run Griode on boot, it's pretty easy. First, check the code at /home/pi/griode and make sure everything looks fine. If all is good, open a terminal and run:

sudo systemctl enable /home/pi/griode/griode.service
sudo systemctl start griode

Griode then should be automatically restarted upon rebooting your Raspberry Pi. 

Hands-on with Griode on the Raspberry Pi

I quite enjoy the simplicity of installing Griode. Coupled with a compatible MIDI controller, it's a simple means of making a DIY synth that utilizes digital audio rather than analog synth components. As such, it's a portable solution that merely requires a tiny Raspberry Pi board and a MIDI controller. There's no required soldering of components, and you don't need to shell out hundreds of dollars for a digital audio workstation (DAW). 

This probably isn't for a professional producer, or even amateur producer for that matter, to replace a robust DAW such as Ableton Live, FL Studio, or Pro Tools. But it's a solid, free, open-source software option for transforming a Raspberry Pi into a DIY synth. For another Raspberry Pi music project, try creating a DIY music streaming server with Volumio!

Leave your feedback...