The Problem

ALSA default SRC is using flat (linear) mixing when sampling audio into 48KB. To make it worse, the sound was already been sampled by Pulseaudio. Double extra lost precision.

The Solution

Add a line to “.asoundrc” to enable “samplerate_best”:

$ cat >> ~/.asoundrc << PUTUS
defaults.pcm.rate_converter "samplerate_best"

If your player use ALSA only, just replay audio and you will hear the difference. I’m disabling Pulseaudio remixing also by adding this line to “/etc/pulse/daemon.conf”:

disable-remixing = yes

And kill pulseaudio, or just logout and login back if you don’t know how.

A Tip

You could use “speexrate_best” instead of “samplerate_best”. Some user on the Internet said it was more light. But, I’ve found out in my laptop that speex consume slightly higher CPU rate than libsamplerate. Anyway, just check using “top”, no science about it. You might have different result.

Please consider these three factors that matter:

  1. You have a constraint on CPU usage. Using more CPU cause battery to dry faster.
  2. Your hardware is not that good. Using low dynamics gears will not propagate better result.
  3. Your hearing is not that sensitive.
I hope I made a polite gesture, not intend to mock anyone. Anyway, that’s why I would ask you to test by changing “defaults.pcm.rate_converter” parameter between “samplerate_best” and “speexrate_best”. There is also “speexrate_medium” and “samplerate_medium” that might already suit the need.
Last, the most important one, don’t let loudness fool you! It is dangerous to put high volume and hear it for long time. It would worn out your ear. I myself using 30%~45% Master volume (about -30dB~-25.50dB). It feel low at first, but hours of using headphone will explain you why it is better. Btw again, some people said to use PCM instead of Master volume for changing volume level. But, in my case, it is better to play the Master volume than PCM. Again, it might vary on you.

The Story

Imagine this, a person has a Sennheiser PX-100, customized with PX-202 ear pad. Removed all the nasty MP3 and use only FLAC, Musepack, AAC+ and OGG — last one is because that person is fond of Free Software and free standard. The person only plays songs ripped from original CD the person bought over the years.

Usually I would suggest that person to use patched OSS4, enabling Production quality. The problem is over the year Ubuntu making OSS4 less compatible. Too much compiling would shy that people away from GNU/Linux. Thankfully, ALSA also have the right software mixing.