How to change audio bit depth and sampling rate?

To change the sample rate and audio bit depth we need to edit the configuration file for the pulseaudio server /etc/pulse/daemon.conf

Please backup the original settings to restore the defaults in case som settings break your audio.

Look for the following entries:

; default-sample-format = s16le
; default-sample-rate = 44100

Both are commented out with ;. This means they are not read as the entries given here are the defaults. Uncoment them and replace them with values that suit you better. Always keep in mind that this may be on cost of system performance or stability when choosing extreme values.

Possible entries for the sample format are: u8, s16le, s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be float32le, float32be, ulaw, alaw

Possible entries for the sample frequency are anything between 1 and 192000 Hz (choose sensible values!)

Save this file as ~/.pulse/daemon.conf or in it's original location (you need to be root then). In order for changes to take effect pulseaudio needs to be restarted with pulseaudio -k in a terminal, or by log out and log back in.


Above answer is correct, but it will change Pulse Audio settings only. This is how sound works on Linux:

App > Pulse Audio > ALSA > actual soundcard

  • Apps can do their own audio processing, although it's uncommon.
  • Pulse certainly does its own audio processings.
  • The later can also be said about ALSA.

So, changing Pulse Audio sample format and sample rate is just the FIRST step to be taken. You have to properly set up ALSA.

Now, I can't tell you how to do that. Not a single recent Ubuntu release allows you to change ALSA settings via configuration files. Apparently, ALSA will always resample everything to 48KHz/16bit and you're stuck to it. I must remind you that ALSA mixing and resampling algorithms are of very, very, low quality, similar to XP's KMixer.

That means: until someone makes it possible to change ALSA sample format and sample frequency on recent (2012/2013) Ubuntu distros, as you can change Pulse's, audio on Linux just SUCKS like hell!

Also, don't set sample rate to "maximum option available", that will do audio resampling and you don't want that! Set sampling rate according to what you hear. If a CD audio: 44.1KHz. If DVD: 48KHz. Bit depth instead should always be the highest available, whereas 24bit seems to be the highest the best cards can handle.

I recommend my YouTube video for more information. You can extract from it what's more useful for you.


In addition to the answer from Scott Stensland, which advises to edit the configuration file for the pulseaudio server, I also had to delete all of the files in ~/.config/pulse.

Source: Linux Mint Forums