First ensure you have
Allow louder than 100% unchecked in the sound settings, as peaking audio is generally the cause of terrible audio quality, and can damage speakers sometimes.
Second, you can try editing your deamon config file (although back it up it first):
System wide version:
sudo nano /etc/pulse/daemon.conf
You will probably not have a local version so you can
cp /etc/pulse/daemon.conf ~/.config/pulse/daemon.conf first and then try and edit it.
Here are some possible changes (suggested here):
default-sample-format = float32le
default-sample-rate = 48000
alternate-sample-rate = 44100
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 2
default-fragment-size-msec = 125
resample-method = soxr-vhq
enable-lfe-remixing = no
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 9
daemonize = no
Now to test new settings:
Hope that helps!