This post aims at providing an overview of the hardware I’m using to turn my Raspberry Pi into a real-time effects processor for my electric guitar.

The Raspberry Pi

The RPi is obviously the star of this setup ! The fact that such a tiny (about the size of a credit card) and cheap (around 30 €) computer can run Pd in real-time is (I think) a small revolution. I had been dreaming of that since many years, actually.

The Raspberry Pi I use in the video is the first commercial version, with 256 MB of RAM. I believe that we can expect some improvements in terms of performance with the latest Revision 2 model (512 MB of RAM). I’ll get you posted when I get one…

The external soundcard

If you’ve read a little bit about the RPi, or if you own one yourself, you are probably aware that it doesn’t have any sound input. The output is fine for applications which do not require high quality audio, but i wouldn’t use it at the moment to plug it into my guitar amp…

So right now the only way to get audio input and output is by using a USB external soundcard. I personnaly use a E-MU 0404 (it the one featured in the video). A few people in the Pd community have been trying different soundcards lately (including a Beringher UCA222 and a Logitech USB To 3.5mm Jack Audio Adapter). There seem to be a few problems at the moment in Raspbian regarding USB 2.0 devices, and I seem to be one the very few lucky ones who can get there soundcard working without having to tweak anything. I hope to have more material soon to write a specific post about this issue.

The “classic” stuff (all the rest!)

The rest of my setup consists of an electric guitar, jack audio cables, and a guitar amplifier. Nothing unusual, except for an audio transformer to connect the balanced output of the soundcard to the unbalanced input of the amp (I already wrote about this in a previous post).

The parts for the pedal cost around 100 € i’d say, Arduino included. It’s all very experimental so it could be cheaper. You can get the impedance matching transformer for under 30 €. My sound card was around 200 € when I bought it, but you could get something much cheaper and smaller now, provided that it works with the Pi…
The rest of the hardware you is up to you!

I’m really interested in making something like this. Instead of using the arduino for switching what effect is active, do you think i could use my phone to change what effect is being used? I’m on a budget and I like to cut back as much as possible.

Hi,
Using your phone means having the RPi connected to the network, which means less resources available for Pd, and a longer latency.
If you’re on a budget you go the GPIO way to avoid buying an arduino.

Hi,
You could use the [gpio] external that can be found here : http://sourceforge.net/projects/pdwiringpigpio/.
The drawback of using the GPIO is that it’s digital only (i.e. binary input). So it’ll be fine for push-buttons, but you won’t be able to use analog input (for instance potentiometers) right away. You’d need an ADC, or something like the Gertboard if you want an all-in-one solution.

Hey, Is it possible to use an adc converter such as MCP3008 to enable analog ip to the pi? Also how much loss in quality can be expected if i directly plug in the output to the amp from a pi-B+ ? in other words, is there any other alternative to using a sound card?

Hi,
Quality of the output : I don’t own a B+, so I don’t know the answer. If you try let me know the result, and make sure there are no impedance issues between your Pi’s output and your amp’s input (you’ll have to ask on the forum).

Using an ADC chip : it is not a trivial thing to build if you want good quality audio. On the hardware side you’ll need to use good electronic components, and on the software side you’ll have to basically write your own driver.

I’ve been searching for quite while now for a way of getting rid of the soundcard, but I haven’t found anything that’s even remotely easy.