First check if you don't overload any parts in the mixing path by setting everything at 75% and check if the "bad-sound" problem is solved.
If not: read on.
One of the underestimated problems in Linux sound is samplerateconversion.
Let's say that you try to play a file with samplerate 48000, this will be converted by pulseaudio to 44100 and will be converted by ALSA to 48000 again because your sounddevice can't do 44100.
The pulseaudio samplerateconversion is OK, but the samplerateconversion of ALSA is of bad sound quality.
So best thing you can do is to set the output of pulseaudio to 48000 so that ALSA won't use samplerateconversion.
Edit the pulseaudio config: /etc/pulse/client.conf
change this:
; default-sample-format = s16le
; default-sample-rate = 44100
; default-sample-channels = 2
; default-channel-map = front-left,front-right
to this:
; default-sample-format = s16le
default-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right
If all else fails, use OSS4 instead of ALSA+Pulseaudio.
( The soundquality of OSS4 is extremely good but expect some inconveniences)
build-essential
installed ? – thom Nov 17 '13 at 13:43