This section will describe the basics of setting up your Linux system to record audio from either an analogue or CD-ROM source.
I'm basing this section around my Intel based Linux system which is running Redhat, but should be reasonably distribution neutral. If you have any success in using this HOWTO on other hardware, please get in touch.
Naturally a reasonable prerequisite is a working soundcard. At this point in the HOWTO, I invite you to read the excellent Linux Sound HOWTO, by Jeff Tranter. After which a good read of the Linux Sound Playing HOWTO, by Yoo C. Chung. Both of the above mentioned HOWTO's cover the details of getting a sound system working under Linux far better than I could.
Firstly, set up your audio. There are a multitude of ways to route audio before it gets to your Linux box, some common ones are:
Line out to Soundcard Line in. Most audio devices have a Line output sockets. Line level is a standard that specifies what voltage the audio device will send out. If I remember correctly it is 500mV for domestic and Semi Pro devices, and 750mV for Pro audio devices. I would guess that the standard set for most soundcards will be 500mV, but some of the newer Pro audio may be to the higher standard It shouldn't make too much difference unless you are recording at very high levels.
The Line level output is normally used to connect HI-FI equipment to an amplifier, so things such as Tape Decks, Radio Tuners, CD players, DAT machines and Mini-Disc players should connect without problem. Turntables can be more of a problem, see below for more information.
You could capture audio from VCR's as well. Most VCR's will either have Line out for sound, or you can Get a Line out from a SCART socket if your VCR has one.
Amplifier Tape out to Soundcard Line in, Soundcard Line out to Amplifier Tape in. This configuration is essentially replacing a traditional tape recorder connected to your HI-FI amplifier with your Linux system. The Soundcard Line out to Tape in allows monitoring of the recording levels.
Mike to Soundcard Mike in. The voltages generated by microphones is very much smaller than those used in Line level devices. If you were to plug a Microphone into the Soundcard Line in, chances are you would never record anything.
WARNING, doing the reverse, plugging a Line level device into the Soundcards Microphone input, can damage your soundcard!!
Turntable to Mike in.
Many thanks to Mark Tranchant for the following.
The raw output from a record deck cartridge is very low level. However, you cannot plug it directly into a microphone input and expect good results. The output requires equalization, as records are mastered with less bass and more treble to optimize the physics of the moving needle. This equalization is carefully defined and referred to as RIAA equalization. You *need* to run the output through a phono preamp first, and then into a line input.
Music keyboards & synths should be connected to the Soundcards Line in, with guitars connecting to Line in via a DI (Direct Injection, used to convert the signal to Line level) box.
Before you plug in anything into your soundcard, make sure the volume levels are turned down to minimum, or if using microphones they are either turned off or away from speakers.
Setting up your Linux system to extract audio data from CD-ROM is reasonably straight forward.
If you can hear a track playing from your CD-ROM through your speakers or amplifier, connected to your soundcard, then there's a reasonable chance you should be able to record from it.
Log in as per normal to your system, then using a mixer program set the recording levels that are loud enough to give you a decent recording level, but aren't too loud and distorting. I normally just judge this by ear, after a while you'll get to know what levels are best for your kit.
I recommend either turning off all unnecessary services or switching to the single user runlevel, especially when encoding from an audio source. This is to ensure that the bare minimum of services are running and thus minimising system glitches when recording.
I've set up a separate SCSI drive, exclusively to record the audio to, which I'll refer to as /mp3. I've done this mainly for the performance gains in using a SCSI drive. Also, recording onto a dedicated drive, where you are almost certain the head isn't going to suddenly skip to another part of the drive as you are writing audio data to it, is a good thing :)
For details on setting up a Linux system with multiple disk drives, a good read of the Multi-Disk-HOWTO, by Stein Gjoen may be useful.