Sunday, February 25, 2007

Linux for 12-string

I admit it, I haven't used a microsoft operating system for anything serious for 20 years. The past six years Linux has been my main operating system; before that it was OS/2. Sure, it's been hard getting decent audio programs. Under OS/2 I was forced to use the DOS emulator to run Studio, a nifty WSIWYG application for creating midi. And I've had my sound card battles with Linux. But for the past 3 or 4 years things seem to be looking up for doing music stuff under Linux. The Advanced Linux Sound Architecture (ALSA) is the default for audio, after a couple of years of competing architectures, and it supports most of the high-end audio chip sets. You can look up your card on this list. I'm using an M-Audio Stereophile 2496 because M-Audio was one of the first vendors to open the specs for their high-end cards, and the ALSA people quickly wrote good drivers. They even have a clone of the Windows Mixer application.

I'm not the only one. More and more on audio forums I see people who are using Linux for advanced audio work...much more advanced than simply setting up some microphones and recording a 12-string. Here is an entire recording and mastering studio, Mirror Image, that has been using Linux for a couple of years.

I use ecasound for recording. It seems to be kind of a Swiss-army knife of audio applications. During my experiments with encoding, I found that ecasound does audio manipulation. For example, to add 2 different reverb effects to a wav file, I used this command line:

This applies the TAP Reverberator (Tap - Tom's Audio Plugins, has a fine sounding set of pluginshere) twice. The Reverberator is actually 43 different reverb effects. The first verb is applied with this line: -el:tap_reverb,800,0,-15,1,1,1,1,23The 800 is milliseconds of delay, 0 is the dry level, -15 is the wet level, The four '1's apply effects common to all the TAP reverberators, which is what the author recommends. The 23 is the actual effect. All of this is documented here.There are the 43 Tap reverberators, not to mention FreeVerb and GVerb, Adding a bit of reverb to the 12-string is an ongoing project. I think the recordings need a touch of room sound because I have tried to eliminate the actual room sounds by recording with the microphones within about a foot. One neat way to experiment is to get the LADSPAplugin for XMMS. Xmms is like Window's Winamp - it plays audio. By adding various plugins you can make it play almost anything. The LADSPAplugin lets you apply any audio plugin in your toolkit to music streaming out of your xmms player. This is a great way to test the reverb effects. The picture at the top is showing exactly that: The 2 reverberator windows are at the top, xmms is running below. All the music coming out of xmms will have these effects applied.

Other great appsWe all make mistakes, so we all need an application that can edit wav files. I use Sweep or Audacity, but there are plenty of other good ones. Most of the waveform and spectrum images I use for these posts are made in Audacity. I think all of the editors now use Erik DeCastro'slibsndfile for reading and writing audio files, so they all can handle 24 bit audio, which is what you want to use for recordings that will be sent out for mastering.

If you want to play around with mastering audio for your friends,jamin with jack is the way to go. You can run the sound file editors without Jack, but for the advanced mixing and mastering applications it becomes essential. Linux has a modular approach to everything, but every thing audio can usually be connected to every other thing audio - allowing you to build some powerful streams of applications.Below is a screenshot I took for someone else a couple of weeks ago. Here is a description of what's going on in this screen:Upper center (GTick) is a metronome app, useful for those tremolo studies.
At the bottom is a Jack control,
Upper right are the jack connections:

mytune is an audio file output of a wav file played by an ecasound instance.

the output is going to the jamin mastering app

The outs of the mastering app are going into the sound card (alsa_pcm)

Hooking apps to each other in the Jack window is all drag and drop programming.

There is an terminal window at the bottom, I think it is probably running the ecasound program.

By the way, music doesn't have to take over your computer completely. This is only one of four screens that I can switch to. The other screens are dedicated to browsers and email and more normal computer stuff.

So the title, Linux for 12-string,was a bit of a lie. Most of this post is about music applications in general on Linux, but if anyone has some suggestions for good 12-string reverb settings using TAP, Gverb, or FreeVerb, let's hear them!

1 comment:

Anonymous
said...

I can't get my M-Audio Stereophile 2496 to work correctly in UbuntuStudio 8.04. I have written a custom .asoundrc and I can get aplay to play out through PCM 1 through PCM 4. I can get my Stereo map to play with aplay, but not a bit of sound from jackd. Could you post an article with your config for the M-Audio Stereophile 2496 in Linux? I feed all my sound out the coax S/PDIF output of the 2496. But the Envy24 app never shows any meter movement with jackd (a diffent system with an Audigy2 worked just fine).