
music software
(BTW, I have no association with any of these projects).
http://ardour.org/ [ardour.org]
http://jackaudio.org/ [jackaudio.org]
http://www.ffado.org/ [ffado.org] (aka Freebob) with a Mackie Onyx desk & firewire interface
http://jamin.sourceforge.net/ [sourceforge.net]
By Carl Lumma [keyboardmag.com] | May 2007
You might think there's no way a free operating system written by volunteers could compete when it comes to music production. But in the past couple of years, all the tools you need to make music have arrived on Linux.
For years, Linux has enjoyed market leadership as a server operating system -- Google's servers run it, for starters -- while struggling with the stigma that it isn't polished enough for desktop use. Those days are over, and word is getting out. Linux is quickly becoming the OS you'd set up for your grandmother, with no fuss over activation, software updates, or viruses. Unlike any version of Windows or Mac OS, Linux is open-source. What does this mean to musicians? For starters, there are no company secrets to keep or non-disclosure agreements to sign, so software developers and users alike can get on the same page very quickly, speeding the flow of bug fixes and feature additions.
Linux demands more nuts-and-bolts computer knowledge for pro audio than for web browsing, but if you've ever tried to troubleshoot a latency or driver issue on a store-bought laptop, you're probably still listening. If you upgrade your hard drive, you won't have to reactivate all your apps due to the hardware change, and when you discover a cool tool or workflow, you can share it with friends without them shelling out hundreds of dollars or resorting to piracy. With the exception of Linux versions that include commercial tech support, most everything in the Linux world is free for the asking, Many developers accept voluntary donations, which we encourage you to make.
HOW IS IT DONE?
Let's look over the shoulder of Aaron Krister-Johnson, the keyboardist and choir director at Temple Sholom in Chicago. He also composes incidental music for local theater, and is half of the electronica duo Divide by Pi, Keyboard's June '04 unsigned artist of the month. The core of his home studio is a PC running Linux (see Figure 1).
To obtain Linux, you download a particular distribution or "distro," which is a particular version of Linux someone put together, for free or a donation. Some distros are available boxed at very low cost. Ubuntu (www.ubuntu.com [ubuntu.com]) is popular for home-computer tasks, but Aaron uses Zenwalk (www.zenwalk.org [zenwalk.org]). Software compiled for a particular distro will only run on that distro, so most come with several free applications that you can install along with the basic OS. We recommend Fedora (www.fedoraproject.org [fedoraproject.org]), because you can then install the Planet CCRMA package (ccrma.stanford.edu/planetccrma/software [stanford.edu]), which includes just about every Linux audio application in existence.
Speaking of music applications, the most popular DAW for Linux is Ardour, and Aaron also uses JACK (see "You Don't Know JACK?" below), a soft synth called ZynSubAddFx, and an arpeggiator he wrote called Pymidichaos. Some distros come with binaries -- apps that have been compiled, i.e. converted from the programming language the developers used to the ones and zeroes computers understand at their innermost level. Three such distros are meant to provide install-and-go solutions for Linux-curious musicians: Studio to Go (www.ferventsoftware.com [ferventsoftware.com]), Musix (www.musix.org.ar/en [musix.org.ar]) and 64Studio (www.64studio.com [64studio.com]).
But sooner or later (most likely sooner), you're going to have to take some groovy, free program you've downloaded and compile it yourself. This is where musicians used to commercial software might get scared off. Fear not, and remember that all the actual programming is already done. To compile a given program, you use a Linux command called "make," and with a little practice, it becomes just one of those things you do when installing software. Though a complete how-to is beyond the scope of this article, there are many tutorials on the web, and Linux music software authors are usually happy to point beginners in the right direction by email. When was the last time you got support directly from your music software's designers?
The Linux philosophy of choice extends all the way to the desktop. Where Mac OS and Windows pre-determine this and give you a few cosmetic options, there are dozens of desktop environments that let you browse your hard drive, launch applications, etc., available for Linux. The two most popular ones are KDE and Gnome, which feature snazzy graphics and look and feel a lot like Windows XP. For music production, Aaron suggests a less flashy option that will leave more system resources free to crunch audio. He uses Xfce, which is the default desktop in the Zenwalk distro. Newer computers should be able to run the default Fedora desktop, called Gnome, just fine.
So just how does Aaron go about laying down a tune? Here, we'll follow the production of the track "On This Good Soil, Let Our Automatons Play in Peace," which begins with a MIDI stream coming from the Pymidichaos arpeggiator, which Aaron wrote in his favorite programming language, Python. Don't feel like writing a fancy arpeggiator yourself? No problem -- you can download the Pymidichaos source code for free from Aaron's web site at www.akjmusic.com [akjmusic.com]. Let him know how you like it.
As the name suggests, pymidichaos is no ordinary arpeggiator -- it uses chaos math (think of fractals) to constantly vary the patterns it produces. It also has a GUI that lets you tweak this process in real time, which is just what Aaron did for this piece, essentially an improvisation performed on Pymidichaos and ZynAddSubFx. Zyn, as it's friends call it, is a fantastic software synth. Aaron used very quick decays to create the percussion patches for the piece. A couple of Zyn's built-in effects (tweaked as the piece was being generated) complete the sonic picture.
Pymidichaos sends MIDI by saving data to a virtual MIDI port. Virtual MIDI ports come courtesy of something called snd-virmidi, which is part of ALSA, the audio framework that comes standard with the most recent versions of Linux (kernel versions 2.6 and up). This MIDI "port" is just like a file on Aaron's hard drive that his Python script can save data to -- no fancy MIDI API to deal with -- and Zyn can read MIDI directly from it, in real time.
Zyn has a built-in audio recorder, but in this case
Aaron chose to send Zyn's stereo outs to Ardour for recording. He used
QjackCtl, which is just a graphical user interface for JACK (see "You
Don't Know JACK" below), to patch the audio across. Further effects
could be applied in Ardour, of course. Finally the LAME mp3 converter
was used to make an MP3 file for posting on the web. Want to hear it?
It's at www.akjmusic.com/works.html [akjmusic.com].
AN OPEN-SOURCE SUCCESS STORY
Linux wasn't always a suitable musician's tool. That's what Paul Davis found in 1999 when he wanted to make a recording. Pro Tools was the de facto standard, so Paul did what any earnest programmer would do -- he called Digidesign and asked for the Pro Tools source code so he could port it over to Linux. It didn't surprise him when they declined, and if you'd told him he'd spend the next seven years of his life spearheading the first production-ready free DAW, he wouldn't have believed you. "It's fitting that I called the project Ardour," he laughs.
Paul was one of the first two programmers at online retail giant Amazon. Shortly after the famous web store launched, he left the company to pursue personal projects, most of which have turned out to be related to that DAW. "If I had known what I was in for, I never would have started," he says. Perhaps it's fitting that he called the project "Ardour."
Paul is the first to admit that Ardour's mission was to mirror Pro Tools' feature set. He also maintains that Ardour's architechture is superior to that of Pro Tools, but concedes that the feature set lags behind: "If you took two groups and gave one Pro Tools and the other Ardour, you'd be likely to have more feature requests at the end from the Ardour group. But you'd probably get significant lists from both groups."
Ardour's development is managed, as are most open source projects, over the 'net with mailing lists and chat. Anyone can read or contribute to the conversation. There are about 30-40 people active on Ardour's chat channel in any given month. Some companies see commercial opportunities in the open-source culture. Paul was paid to work on Ardour for a year by mixing console maker Solid State Logic, and in 2006, Harrison announced their Xdubber console, which internally runs a special version of Ardour designed to allow destructive editing for post-production film dubbing. See "Ardour and Top-Shelf Studio Gear" below for more on the Harrison Xdubber. In the keyboard realm, the Muse Receptor (reviewed Nov. '04) runs a custom version of Linux, as does the Lionstracs MediaStation, a mega-arranger keyboard from Italy.
WHAT ARDOUR DOES; WHAT IT DOESN'T
Ardour's biggest weakness is MIDI support. It can import and play MIDI files, and display and move them relative to other tracks, but doesn't yet have tools to edit MIDI data, though they are scheduled for version 2.0. You can get separate audio/MIDI sequencers for Linux, though. Rosegarden is a popular choice, and you can route its output into Ardour via JACK (see "If You Don't Know JACK" below).
On the other hand, Ardour has something most commercial DAWs do not: Open Sound Control support. OSC is a next-generation MIDI replacement proposed by the Center for New Music and Audio Technologies at U.C. Berkeley. Synthesis apps like Cycling '74's Max/MSP, Plogue Bidule, and many Native Instruments products (including Reaktor) already support it. OSC works over the internet, and has successfully controlled a machine running Ardour in Philadelphia from Helsinki, Finland.
Next is the plug-in story. Linux has its own format called LADSPA. You can find LADSPA plug-ins on www.kvraudio.com [kvraudio.com], and some are of very high quality, though their interfaces tend not to offer much eye candy. "The only noticeable deficiency is the lack of a really good EQ," laments Paul. Ardour can run VST plug-ins using a wrapper called FST. Due to licensing restrictions on VST technology, FST is one of those programs you have to compile yourself. Another caveat is that you may have additional problems if your favorite VST plug-ins use a dongle such as iLok or Syncrosoft for copy protection.
What about hardware support? In the past, a lack of drivers for audio and MIDI interfaces was the bugaboo of Linux. Now, class-compliant USB and FireWire audio interfaces should simply work on most recent Linux distros. Also, a partial list of supported FireWire devices is available at freebob.sourceforge.net [sourceforge.net].
You may know that Intel-based Mac users can boot Windows, but did you know that many Linux applications, Ardour included, can run on Mac OS X without any modification? Your Mac must have X11 installed. If it doesn't, you can add it from your OS X installer disc. In fact, Paul reports that OS X users download more copies of Ardour from than Linux users.
Jack Audio Connection Kit is a low-latency audio utility that lets you pipe audio channels between different applications, much like ReWire does on Windows and Mac OS X. JACK is available for Linux as well as Mac OS X. Learn more at www.ardour.org/jack [ardour.org] and www.jackaudio.org [jackaudio.org].
ALSA:
Advanced Linux Sound Architecture. This
serves the same role in Linux as ASIO does in Windows XP and Core Audio
does in Mac OS X. Namely, it provides a standard way for applications
send and receive audio data to and from a sound card or audio interface.
LADSPA:
The Linux Audio Developer's Simple Plugin API. It's like VST for Linux.
PORT:
To adapt a piece of software so that it will run on a computer platform it doesn't currently support.
SOURCE CODE:
All
the information needed for a computer to run a piece of software, and
also for users to change it if they have the inclination and
programming ability. Retail software comes in compiled (binary) format,
which means no one but the company who made it can change it.
OPEN SOURCE:
Software
is open-source when its source code is available for anyone to see,
under an agreement that users can change it however they see fit, as
long as they pass along the same rights to future users. Think of
Wikipedia: Anyone can contribute, but no one can claim copyright or
earn royalties on content they've submitted there.
FREE:
Open
source aficionados distinguish two meanings of this word: "free as in
speech" and "free as in beer." Linux and Ardour are free in both
senses. You can read and change the source code (which is like an act
of speech, since a programming language is a language that can be used
for personal and creative expression), and you can download software
without paying anything for it. Pirated commercial software, on the
other hand, is free only in the latter sense, and unlike software for
Linux, illegally so.
Here's a partial list of cool music-making apps that run on Linux.
Aeolus
Pipe organ modeling instrument with convolution reverb
users.skynet.be/solaris/linuxaudio/aeolus.html [skynet.be]
Ardour
Multitrack digital audio workstation
www.ardour.org [ardour.org]
Bristol
Vintage synth emulator
bristol.klik.atekon.de [atekon.de]
Freewheeling
Realtime loop-based creation software
freewheeling.sourceforge.net [sourceforge.net]
Hexter
Yamaha DX7 emulator that can load most DX7 patch bank files
dssi.sourceforge.net/hexter.html [sourceforge.net]
Hydrogen
Advanced pattern-based drum machine with integrated mixer
www.hydrogen-music.org [hydrogen-music.org]
JAMin
Suite of audio mastering plug-ins
jamin.sourceforge.net [sourceforge.net]
Rosegarden
Multitrack audio and MIDI sequencer with score notation
www.rosegardenmusic.com [rosegardenmusic.com]
Rtsynth
plucked-string modeling synth
www.linux-sound.org/rtsynth/ [linux-sound.org]
ZynAddSubFx
Additive/subtractive synth
zynaddsubfx.sourceforge.net [sourceforge.net]
Linux Sound
Dave Phillips' portal site, with a ton of links to Linux developers on the front page
www.linux-sound.org [linux-sound.org]
Planet CCRMA
Gigantic bundle of audio apps for Fedora Linux
ccrma.stanford.edu/planetccrma/software [stanford.edu]
Xfce
desktop OS environment
www.xfce.org [xfce.org]
Zenwalk
Linux distribution
www.zenwalk.org [zenwalk.org]
Ben Loftis of Harrison Consoles explains why the company chose
Ardour as the basis for their "Xrange" product line, including the
Xdubber console mentioned above:
"From our standpoint, the
high-end audio community has been stagnant for several years. Our
original DSP product, the digital.engine, was designed with 40-bit
floating point math before that was common. It gave us a huge sound
quality advantage at the time. However, with our new generation of
consoles, we realized that it's still not enough. In a complicated
project, with multiple stages of recording, pre-production,
post-production and mastering, it's important to maintain higher bit
depths from start to finish. This means you've got to record and play
back across multiple devices in floating point -- which isn't supported
in the one-size-fits-all workstation world. We investigated making our
own product from scratch, or partnering with an existing vendor, but
luckily we found the Ardour project and started working with them. The
open-source nature of Ardour allowed us to verify that the signal path
meets our standards, to customize it for our needs, and it also comes
with a built-in community of users and developers. I've seen users
report bugs and have it fixed in minutes. You can't get that kind of
response with a traditional software product.
"The Xdubber is the
culmination of over a year's collaboration between the Ardour
developers and Harrison. An interesting side effect is that our feature
additions, bug fixes, and documentation improvements are now
available
to the audio community for free! As more manufacturers adopt this
software model, I expect we'll see a dramatic acceleration in the
quality of audio tools."
From:
http://linux.slashdot.org/linux/07/05/07/159250.shtml

