sudo apt-get purge pulseaudio gstreamer0.10-pulseaudio sudo apt-get autoremove sudo apt-get install alsa-base alsa-tools alsa-tools-gui alsa-utils alsa-oss linux-sound-base alsamixergui sudo apt-get install esound esound-clients esound-common libesd-alsa0 gnome-alsamixer
Shamelessly grabbed from here.
I also had to remove my ~/.asoundrc file, but that may have been because I had been fiddling.
EDIT: There was another issue, and I thought I'd post my solution here, in case anyone else has the same problem. I've got multiple soundcards, and the default card was detected as my on-board sound. I was informed by tinternet that putting "defaults.ctl.card 0" etc in my .asoundrc would fix the problem. Indeed it did... until a reboot. It seems that the list of sound cards in /proc/asound/cards is in the order that the cards are detected on boot, which in my case changes each time. Not good. However, this page pointed me to a way to specify by name, rather than number, so now I have:
Which seems to be working fine.defaults.ctl.!card "DMX6Fire" defaults.pcm.!card "DMX6Fire" defaults.timer.!card "DMX6Fire"