Rakarrack: Guitar FX For Linux
Linux-based guitar effects processors haven't exactly been flourishing recently. Until recently, the guitar FX processors page at linux-sound.org listed twelve projects, of which the most recent maintenance date is 2006. Clearly, not a flourishing domain for Linux audio developers. Not that Linux lacks realtime effects processing capabilities: Pd can be pressed into any audio service imaginable, the JACK Rack can be configured for LADSPA-based effects, but they are not organized and optimized specifically for guitarists. However, a thirteenth entry has joined the collection at linux-sound.org, and this entry is most definitely organized, optimized, and intended for guitarists.
After contemplating the depleted condition of Linux guitar processing software, Josep Andreu (author of the outstanding Holborn Linux Sound Utils) joined forces with developers Daniel Vidal and Hernan Ordiales to create a new effects processor for penguinistic guitar slingers. Rakarrack is the first result of this collaboration.
Rakarrack includes ten effects processing modules, 80 preset patches, a built-in tuner, and a monophonic pitch-to-MIDI converter. The processing modules have been derived mostly from the DSP capabilities of Paul Nasca's excellent ZynAddSubFX synthesizer, but further tweaked for a "best fit" to the sonic needs of guitarists. MIDI messages can control overall volume and program changes, but alas, as of version 0.1.2 parameter control via MIDI is not implemented. The order of multi-effects chains can be defined by the user, unit status can be saved as a preset, and a preset collection can be saved as a bank (80 presets can be stored in a bank).
If Rakarrack is not yet available in your distribution's software repositories you'll have to build it from the source package. You'll need a standard C/C++ build environment for Linux, plus the libraries and development packages for ALSA, JACK, and the FLTK graphics toolkit. See the README file for the full list of dependencies.
If the dependencies are satisfied, run ./configure; make; make install and you're done.
The processing types have been selected for their common appeal to guitarists. I can't fully describe each one but the chart in Figure 2 lists the effect types, their number of parameters, and the number of basic presets. That chart should give readers a good idea of Rakarrack's level of detail.
Effect Parameters Presets ----------------------------------------------- 10-band EQ 12 3 Compressor 6 3 Distortion 11 4 Overdrive 11 2 Echo 7 9 Chorus 11 5 Phaser 12 6 Flanger 11 5 Reverb 10 13 Parametric EQ 10 3
As I said, full descriptions aren't possible here, but we can consider a couple of these modules in some greater detail.
The first EQ is a 10-band linear equalizer with extra controls for Q (resonant peak) and overall gain. Each slider controls a range of 128 integer values numbered from -64 to 63. The sliders move smoothly, with fine-grained audio response, though some numeric display quantization occurs even at 1280x1024 video resolution. The three presets provide Plain (i.e. flat), Pop, and Jazz equalization curves. While these presets are good and useful in their own right, their true purpose is to provide basic templates for programming your own custom settings.
I Google'd for "linear equalizer" and discovered a fair amount of mathematics that might be relevant, but I'm still unclear whether Rakarrack's linear EQ is related to what my search revealed. Further clarification from my readers would be most welcome. Whatever I learn, this equalizer is an excellent processing module.
The Reverb module is a fine-grained reverberator with nine parameter sliders and two drop-down preset menus. The first menu supplies various prepared environments (cathedral, hall, room, et cetera), the second provides two further type definitions, one for Freeverb and one for Random. The Freeverb selection of course refers to an implementation of Jezar's famous reverberator, but I'm unclear how the Random selection works. Two banks of sliders control the reverb's time-domain and frequency-domain parameters. The top set controls the wet/dry balance, panning, reverb time, initial delay time, and the delay time for the early reflections. The bottom set controls room size, the high-pass and low-pass filters, and the high-frequency damping. Like the linear EQ, the module's controls were smoothly responsive, and its sound quality is first-rate.
To get started, just click on the Rakarrack desktop icon or enter rakarrack at an xterm prompt, and the display seen in Figure 1 will appear. Open your JACK connectivity manager (QJackCtl or Patchage are good choices) and connect your guitar's audio output port to Rakarrack's input ports (its output connections will be made automatically). Click the FX On button, select a patch in the Presets panel, and you are ready for Rakarrack.
Rakarrack can process any kind of audio input signal, but it is clear that the current crop of presets has been designed by and for guitarists. With 80 presets to check out Rakarrack will keep you busy for a day just testing its default goodies. The included collection is a model for the Right Way to present this type of software, and I send huge kudos to Carlos Pino, Eugenio Rubio, Alberto Mendez, and the development crew for their efforts. I'm sure many players will find no need to go beyond these excellent designs, though of course the dev team will love it if you create and contribute some more.
The tuner, MIDI program change, and MIDI volume control all worked as advertised. See the Settings dialog (Figure 3) to set your global MIDI receive channel and input source.
A few words about the MIDI converter: Pitch-to-MIDI conversion is not an entirely new feature in guitar effects processors, but Rakarrack is the first Linux application to include an on-board converter. At this time the feature is experimental, so don't expect perfect results without expending some effort. The conversion is monophonic, meaning it will convert only single notes, and you will likely need to adjust the trigger sensitivity to achieve the least latency and avoid falsely triggered notes. A second slider controls the output velocity. Alas, there is no "amplitude to MIDI" conversion stage yet, but a second slider lets the user define the MIDI output velocity value.
User-level documentation (in English, Spanish, Portuguese, and French) can be called from the Help menu (Figure 4). The manual provides a good overview of the program and its components, but it does not describe the individual modules in any detail. However, in a program like Rakarrack the best documentation is the software itself. Take an existing preset, toggle the states of its modules, adjust parameters at will, and you'll soon have a very clear notion of what Rakarrack can do. Nevertheless, a shiny printable manual would be nice, especially one with a breakdown of each module and some in-depth advice on programming your own patch presets and banks.
Some example recordings can be heard at the Rakarrack Web site. Be sure to check them out, they include some beautiful work from the redoubtable Carlos Pino (who has also contributed a number of presets to the default collection), including his lovely Viajes.
If you need further assistance, the developers can be reached via the standard comm channels, including mail list, a Sourceforge-based forum, and the #rakarrack IRC channel at Freenode.
What's Missing, What's Coming Up
I can't really complain about anything in Rakarrack's current release, but of course I have a Wish List. Support for a carefully selected set of LADSPA plugins would be nice, particularly if it included the emulators in Tim Goetze's CAPS collection. Realtime parameter control via MIDI would be most welcome, as would parameter randomization for patch edits. Oh, and support for LASH and JACK MIDI would be nice too.
I built Rakarrack 0.2.0 from the CVS sources. Since by definition a development version is unfinished I'll just tantalize you with a peek at some of the new features under construction. Users will have more control over the JACK routing (Figure 5), and more processing modules are on the way, including wah effects, a harmonizer, and a cabinet simulator. Very exciting developments indeed.
Well, now that I'm done here I'm going right back to playing with Rakarrack. This program is by far the best standalone guitar effects processor currently available for Linux, and the 0.2.0 release promises to take it to the next level. Don't you love it when great things get better ?
Similis sum folio de quo ludunt venti.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...