PulseAudio is a sound server for POSIX and Win32 systems. A sound server is basically a proxy for your sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server.
Pulseaudio is already installed by default on most Ubuntu flavors, including Ubuntu, Kubuntu, and Xubuntu.
TODO(?): document how to install pulseaudio on a fresh Lubuntu install.
This is generally a bad idea, for reasons outlined in this Article
For Ubuntu environments that use pulseaudio, Ubuntu has its own custom sound indicator that will allow you to select the preferred device and control the volume of each application. If you would prefer to try pulseaudio's generic control GUI, install the pavucontrol package and launch it with terminal command:
Resetting User Configuration
For some reason, pulseaudio's user configuration files can become corrupt(unsynced?) in some way, and deleting them (and forcing fresh ones to be generated) fixes a no sound condition. After using the command below, log out/in.
Ubuntu 12.10/Quantal (and earlier)
rm -r ~/.pulse*; pulseaudio -k
Ubuntu 13.04/Raring (and later)
rm -r ~/.config/pulse; pulseaudio -k
Getting A Verbose Diagnostic Log
This log can aid bug reports. If possible, attach it to any bug report filed against pulseaudio or even to ALSA bug reports where pulseaudio is involved: https://wiki.ubuntu.com/PulseAudio/Log
Using A Lubuntu LiveUSB/CD
Because Lubuntu does not use pulseaudio, it can be useful in determining whether an audio issue is caused by pulseaudio, the ALSA driver, or another program. If the issue still occurs in a Lubuntu environment, pulseaudio is probably not causing it.
Firestarter & Avahi
If you have firestarter firewall installed, it *WILL* stop PulseAudio from properly communicating over Zeroconf/Avahi's port 5353.
How to Fix:
gksudo gedit /etc/firestarter/user-pre
In the file, add the following lines:
$IPT -A INPUT -p udp --dport 5353 -d 188.8.131.52 -j ACCEPT $IPT -A OUTPUT -p udp --dport 5353 -d 184.108.40.206 -j ACCEPT
Then, save and close the file, and then type:
Programs Using OpenSound/OSS output
You may run into applications that use OSS output (programs looking for /dev/dsp). Ubuntu no longer supports OSS natively, and you should try to switch the program's audio output to something better supported, like ALSA or esound/esd (which pulse emulates very well). If that's not possible, you can run the program using OSS emulation: