Making Music on Linux; It’s A Thing

I was never a great, or even good, guitar player, but it’s something I really enjoyed doing for a decent chunk of my life. But as life and work grew more complex, it kind of fell by the wayside, a casualty of the demands of adulthood.

But recently, I’ve been actively trying to carve out time to mess around with my guitar. Because I live in an apartment, I became intrigued by the idea of amp and pedal modeling, where instead of playing through a physical amp or guitar pedal, one plays into a computer, with the amp and pedal sound created by software.

I was intrigued for a few reasons. I liked that I could get an amp sound without having to disturb anyone. But I also loved the access to different kinds of amps and pedals modeling provided. I could enhance my sound without having to invest money or space in equipment.

There are lots of ways to model amps and pedals. Apple’s GarageBand is probably one of the most popular consumer avenues. But I wanted to try and implement something on Linux, despite the near constant refrain that Linux doesn’t do audio production well.

I decided to repurpose my T43 ThinkPad for music and downloaded Ubuntu Studio 11.04 (the Ubuntu Studio people very candidly recommend against 11.10). Ubuntu Studio is a fairly standard Ubuntu with a bunch of multimedia packages pre-installed. I liked that aspect since it let me play with a lot of software without having to figure out what I should be playing with.

In order to play into my laptop mic jack, I got a cheap ¼”-1/8″ converter for my guitar cable at RadioShack and then I was ready to go.

I share my experiences as a production amateur. My previous recording setups were a cheap cassette four-track and prior to that, a tape recorder from the early 1990s. Digital recording had, up to a few weeks ago, completely passed me by.

For instance, I quickly learned that anyone working with instrument recording in Linux needs to work with JACK. JACK serves as virtual jacks, allowing you to connect sounds to each other. For instance, if you’re playing through an amp modeler, you need JACK running to connect your guitar output to the amp modelling software. If you’re recording, you need JACK to connect the output to the recorder. It’s very logical but until you know that JACK is what moves sound around, it can be a bit frustrating to hear nothing but your unprocessed guitar coming through your headphones. It also seems that sound is always going to come through your headphones and not your laptop speakers. I was happy with the sound in my headphones, so I never investigated getting sound out of my built-in speakers.

JACK screenshot

Linux has some very nice modeling options. Rakarrack is a great processor, with lots of interesting options. It’s incredibly customizable, in a paralyzingly intimidating way, but it has some nice presets to get you started carving out the right sound. It’s a truly amazing piece of software.

Rakarrack screenshot

I had also heard some good things about AmpliTube, a Windows/OS X product. AmpliTube comes with a few pedals, amps, and cabinets, with users able to buy more. It’s an intriguing model, but I mostly just wanted to mess around with the free pedals, of which there is a nice variety. I couldn’t get it running via Wine in Ubuntu Studio, and the old GNOME interface was killing me, so, having figured out which music software I wanted, I just installed Xubuntu 11.10 and grabbed everything from the repositories (I’m still madly in love with OpenSUSE but you really can’t beat the Ubuntu repositories for scope and convenience).

Amplitube screenshot

AmpliTube works perfectly in Xubuntu via Wine. It did require WineAsio, which isn’t in any repositories. I couldn’t get it to run off of the project download page, but I found this guide and it got everything working for me.

AmpliTube has a snazzier interface than Rakarrack and Guitarix, but I found it harder to manipulate the sound variables in AmpliTube. AmpliTube tries to preserve the pedal/rack/dial metaphor and that doesn’t always translate to a mouse and computer screen interface. AmpliTube has some great sounds, though. Plus, it lets you demo pedals, although when I tried to record with a pedal I was trialing, I got random static bursts every few seconds. But it’s still nice to get a sense of if a pedal is worth “purchasing.”

Guitarix is a Linux product. It’s an amp simulator, but it also has some pedal-like effects in its virtual rack. The big trick for me was figuring out to tell Guitarix to show the racks so I could tweak the effects. But once I found that option, under the Plugins menu, I really got into playing with Guitarix. It had some very nice, organic-sounding tones.

Guitarix screenshot

Once I had some sounds down, I figured I should record. Ardour is a hardcore digital audio workstation, but it was way too much tool for me, so I’ve been using Audacity. Linux music people online seem very excited about Bitwig Studio, which isn’t available yet. Depending upon pricing, I might check that out once it’s available.

When recording, you need to tell the tool to pull the signal from JACK. And you need to make sure JACK is connecting your sound to the recording tool. Usually this involves starting to record and then making the connection.

Once I was able to record some guitar (and some bass — Rakarrack has a bass simulation that’s not bad), I figured I should put some drums on my tracks, too. Hydrogen is a neat little drum machine. The drum kit sounds are nice but there weren’t a lot of preset beats to work with. But programming Hydrogen isn’t too bad, once you know a few basic drum patterns. I poked around on YouTube and learned you have a snare on the 1 and the 3, bass drum on the 2 and the 4, and some sort of cymbal on each beat. The sad thing is, I’ve played with drummers a bit over the years, but really had no idea what they were doing on a theoretical level.

My Hydrogen beats aren’t horribly inventive, but they allow me to work on my rhythm and to give my tracks the vague impression that the music is played by humans. And playing with drums is helping me tremendously with my rhythm, or lack thereof. I did some very rough demos, just to give a sense of the various guitar sounds available, as well as a basic application of Hydrogen. You can hear them here.

In addition to the fun of playing guitar and of messing around with Linux, I’m actually learning a lot about music. Things I never thought about, like rhythm and time signatures and arranging, have suddenly become very visible to me. And while I can’t say I have a handle on any of those things, I do feel more aware of them than I was when I was just bashing away on a guitar without any of these audio tools.

Was this a lot of work to get going? It took some time to figure out how to do everything, but it was time I enjoyed.

Would this be easier on a Mac with GarageBand? Probably. But the results, now that everything is setup, are impressive. I’m able to relatively easily make music and flesh out ideas. Obviously, as someone who’s not a professional musician and not looking to release any music, my standards are different than someone with more serious goals. But for the casual home recorder, Linux is a perfectly viable option.

If you’re at all interested in home recording, give Linux a try. It’s a little work to get rolling, but once it’s up and running, you’ll find a lot of great tools to bring your ideas to life. It’s pretty amazing to think I can do all of this with a 2GB machine that’s over five years old and that creating this entire studio didn’t cost me anything out of pocket.

You can follow Linux Rig on Google+ here, follow me on Twitter here, and subscribe to the feed here.