By default, if you have an on-board sound card or PCI soundcard installed; it would be very easy to get that working in Linux. As long as you have correctly installed the hardware on your motherboard, Linux would take care of the audio drivers itself and it would run without any hassle after installation. These drivers can be using ALSA and they are included with your distribution packages by default.
But things are very different if you are using an external Firewire audio interface. Typically, these are professional audio recording interface that are often used in music production. To get this to work; there are some things to be done so that you can use your audio interface as a default sound device. Default sound device would mean you can use it in all of your PC audio tasks. This includes the following:
a.) Playback and listen to MP3 files (also WAV files, CD audio, etc) in your Linux PC using your preferred multimedia player.
b.) Watch movies and use the audio interface as the sound device.
c.) Record and playback music with your Firewire audio interface in your digital audio workstation software.
d.) Route the audio from your browser to your Firewire audio interface. This is useful if you are listening to music or watching movies in the Internet.
This tutorial is written using Ubuntu 11.10 distribution in Linux but would also apply in other distributions such as Linux Mint.
Step1: Configure your Firewire Audio Interface to work in Recording
Since your external Firewire audio interface is primarily used for recording, the first step is configuring it to work with recording. The objectives of this step are the following:
a.) Enable Linux to detect your installed Firewire audio interface.
b.) Install the necessary Firewire audio drivers for it to work.
c.) Install JACK, a low latency sound server that can be used with Firewire audio drivers.
d.) Record through your audio interface using a digital audio workstation.
To accomplish the above steps, you can read this tutorial on the installation guide of Saffire Pro40 in Ubuntu 11.10. Take note that the illustrated Firewire audio interface is Saffire Pro 40 although you can try using the steps on that tutorial to install any Firewire audio interface.
Unlike in Windows where the manufacturer supplies the drivers; in Linux there is only generic Firewire audio driver called as FFADO. These drivers are designed to work with many Firewire audio interfaces. You can find out if your hardware is supported here.
Do not proceed to step two until your Firewire audio is fully working and attained the objectives set previously.
Step2.) Configure your Audio Interface to Accept Non-Jack audio streams
In Step1, your Firewire audio interface communicates with JACK daemon. However, by default, you cannot use JACK to accomplish the rest of the audio task below without additional configuration.
a.) Listen to MP3 using your favorite multimedia player.
b.) Watching movies.
c.) Use audio along with your browser.
Outside the JACK world, there is ALSA; an audio driver designed for general consumer and multimedia applications. These are the ones used by your multimedia MP3 players, movie streamers, browsers, etc. except for serious music production/recording where JACK is used.
To make your Firewire audio interface work with ALSA, you need to route the audio from ALSA (coming from your audio client) to JACK. Once in the JACK, it will be easily communicated with your Firewire audio interface through FFADO.
Below are the detailed steps on how to do this:
1.) Install the ALSA-JACK PCM plug-in. Go to Ubuntu software center and type: libasound2-plugins
You need this installed. Once it is properly installed you see a green marked below the plug-in, see screenshot below:
2.) Open up your terminal by pressing Control – Alt – T. Type this command (take note of the dot before asoundrc):
$ pico .asoundrc
Assuming its empty, copy the code from here to the .asoundrc file. This is how it looks like after copying the code:
To save, click Control- O, and then type Control X to exit.