ALSA set plughw as default

alsaaudiousb-audio

I have a USB audio device, configured as the default device at card 0.

I have a 3rd party application that is attempting to play wav files, which fail with the following:

Playing WAVE 'sound.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
aplay: set_params:1239: Channels count non available

If I try to manually play the very same wav, I get no error but also no sound:

aplay sound.wav
Playing WAVE 'sound.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

If I specify device plughw:0,0, the sound plays correctly!

aplay -D plughw:0,0 sound.wav
Playing WAVE 'sound.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

I have tried various attemps at configuring ~/.asoundrc to set plughw:0,0 as the default, without success.

How can I apply the -D plughw:0,0 be default to all sound playback?

Best Answer

Backup your ~/.asoundrc - if you have one - and add the following, to a new ~/.asoundrc:

pcm.!default { 
 type plug 
 slave { 
 pcm "hw:0,0" 
 } 
} 
Related Question