I'm working on finishing up some articles and videos of demoing Guitarix in a live performance setting. Until then, here's some screenshots of my rig in action! The last picture is what the laptop looks like when you put Guitarix in "Live" mode. The buttons at the bottom light up as you use MIDI triggers to turn on/off effects, so you can easily see what's switched on. Also, if you have a pedal mapped to volume or wah, it shows what position the pedal is at. (That's going to get a video demo as soon as I find the time!)
You can store presets in banks, so you can set up your sounds according to songs and sets.
If you managed to make it through the first step of getting Linux installed on a computer, then we're ready to go to the next step, which is finding a decent audio interface to use for live guitar performance. This is Linux for Guitarists, Episode 2.
If you want to play guitar through your computer, you're going to need some way to plug it in. The best way to do it is with an audio interface. Specifically, you want to look for one that has a "Hi-Z" input. This makes the input jack have the correct impedance for your guitar to sound right. If you want a better explanation of why this is, check out this video on Impedance by Nick Jaffe.
I'll give you fair warning: most manufacturers are going to cheaper platforms, and putting most of their interface's features in software. I mean, they only have to write the driver software once, and it costs them nothing to duplicate it. Hardware costs money! So what that means for us is that a lot of these will only work in the most basic ways in Linux. If you know this going into it, you won't get as frustrated, but I'll tell you now, there's only a handful of interfaces that work 100%. One of them is what I have, a Roland UA-25EX. It has hardware switches for settings and a hardware compressor, hardware everything, and it's USB class-compliant, so it just works.
You may not be able to find one of these, so what you want to look for is something that specifically says "USB Class-Compliant." That means if you plug it into anything, it will at least work to get audio in and out. The advanced features probably won't work, but that's generally not a problem. If you want to see what interfaces are known to work, you can go to the Alsa home page and look through the list. Also, most Firewire interfaces will work, but again, you're gonna want to check and make sure. I have heard reports that the Focusrite Scarlett 2i4 works perfectly in Linux, but I don't have one to test yet. It's still in production, so if you can't find a Roland UA-25EX give the Focusrite a try.
To install an interface in Linux, you just plug it in. The audio drivers are already built into the kernel, so if it works at all, it should just work. You can plug your guitar into the Hi-Z port, and see if you can get it to record something. If you can get it to work at all, you're set! It's all playing with software from here.
I'll also add, you'll probably want to find an interface that has MIDI in and out too, but if you can't, you can always get a simple USB to MIDI cable. They sell them on Amazon for like $19, and they'll work fine for what we're going to be doing with it.
Okay, that's about it! Next episode, we're going to talk about the two main software packages, Guitarix and Rakarrak. We'll be talking about how to get a decent guitar tone to start with, and then we'll get into effects later on.
Again, thanks for reading, and keep on rocking!
As many of you know, I'm working on a complete open-source solution to doing guitar amp and effects emulation in Linux. Because, you know, I'm a geek like that. So far, I've had great success with Guitarix and SooperLooper, and added a few other tools and utilities to make everything work smoothly. I have to say, considering what the equivalent software would cost, I've been pretty impressed with Guitarix. (Rakkarak might someday be a viable performance alternative... it just needs a complete UI redesign. Yes, it's really that bad.)
One of the guitar effects that I've been curious about is an effect sequencer. Some hardware equivalents would be something like the Electro Harmonix 8 Step Program, which lets you sequence a signal that goes to the external control pedal jack of another effect. (Demo video and good explanation of step sequencers (not mine) is here)
How many of you are aware of the program "QMidiRoute"? It lets you transform any kind of MIDI input into any other... it doesn't have the power of something like Mididings, but it's got a GUI and is very easy to use. What do I use it for?
On my live looping guitar setup, I wanted to be able to control three programs with one MIDI foot controller, an old ART X-15. The pedal isn't programmable, so for me to split up messages, I use QMidiRoute. It goes something like this:
I'm using Rakarrak for guitar sounds (I also use Guitarix, which sounds better), and I'm pretty much using it in stompbox mode, i.e. just turning single effects on and off. The mapping uses a single CC# and different distinct values to turn individual fx on/off (which is dumb). I can put the pedal in CC mode, but I can't make it do that... qmidiroute can do that for me. Also, any PC signals automatically change presets in Rakarrak, which I don't want... so I have qmidiroute discard anything it doesn't have a specific rule for.
For SooperLooper, I want to be able to use PC messages 1-10 to record, dub, change loops, and so on. It doesn't need any translations, so I have my MIDI messages going straight to it. It only does what you map it to, so no other changes are needed for it.
For Hydrogen, I want to use my second bank of PC messages (11-20) to control it, but Hydrogen doesn't recognize PC signals, only notes or CC values. Once again, qmidiroute to the rescue... I can make specific PC changes translate into an actual note, which I can then use to trigger controls or one-shots from Hydrogen.
You can also have multiple configurations, and make a shortcut that loads that particular file on startup, which makes it easy to use in a live performance setting! You just add it to your Jack patch panel, save it, and the next time you fire it up, it's automatically configured and patched in.
Check it out! It can also route signals to two different output ports, which lets you split notes or note ranges (or PC and CC ranges) to two different outputs.
This leads me to my next problem to tackle... I hadn't been able to run guitar effects very well, due to random CPU spikes and latency issues. In my research to build my laptop into a live performance machine, I stumbled across some interesting information about CPU frequency scaling, and how in XFCE it is extremely wonky... I did some research, and discovered how to manually override the wonky settings with a program called "cpufreq-set" (in package "cpufrequtils").
I also noticed how my laptop would go out of performance mode whenever I started Jack, which caused all kinds of problems with latency. So, I added a couple of scripts in the Jack configuration tab, which forces the CPUs into Performance Mode when Jack starts, and puts them back in economy mode when Jack stops. (I had to add superuser rights to the program cpufreq-set to do this).
Here's the page with all the info on cpufrequtils, and a screenshot of my Jack startup/shutdown scripts.
You can see the numbers, those are forcing the CPUs to run at a max of 2.2Ghz and a min of 800Mhz, respectively.
I got the idea to post up the computer setup I'm using from MyLinuxRig, which is itself a derivative of The Setup which outlines what successful people use to get things done. So without too much fuss, here's my Linux Rig questionnaire! This is what I use to get stuff done.
1. Who are you and what do you do?
I'm Jeff Hendricks. During the day, I am a technical writer for the Manufacturing Engineering department of a major agricultural equipment manufacturer. By night, I'm a writer and musician. On the weekends, I organize and lead the music in our local church.
2. What Distro do you run on your main desktop/laptop?
I'm currently running Ubuntu Studio 12.04, probably will upgrade to 13.04 for testing/documentation purposes. I started off with Red Hat 7.3 years ago, migrated to SuSE for a few years, and then settled on Ubuntu somewhere around 2008. When I discovered Ubuntu Studio in 2010, I knew I had found what I was looking for.
3. What software do you depend upon with this distro?
Ubuntu Studio is geared towards audio, video, graphic, and creative production in general. For music, I use Ardour, Hydrogen, SooperLooper, and a bunch of other tools... LMMS is nice, Rakarrak, and so on. Ubuntu Studio comes with just about everything you'd need for music production already installed and configured.
For productivity I use Dropbox, Evernote (running in Wine), Lastpass, XMarks, Thunderbird, and LibreOffice occasionally. I use a lot of Google Chrome plugins too, especially CloudPrint, XMarks and LastPass. I use Evernote Clearly on a daily basis to read news articles without all the garbage ads and sidebars.
4. What kind of hardware do you run it on?
I've got an inexpensive HP 625 laptop, I upgraded it to 8GB of RAM. It's not that fast, and the touchpad on it is very iffy... otherwise, it's rock solid, haven't had a problem with it. Does everything I want it to. If I upgrade in the future, I'll probably go with a higher-end HP with a better chipset. (I'm also HP repair tech certified, so fixing those laptops is a piece of cake)
5. What is your ideal Linux setup?
I think an HP Elitebook 2170p (I've used these, they're very nice!) would be perfect with an SSD and 8+ GB of memory. It's got ridiculous battery life (around 8 hours with the extended battery) and it's very portable, yet packs full-size laptop performance. And everything is Linux-compatible. It'd be perfect with a docking station and dual 22" monitors! The only downside is that is uses Intel graphics... not my first choice. It wouldn't be for gaming, though, so it's okay.
6. Will you share a screenshot of your desktop?
Here's a shot of my desktop running Native Instrument's Guitar Rig 5 under Wine using ASIO drivers.
What is a computer if you can't have fun with it? Here's some games I play on my Linux machine when I'm not working! Some I got from the Humble Indie Bundle, some from Steam, some I bought direct. All are native Linux versions.