Audio production Part 1 - JACK

From LXF Wiki

Revision as of 13:06, 23 Jun 2008; view current revision
←Older revision | Newer revision→


Audio and music production

Trying to prove that Jack is not a dull boy, Graham Morrison takes to playing with a synthesizer.... Producing music on a computer is good fun. Not only do you get to create and record the most outlandish sounds and the most repetitive rhythms, but you can do so from the luxury of a workstation that 10 or 15 years ago would have cost the earth. This series of tutorials aims to cover a broad range of Linux audio software, from synthesizers and effects to sequencing and recording, while attempting to produce a finished and mastered piece of music suitable for burning onto a CD. This month is basically a primer on how to configure your system for real-time sound production using a synthesizer, effects and a drum machine. While we won't cover installation, all of the applications used in this tutorial are readily available, to the extent that they are usually part of any major distribution. For example, with Mandrake 10.1, everything is available in the `contribs' RPM repository, and installation should be as easy as

 urpmi package-name. 

While Linux may not initially seem like the ideal platform for music production, it does actually have quite a lot going for it. With good-quality drivers, an innovative connection protocol and several feature-rich sequencing and recording packages, there is currently a greater amount of audio production software available for Linux than there was for Windows only a few years ago, and it's expanding rapidly. While it could be said that the packages available for Linux are sometimes a little eccentric, this only means that for certain types of music, Linux is ideal. For the others, you just need to adapt your working methods a little. This means that even if you don't appreciate the finer aspects of Scandinavian minimalist electro, Linux is still perfectly capable ­ you just need to change your approach. It wasn't so long ago that music production involved considerable investment in some serious hardware. Not only did you need a wide variety of instruments to make the actual sounds (and the ability to get something meaningful out of them), you needed something to mix the sounds together, as well as a way to record your masterpiece. As computers have become increasingly powerful, more and more of the actual recording process has moved away from external hardware to the PC, to such an extent that in certain genres of production, everything from the composition and recording to the final stages of mastering can be achieved within software alone.

Studio time

Until recently, Linux was considerably further behind in its audio production capabilities than both Microsoft's Windows and Apple's OS X. It lacked both the hardware and software support, which is hardly surprising considering the amount of investment these kinds of products take to develop. However, things are changing, and it genuinely feels as though Linux is on the cusp of breaking into a more mainstream position for audio work, and more importantly, bringing some of its own open philosophy with it. Where previously a recording studio may have used a Linux box for sharing audio files or as a web server, there are now studios bringing Linux closer to the actual process. It may seem obvious but perhaps the most important thing to consider for audio work is the soundcard. It's here that sound enters a system, and any artefacts or problems with distortion that enter the recording stage at this point are going to be very difficult to resolve later. The quality of a card is very difficult to judge. Despite a manufacturer often printing various specifications for its product, there's still be a wide range in the quality of the output. When the technical specifications of certain consumer cards are compared with those of professional or semi-professional cards, they may appear to offer broadly similar performance for very little outlay. However, you would almost certainly find that the sound is considerably inferior. This is usually down to the quality of the analoguedigital converters, but other things, such as internal clock stability or circuit shielding (essential to avoid recording the sound of your own hard drive), affect the overall sound quality. When using a system for audio production, you need it to be responsive. This not only means that when you lower the volume, it gets quieter immediately, but also means that when you play a note on a virtual synthesizer, you don't need to wait half a second until the note comes out of your speakers. The responsiveness, or the latency, of a system is usually a balance between the soundcard and the driver. Started in 1999, the Advanced Linux Sound Architecture (ALSA) project is aimed at unifying the audio sub-system for the Linux kernel, with the intention of replacing the then ageing Open Sound System with a well-designed, low-latency platform for ALSA audio drivers and software to communicate with one another. After five years of development, version 1 of the ALSA sound system can befound as the default audio layer in all 2.6 level kernels, and it's thanks to its brilliant design and modularisation that Linux has the potential to become a killer platform for audio production. The next most important part of the chain is the quality of the soundcard driver. A poorly designed driver can make the difference between having a constant struggle with stability and response, and being simply a transparent part of your system. With other operating systems, this is usually down to the manufacturer's resources and experience. With Linux, it's usually down to how open the manufacturer has been with the volunteers that develop the drivers for themselves. Two professional soundcard manufacturers known for their support of Linux are M-Audio (now owned by Digidesign/Avid) and RME. The main disadvantage with ALSA is as a direct result of its power, and that's its complexity. ALSA not only gives you the choice of which modules to include or exclude from kernelspace, but also gives you direct control over all the various internal routing options available for your own audio hardware. Unlike drivers for other systems that restrict you to the manufacturer's (usually rather limited) configuration, ALSA gives you complete freedom over internal routing. With the Creative Audigy card, for example, you can freely assign any of the inputs through an internal matrix, mixed with internal sound sources and sent to any of the outputs, all through ALSA. This can be a little overwhelming, especially if you happen to load the ALSA mixer, only to see 50 or more channels to control, and it's often better to leave at the default values. However, it's good to know the power is there if you need it. Another innovation that makes Linux audio so promising is Jack. This is the inter-connectivity layer that sits on top of ALSA and enables all the various audio utilities and applications that are built to support Jack (and most are) to share audio and MIDI data. MIDI is the protocol used to communicate between applications and was traditionally used for interconnecting physical pieces of hardware, such as synthesizers to sequencers. However, as the hardware has been translated into virtual software equivalents, there's still a need for inter-operability, in the same way there's a need for inter-process communication.


Hydrogen is a very comprehensive and selfcontained drum machine.