On Thursday, 23 April 2020 20:01:51 BST Jorge Almeida wrote: > I need the "virtual" card to be the default, so I did this: > > pcm.mbcard{ > type hw > card PCH > device 1 > } > ctl.mbcard{ > type hw > card 0 > } > pcm.usbcard{ > type hw > card CODEC > device 0 > } > pcm.output{ > type plug > slave.pcm "mbcard" > } > pcm.input{ > type plug > slave { > pcm "usbcard" > channels 1 > } > } > pcm.!default{ > type asym > playback.pcm "output" > capture.pcm "input" > } > > (The microphone is mono, hence the channels entry. I'm not sure it is > needed.) > > I think this sets the defaults, because: > --I can record with "arecord -fdat test.wav" > --I can playback with "aplay test.wav" I'd think this is a good enough proof your audio setup works at a basic level. :-) > What I cannot do is to coax discord into working. Maybe discord > doesn't expect ALSA's defaults after all? > Anyone familiar with discord? (No gamers?) > > Thanks > > Jorge Applications can be rather particular regarding bitrate, bit sample formats, channel configuration and other options. I understand Firefox wants to have 48000Hz or it won't play. So, even if your DAC can do 96000Hz, you may need to specify a lower bit rate in the above config. The mic may also need specifying a particular endianess format and this may need to be different if you are using some websocket in FF, Vs the discord app directly. You could try S32_LE or S16_LE and various bit rates. The idea being to force alsa to use whatever format and rates the application may need/want, rather than passing through whatever the hardware is capable of.