Pulseaudio is like a giant octopus. In typical Linux fashion, it is built for the greatest common denominator of users. In its attempt to please everyone and do everything. It inserts itself into the ALSA layer, mixes in the desktop sounds and any music, movies or CDs that are playing, adjusts all the sample rates to fit the hardware, adjusts the levels of each program independently, and even ships audio out across the network to other PCs. Unfortunately all this complexity makes it difficult for those who are new to Linux and rather than explaining how to use it, many are told to simply disable it. This is bad advice because with Pulseaudio disabled, the sound may not work at all.
The diagram of Pulseaudio on Wikipedia is very complicated. It seems like it's more to impress people than anything else. The daring may check it out. This simplified diagram is my attempt to narrow down that mess to just the audio systems that are actually installed on a freshly installed system, that is Pulseaudio and ALSA:
I'm not sure what good it is to have networked audio. Maybe if a wireless IP phone supports Pulseaudio somebody can use it as a poor-quality wireless mic... As we can see above, audacity now records through Pulseaudio and Sox still uses alsa, only Pulseaudio intercepts the audio through libalsa-Pulse. It's transparent, remember? We can forget about it. Well, almost. The problem with this is there are 2 mixers, the Pulseaudio mixer and the ALSA mixer. So, if the audio is muted in either place, there will be very faint audio or nothing. These are common complaints.
For recording, and to sort these problems out, we will need a better mixer. Type:
su -c 'yum install alsa-utils sox audacity'
Once that installs, we will have access to the advanced mixer controls and some basic recording software. Start alsamixer, use the following commands:
alsamixer #this sets the simplified Pulseaudio mixer controls
alsamixer -c0 #this sets up the actual ALSA sound card levels
The -c0 tells it that we will be setting up the first sound card in the system. Most systems will only have one soundcard.
Press 'h' for help and read the instructions. Some people can fiddle with the sliders all day and still not get audio, however. So we will make it even simpler. The following command sets the Pulseaudio capture and volume to 100% and un-mutes them so we can hear and perhaps record something.
amixer sset Master 0dB unmute #un-mute the main Pulseaudio volume control
amixer sset Capture 0dB cap #start cap (capturing) audio
The Linux desktop often forgets these settings upon reboot, so put them in a script somewhere or in .bashrc.
Now that Pulseaudio is uncrippled, we can forget about it and concentrate on ALSA.
amixer -c0 sset Master 0dB unmute #un-mute the main ALSA (card 0) volume control
# choose one of these
amixer -c0 cset iface=MIXER,name='Input Source',index=1 'Front Mic' # (Record from Front Mic)
amixer -c0 cset iface=MIXER,name='Input Source',index=1 Mic # (Record from Rear Mic)
amixer -c0 cset iface=MIXER,name='Input Source',index=1 Line # (record from Line In)
# IMPORTANT: set Capture to 0dB and leave it alone if possible
amixer -c0 sset Capture 0dB
# more info
amixer -c0 # see all devices
man amixer # look at the man page
Now just fire up alsamixer -c0 and fiddle with the mic boost and start recording! Routing pulseaudio through the network is a bit too advanced for this page, but doable if padevchooser is installed.