If computers are compact and $25, we’re talking a very different world of music hardware.
Armed with the popular Raspberry Pi, Servando Barreiro has made an incredibly-affordable, ultimately-customizable rig with free software and the open source community. Oh, and he’s made the KORG monotron polyphonic – after a fashion. See video at top for some beautiful chords.
And that’s just the beginning. We’ll let Servando share how he’s working.
I just got my hands recently on Pi. It was in a workshop at Linux Audio Conference in Graz, Austria, where I got mine.
Before, the fact that you needed an external monitor and keyboard and so on was a bit of a deal breaker, so I didn’t run for it when it came out. Also, I knew that the speed [of the hardware] was going to increase, so my waiting period was worth it.
The distro I’m using here is called . It’s basically a fork of the classic Raspbian distribution, but it comes with Pd extended / Vanilla included and also other stuff like Arduino software, Audacity , SuperCollider [synthesis language], and many more.
The cool thing about this distro is that it’s made to design an audio instrument with physical control (using Arduino) and make it autonomous. So, once you’ve finished programming your instrument in Pure Data, the result will be a screen-less audio computer/instrument in which you will not miss having a keyboard or screen. In case I need to update or change something, I still don’t need keyboard/ screen. I just plug my laptop to the Raspi via Ethernet and I log in via ssh [secure terminal]. This is super-sweet and currently very well-supported and documented in most of the Raspi distros.
The original audio settings in Satellite CCRMA were quite modest (22.05 k audio / 100 msec) because they assume that you will use integrated audio, which is quite bad. But Googling a bit about audio in Raspi, I discovered that using an external USB soundcard — even a super-cheap one — makes a huge diference. (44.100 kHz audio and as little as 10-msec audio latency. This uses a strange trick, reducing the speed of USB to USB 1.1 (This is all well-documented in the Pure Data / Raspberry forums.
What it’s running in this videos is a four-instance delay line looper , an audio mixer with delay and reverb sends (Pd’s rev4~ reverb). I can also apply ring mod, bit crush, or lowpass filtering to the audio input. At some point, I had an FM synth in one of the channels that could be recorded in any of the loopers, but occasionally, it produced a harsh noise as a “gentle” (it’s actually f***ing harsh) reminder that I was running out of computing power.
Overclocking:
Yes, please. I’m running the raspi-config overclock at 800 mhz tagged as “high.” I ran it at some point at 1Ghz without issues, but reading about SD card corruption, I decided to back of a bit. Does it make a difference? Yes, esspecially in boot time, which must be like 30 seconds, since I plugged the power of the Raspi until I see the lights in the MIDI controller indicating that everything is ready to rock.
Mapping the Korg nanoKONTROL:
The faders are volume controls: the first four are looper volumes, then reverb, delay, FX input and dry input.
The buttons record or delete the loops in each track. The upper buttons light depending on which is the last channel. I touch the buttons in channel 7, allowing me momentary or continuous alteration of the sound via the selected effects. (It can be the 3 at the same time! O-o)
The buttons on the left of the controller determine the function assigned to the pots, so I can modify per-channel things like rev send, delay send, loop length, panorama, gain, reverb length, etc.
This is basically what I did as a “screenless” audio experiment, which I think is quite finished.
The first patch I opened in Raspi that convinced me of its power is the “serquencer,” which runs okay with 6 channels of sampler, mixer, recorder, and 4 FX. I didn’t expect it to open, but it did! And it made sound, too. I was expecting to port it to iOS/Android, but I know already many of the things I use rely on Pd extended and oh, surprise, it runs on raspi with all its glory, and even with GEM visuals. [Ed.: Pd extended is a distribution of Pd that includes various externals, including GEM, a set of visual objects for working in Pd with output to screens and not only sound. It’s roughly – though not exactly – equivalent to the relationship of Jitter to Max/MSP. Pd Vanilla is the generic, default distribution as maintained by Miller Puckette, which is also the basis of the library libpd. You might use Vanilla in order to maintain compatibility with projects built with libpd in Unity game engine, OpenFrameworks, iOS, Android, and so on, but otherwise either Pd “flavor” will work just fine on the Raspberry Pi. -PK]
More videos, more beautiful sounds: