Sunday, November 13, 2011

Composing with Linux -- Part 1: Software and Hardware

A few people have asked me about my workflow for composing so I thought I would collect some of my technical notes and share them.  Having spent 2 years taking classes with Berklee Music Online, I was able to get a workflow fairly streamlined for my purposes. I am breaking this up into multiple articles else it would be way too long....

This is part 1 -- Software and Hardware.

Open Source<!-- more --

I use Linux for all of my audio work (with some exceptions noted below), which also means I primarily use open source software to produce my music. A lot of this software may not have all of the bells and whistles provided by commercial software apps, but it suits me very well. And I daresay I may be one of the first people, if not the first, to get certified through Berklee for film scoring and orchestration using open source software.

There are still pervading myths that there are no applications for Linux, Linux isn't good for multimedia, there isn't any hardware support for Linux, etc. These myths may have been true in 1997 but they aren't true today. I have been using Linux as a hobbyist since 1996 and professionally as a software engineer since 1998, and it has evolved quite a bit since those early days. In fact, not only do I use Linux for music production, I also use it for digital art and animation (I will save that for another post). There's no question that using open source software is also more affordable for those on a tight budget (less money spent on software means more can be spent new guitars on high-end hardware).

I use Ubuntu Studio Linux, v. 11.04. In the past I've also used Gentoo and Fedora + CCRMA, they all worked very well. However, Ubuntu Studio is one of the most streamlined Linux distros and everything I've plugged into a machine running Ubuntu Studio just works, from scanners to wacom tablets to various USB MIDI devices.

The primary open source applications that I use:
One piece of software that is important for my setup is JaCK (, which should be the heart of any professional audio workflow with Linux. It's an audio routing daemon which allows applications to send synched audio to each other, it's a fantastic way to have multiple apps cooperate in recording and mixing, even apps that are on other machines on a local network.

I also use a 64-bit Windows 7 machine as a sample host -- this is the exception to the Open Source rules. The software used on Windows:

  • Kontakt 4 (with lots of 3rd party libraries)
  • EastWest/Quantum Leap PLAY (Symphonic Orchestra, Silk, many others)
  • IK Multimedia SampleTank (and SampleTank-based apps like Philharmonik)
  • FXPansion BFD2 Drum Sampler
  • Reaper 64-bit (used only as VSTi Host)
  • Various other libraries and tools

There's no question that you need good hardware if you want to do professional or semi-professional audio. Consumer-level sound cards typically have cheap DSP chips and are not suited for the low-latency needed for professional multitrack recording. This especially includes the onboard audio interfaces that come on most commodity computers. Many, if not most, USB audio devices are also not well suited for multitrack recording either, especially when realtime monitoring is needed. Dedicated PCI or Firewire interfaces are still the best choices for professional audio, and this applies to Linux as well.

The most popular sound architecture on Linux is ALSA ( It supports many different kinds of hardware, providing there is a driver available for the hardware. Most manufacturers do not develop Linux drivers, but many have provided open source developers with specifications for their devices upon request.

My Ubuntu Linux machine uses an RME HDSP Multiface II audio interface. This is an external unit with 8 analog inputs and outputs, plus one stereo S/PDIF in/out and one LightPipe in/out (4 stereo pairs or 8 mono). It connects to the computer using a dedicated PCI card. RME devices are among the best supported on Linux and this device has worked wonderfully for me. It provides zero latency hardware monitoring, which is essential for any kind of multitrack recording.

For monitoring, I use M-Audio Studiophile monitors (BX5 stereo pairs and SBX sub-woofer). I also like to use headphones for initial mixing sessions so I can focus on the sound without distractions.

The Windows 7 machine has a single E-Mu 1010M PCI interface (S/PDIF and ADAT I/O). All of the audio from this machine is routed to the RME device and monitored via the Linux hardware.

The Linux machine, I should add, is an older 32-bit Intel Core 2 machine with only 2G of RAM. The Windows machine is a 64-bit box with 8G of RAM, with an AMD Phenom quad core processor. I definitely need the beefier hardware on Windows, since it's driving the samplers.

Next Up is Part 2: Developing an Idea

No comments:

Post a Comment