Loopdeck Embedded Linux System

Electronic Setup

After jamming with a friend’s Boss RC-20 I decided to integrate live looping in my setup. Since I haven’t found any device that completely suits my needs as a drummer, I started to build my own looper device: the Loopdeck. It’s a portable device that fits into a 19″ rack and runs a minimal Linux system with Jesse Chappell’s excellent SooperLooper software. I can control two syncronized stereo loops via MIDI, e.g. using my drumsticks on the trigger pad and get visual feedback on the MIDI controller (a FaderFox LV2). See also my post containing the MIDI signal flow.

The device is built into a rack-mountable 19″ MiniITX case and bases on the Intel D945GCLF2 Mainboard with an Intel Atom 330 Processor (2 Cores, 1.6 GHz). The system boots from a 16GB Kingston SSD hard drive, MIDI and audio in/out is provided by an M-Audio Delta 1010LT PCI card. There is no screen or input device attached.

Loopdeck Signal Flow

Loopdeck interior

The system runs a customized Debian Linux (6.0 squeeze) with a minimal 2.6.33.9-rt31 realtime kernel and boots from a read-only partition on the SSD in under 10 secs. All services are automatically started and supervised (e.g. restarted on failure) by daemontools. These include the JACK audio server for low-latency audio, SooperLooper with two stereo loops, the nice JackTube for audio processing and the FluidSynth software synthesizer which I use to play piano, Rhodes and Wurlitzer soundfonts. Everything is connected using JACK and a self-written Python script which converts incoming MIDI message to OSC signals, provides MIDI feedback for loop and system states and even controls some light modules connected via USB serial port. More on this later…

Drum Trigger Setup

This time I will try to explain how my MIDI drum trigger system works. As you might have seen in the videos (or live), I am trying to control as many functions as possible using my drumsticks, thus creating an interactive electronic instrument around my drumset.

While it will take a larger number of posts to get around the whole system, I want to give you an overview over the MIDI signal flow in my setup. The heart is definately the Nord Modular G2, where almost all the sounds and all the sequences come from. The drum triggers basically just control a modular synthesizer patch in the G2 that is  representing the composition, or the song.

MIDI Signal Flow

MIDI Signal Flow

Let’s go through the components bottom-up:

  • Drum Triggers are the common Roland triggers clamped on snare bassdrum. They are connected to the trigger pad and produce signals for each drum hit that can be later used in the G2.
  • Foot Switches control song structures. I use one for a next command in some songs and one for record/dub in the Loopdeck.
  • Trigger Pad is an Alesis Control Pad with 8 pads plus trigger and footswitch inputs. The are some other manufacturers of similar pads, but I don’t need all the audio and sample functionality. This one just generates MIDI signals that go into the MIDI Router.
  • MIDI Router is a self-built device with 5 MIDI in- and 5 outputs. It is again based on the MBHP using a PIC18F452 Microcontroller. I can route and manipulate (split, merge, filter, …) MIDI signals with it. All MIDI signals in my setup are connected, so they can share one common MIDI clock and can sync and control each other. The routing is hardcoded in the firmware, which is mainly written in C.
  • Nord Modular G2 here all the magic happens. The MIDI signals from the drum triggers can control basically everything: song structures, bassnotes, samples, step-sequencers, on/off-switches. The G2 is also able to send out MIDI to other devices, such as the Nord Rack 2 and a software soundfont player. I’ll talk more about that in the future and will give some examples.
  • Embedded Linux Unit. Again, this is a whole chapter on its own and to be discussed in the future. Basically, the Loopdeck is a self-designed software based loop sampler, the Soundfont player is used to generate piano and e-piano sounds.

This seems to be a really complex system, but it is very flexible and once I was getting used to it, I was able to perform pretty intuitively with the equipment. Of course, this setup changes and evolves from day to day, and it has been much simpler and smaller in the past.

  • Wikipedia article on MIDI
  • The MIDIBox Hardware Platform: ucApps.de

The MIDI Box

It all started with the MIDIbox64 I built back in 2003. I needed a physical controller for some freeware drum machines running on a Windows-laptop, and decided to build one myself using the manuals and schematics you can still find on Thorsten Klose’s uCApps website. It is based on the MIDIbox Hardware Platform and uses a PIC18F452 Microcontroller. It took me months to finish it – but looks nice, doesn’t it?

MIDIbox64

This is basically a MIDI controller with a lot of different knobs, buttons, LEDs and foot switches. You can “hear” (of course it just controls some synths and filters in the computer)  it in action on the track fr–05 on my first album mad scientist drummer.