Saturday, November 15, 2008

The Open Source Musician, Part One

Over the last couple of weeks I've been slowly assembling a small home recording studio based around the Linux operating system. I've been playing guitar and piano for many years and I've always liked writing and recording music.  I've also had home studios of various kinds over the years. When I suddenly found myself with a spare computer that was semi-modern at a time when I'm also playing a lot of guitar, practicing with a band (albeit only a temporary, one-off band) and really getting back into making music, I decided it was time to assemble a PC-based recording studio. I've been wanting to do so for years and have in fact used various versions of Cakewalk at different times and really enjoyed it. I just never really had everything I needed in one place at the same time for it to really work out.

Once the decision was made it was a very small step to deciding to try it as a Linux based studio. I'd read about Ubuntu Studio several times while playing with Rosegarden over the last few months but I never had a computer to install it on. That problem was now solved so it was time to forge ahead.

The Box
The computer that this studio is based around is a 2.8GHz Dual-core Intel chip on an Intel motherboard. In has a lower-end NVidia G-Force video card and originally had no sound card available other than the on-board AC97 sound module. The crappy on-board sound card is fine for listening to music and playing the occasional game of Open Arena but it wasn't going to cut it for serious audio work. With that situation being untenable I decided to harvest the old Creative Sound Blaster Audigy Platinum out of my ancient (circa 1999 originally, but it's had a LOT of upgrades through the years) dual-processor Pentium 3 box that's become so unreliable that it's unusable. I originally bought this sound card for the purpose of using it with Cakewalk probably about 6 years ago, and it was the highest-end Sound Blaster available at the time. Specifically, it has Creative's SoundFont-based MIDI sequencer on board (anything you can do on the hardware to free up memory and CPU cycles is a good thing) and it also has a break-out box with S/PDIF, MIDI, and Mic/Instrument inputs on it. That's a nice-to-have feature since it means I don't have to go crawling behind my computer everytime I want to jack in an instrument. This soundcard isn't ideal by any means but I decided it would definitely work in the short-term until I decided what I really wanted. Lastly, I bumped the box's memory up from 512Mb to 2.5Gb.

Getting the Project Off the Ground

With the computer built and ready it was time to install the OS. I won't go into to much detail here because frankly it was pretty painless. I've installed several flavors of both Ubuntu and SUSE over the last few years and they are getting steadily better. At this point I find installing a modern Linux distro far less painful than installing Windows XP. The installations (for me, at least) do a good job of hardware detection and they are clear, concise, and beautiful. The only thing I tend to struggle with anymore is getting the video card set up and getting the display centered on the monitor, but that's something for another post.

Ubuntu Studio, my distro of choice for this application, is a Ubuntu spin-off that's targeted toward content creation. Specifically, it's geared toward music production, video production, and photography and image production. I left off the video production stuff since I don't do anything in that realm and don't really intend to start. I left the photography and image stuff because it has some 3D modeling software, but in retrospect I could have foregone that as well since my other computer has the same software and is much better suited, hardware-wise, to 3D work. Oh well, I'll just remember that for the eventual upgrade or re-installation.

The reason I chose Ubuntu Studio is because, as part of it's audio package, it comes with all the software packages I needed (more on this later) but more importantly it can be configured out of the box to run as a low-latency system. This is a very, very important feature for people working with multitrack audio and, especially, MIDI. Without getting too deep into detail here, latency refers in this instance to the time elapsed between an event happening (a MIDI keyboard key being pressed, for example) and the sound being heard coming through the speakers. Achieving sufficiently low latencies in Linux requires the utilization of a real-time kernel, and thus my reason for using Ubuntu Studio. The real-time kernel is created by patching a standard kernel. I can and have done this in the past, but why bother? Some wonderful souls in the open source community have done it for me, and included all the software with it, so I'm using it.

The Next Steps
Once the computer was upgraded with plenty of RAM, a useable sound card, and a operating system, the time had come to start learning about audio creation on Linux. As usual with the Linux/UNIX crowd and the Open Source community, the process of recording music on Linux is a bit different from the ways the same task is accomplished on Mac or Windows. I don't have much experience with recording on a Mac but from what I've seen it isn't substantially different from Windows in process or workflow, only in which software packages are used.

On Windows and Mac people tend to use "Swiss Army Knife" software that does a lot of things like handle the multi-track recording and MIDI sequencing, controls audio effects, and can be used for final mixdown and mastering. Commercial software vendors tend to build all kinds of features into a single package because they figure (and rightly so, I guess, if you're actually buying the software) that if they can set it up so you don't need any software other than theirs you're more likely to buy their software in the first place.

The Open Source developers, on the other hand, don't really have to worry about market forces and consequently can focus their attention and efforts on the tasks they wish to get accomplished. That circumstance tends to make the available Open Source audio software follow the traditional UNIX software philosophy of having a tool that does one job, does it well, and can be combined with other tools to accomplish a given task. So, with that in mind, here are the software packages that I'm using in my home studio:
  • Ardour, as my primary Digital Audio Workstation (DAW) software
  • Hydrogen, for creating drum and percussion tracks
  • Rosegarden, for non-percussion sequencing
  • JAMin, for mastering
  • JACK, for tying it all together.
Most of these programs can be pretty complicated, hence my trepidation when getting started with all of this. I don't mind a steep learning curve but having to learn five programs essentially at once to get the job done is daunting nonetheless. It's worthwhile, because the one-tool-per-job paradigm lends itself beautifully to having a very flexible system once you've learned enough, but getting started is definitely more difficult. Not only must one learn about the individual programs, one must also learn which software to use for what task and how they all connect together.

I'll post part two of this series sometime within the next day or two. I'm not sure what that one will cover other than the trials and tribulations of getting it all set up and working. I may or may not leave the actual recording part for a third (or fourth?) post. Stay tuned.

0 comments:

Copyright ©2007 Noel Nunkovich