Long ago, before I ever knew a lick of BASH or even what an OS kernel was, my passion was not technology but music, music, and more music. Roughly the first half of my adult life was devoted to the writing, playing, and recording of music, and by around 2002 I’d built for myself a tidy little home recording & mixing setup centered on Cakewalk Sonar, Jeskola Buzz, and Windows XP. Alas, the years were not kind to my career or gear, and up until recently my music computer was busy being a game & education machine for the kids.
Thanks to a hard drive crash and the purchase of new machines for the kids, I got my old music machine back, albeit lacking a functioning operating system and software. So, I decided now was a good time to rebuild it. This time, though, I decided the time was right to kick XP and Cakewalk to the curb and go it Free Software style.
I’d tried this before, probably around 2006 or so, and not had much luck getting a working system. Still, I figured that between my significantly advanced penguin-fu and the advancing state of free software, the time might just be right for my dream FLOSS DAW to become reality.
The hardware
The computer itself is a 1.8GHz Sempron system; due to some problems with the RAM slots which I’ve never successfully figured out, the system is limited to 512MB of RAM. It originally had a 40 GB IDE drive for Windows, to which I’d since added an 80 GB SATA for data storage and an Xubuntu install. This latter drive is what failed, and I replaced it with a 160 Gb SATA. The original XP install isn’t booting for some reason, and I’m not real motivated to find out why at this point.
The audio interface is a M-audio Delta 44, capable of 4 ins and 4 outs at 24bit/96kHz I/O. Nice unit back in the day, hard to believe it’s over 10 years old.
For MIDI, I have an ancient MOTU MIDI Micro-express — so ancient it hooks up using the parallel port and shipped with drivers for that new-fangled Windows 95. Still, MIDI hasn’t changed much in its almost 30 year existence, so I was hoping to keep this piece running as the cost of fully replacing its feature set (even just the parts I use) would be steep.
The OS and Hardware Configuration
There are readily available “studio in a box” distributions of Linux out there, but with such egregiousness RAM limitations, I couldn’t afford to waste many resources on the OS; even so, I wanted to make sure I had easy access to as much software as possible. So I went with Lubuntu. I get along alright with LXDE, and all the software available to Ubuntu Studio is readily available in the stock repositories.
In fact, it was easy enough to install all the Ubuntu Studio applications using tasksel and various meta-packages in the repositories, so after poking around in Synaptic and a good long download-fest, my hard drive was chock full of enough music-making software to keep me entralled for months.
I had a lot of problems with high CPU usage — even full spikes lasting several minutes — at first, which was disappointing but not really surprising. But then I grabbed a lowlatency kernel from Alessio Bogani’s PPA and adjusted the audio system (JACK) from about 11 msec of latency to around 3 msec and all that high CPU usage went away. It took some fiddling to get the legacy NVIDIA driver to work with the lowlatency kernel, but it was well worth the trouble: Even with multiple programs running, software synths, and realtime effects, the CPU stays around 50% utilization!
The Delta 44 worked pretty much out of the box with no problems, though LXDE’s volume widget didn’t know what to do with it. I installed the Envy24 mixer, which is basically a clone of m-audio’s mixer applet for Windows. It allows me to access all the same functions and works flawlessly.
The MOTU piece was another story. I almost didn’t even try to get it working, because my last foray into this endeavor proved utterly hopeless. There is a Linux driver for the micro express, but I could never get it working right. I was close to dropping $40 on a USB interface with only one set of I/O, when I figured I’d do a search to see if there was any progress.
I found someone who claimed to have my exact model working, which convinced me that it must be possible, and therefore not to give up. After digging through several old mailing list and forum conversations and spending several hours making tweaks and testing, I finally found the combination of voodoo to get things going. Turns out the imporant keys are:
- Setting the paralell port to EPP mode in the BIOS
- Configuring the lp, parport, and parport_pc drivers not to load. Apparently just blacklisting them isn’t enough, I had to alias them to “off” (see config file below)
- Telling the driver which memory address and IRQ to use for the device
The resulting configuration directives, which I saved to /etc/modprobe.d/motu_midi.conf, looked like this:
alias parport-pc off alias parport off
blacklist lp blacklist parport blacklist parport_pc
options snd-ice1712 index=0 options snd-mtpav port=0x378 irq=7 index=1
I also had to comment out lp from /etc/modules, since it was listed there for some reason. These steps, of course, preclude the use of the parallel port for printing, but that wasn’t a problem for me here.
The Software
With the hardware and OS issues squared away, it was time to dig in to the software and see what’s available. I suppose this is a little easier since my last exposure to recording and production software was about 10 years ago, and then only the lower-end stuff. Still, I’m pleasantly surprised at what I’ve found so far.
JACK
JACK is the heart and soul of my Linux studio. Or more like the transmission and chassis. Basically, its a central hub for all audio and MIDI signals, and can act as a master clock and transport control for any JACK-aware software (which most of them are). With JACK, I can link up soft-synths, drum sequencers, MIDI sequencers, DAWS, and keep them all perfectly in-sync all in the software realm. I can even hook up effects and monitoring software. I had nothing like this on my Windows rig, so it takes some adjusting to, but it certainly simplifies getting audio from one program to another.
Ardour
Ardour is a classic DAW program (a la ProTools, Cubase, Sonar, etc) for multi-track audio recording, editing, and processing. It’s been around a while, and seems fairly mature. After spending a little time with it, I’ve found that it’s a bit different from SONAR, but not really lacking in a lot of capabilities. The most glaring lacks seem to be:
- No MIDI tracks, soft-synths, etc. I’m OK with this for now, since I’m not so much interested in doing layers of sequenced synths in my recordings any more. If I needed to, I could always use JACK to bring in a sequencer.
- Editing is not as smooth. Probably I just need to get used to it, but there seemed to be odd gaps in the editing interface & functionality. For instance, I can split clips of audio, but there’s no immediately obvious way to rejoin them. It can be done, but it requires a few more steps than I’m used to.
- It may be a problem with the m-audio driver, or my failure to understand JACK, but Ardour doesn’t seem to be aware of what I have in terms of hardware inputs. New audio tracks keep defaulting to progressively higher inputs that don’t exist, and I have to manually set them to ones that do.
The good news is that at least the first two issues are to be addressed in the upcoming release of Ardour 3.0, currently in beta. I couldn’t get the beta to work on my system, but it sounds like it’s really going to shine. I did have to backport the latest 2.x Ardour from Precise Pangolin to get around a glaring bug with JACK’s transport controls, but otherwise I’m pretty happy with the current version for my needs.
Audacity
If you’re into digital audio much at all, Audacity probably needs no introduction; it’s a great audio editor and is freely available on most OS platforms. Audacity on Linux works seamlessly with JACK and LADSPA plugins, so it makes a good tool for doing detailed edits, or recording non-musical content (e.g., we’ve been doing a lot of voice-over recording for some dramatic works, and my son’s been creating sound effects for his Scratch projects). I’ve run into a small bug on this setup which causes Audacity to crash whenever I try to monitor the recording input, though I’ve never seen Audacity do that before so maybe a backport from the latest upstream will fix it.
Guitarix
Guitarix is basically just a fancy effect plug-in/host, but for all that it’s pretty awesome. It’s a simulated guitar amp and effects plugin that lets you simulate about any amp, tube configuration, and cabinet you can think of, as well as adding in common guitar effects (reverb, delay, chorus, phaser, wah-wah, etc). I backported the latest version from upstream, since the one in Oneiric is several versions behind. Once I got the latency issues worked out with JACK, I started having a blast with Guitarix! Ah, my poor Pod 2.0, I think you’ve met your match.
Plug-ins plug-ins plug-ins!!
Back in my Windows/Cakewalk/Buzz days I was a plug-in junkie. I remember religiously monitoring kvraudio.com for the latest in free VST plugins, and compulsively downloading any Buzz machine I could find. Linux has its own set of acronyms when it comes to audio plugins. LADSPA is the oldest and most populated, while DSSI is a slightly newer format for instrument plugins. LADSPA 2, a.k.a. LV2, seems to be the new kid on the block, with aims to replace both the others.
On top of that, I’ve read that there is such a thing as a Linux VST, though I haven’t seen or been able to use one so far. I’ve also read that it’s theoretically possible to run Windows VSTs on Linux, but I haven’t got this working yet, and I’m not sure how motivated I am to try. I have a few VST instruments that I miss, but as I said before I’m less interested in layers of synth sequences these days.
Overall, I’m a little disappointed at the state of plug-ins for Linux. There are a lot of them, to be sure, but so far they seem a little on the primitive side. They lack the nice interfaces of the VSTs I remember, and don’t seem to be aware of things like tempo or meter. To be fair, I haven’t found a category with any glaring holes, but on the whole the selection feels a little paltry. Hopefully we’ll see some nice LV2 plugins surface, or maybe some of the better VSTs get ported over.
No excuses now
So now that I have my nice Tux-approved music DAW, I have no more excuses for not making music. Ok, well, except for kids, and cub scouting, and church functions, and programming work, and the housework, and… well, here’s to hoping I get at least ONE recording out of this setup!
2 Thoughts on “Reviving my home studio, this time the free software way”