Try...

alsactl init

Sometimes my machine loses the sound for no reason and logs no problems and even a reboot doesn't recover it. This command brings it back so easily that I haven't bothered to troubleshoot the problem yet..