I have the following set-up with 3 USB audio devices - one for the output, the other is an input from my record player which I put on module-loopback, and the final one is a PS3 eye that I am trying to use as my default audio capture device for voice control.

cat /proc/asound/cards   
0 [K1             ]: USB-Audio - FiiO USB DAC K1 FiiO FiiO USB DAC K1 at >usb-3f980000.usb-1.4, full speed  
1 [CODEC          ]: USB-Audio - USB Audio CODEC Burr-Brown from TI USB Audio CODEC at usb-3f980000.usb-1.3, full speed  
2 [CameraB409241  ]: USB-Audio - USB Camera-B4.09.24.1 OmniVision Technologies, Inc. USB Camera-B4.09.24.1 at usb-3f980000.usb-1.5,

How do I set the PS3 eye as a microphone on alsa please? I have seen an example here that looks quite complicated - is this necessary or is something like this enough:

pcm.!default {
    type hw
    card 0

ctl.!default {
    type hw
    card 0

https://www.alsa-project.org/wiki/Setting_the_default_device says:

Find your desired card with:

cat /proc/asound/cards

and then create /etc/asound.conf with following:

defaults.pcm.card 1
defaults.ctl.card 1

Replace "1" with number of your card determined above.

If you are using PulseAudio, you should select the default there.

  • I saw that, but could you help clarifyt what's the differnce between pcm and ctl please. Also, how do I define selections for speakers and microphones, as they are on separate cards. – Zhao Mar 11 '19 at 7:44
  • pcm is for sounds, ctl for mixer controls. And there is only one default. – CL. Mar 11 '19 at 8:03
  • So there is no way to set a default microphone, and a default speaker? – Zhao Mar 11 '19 at 19:34
  • You can create a device with the asym plugin. – CL. Mar 11 '19 at 19:39
  • I found your previous answer: raspberrypi.stackexchange.com/questions/63072/…. Trying that now. – Zhao Mar 11 '19 at 19:45

Modifying both /etc/asound.conf or .asoundrc with any variant of the asymm module does not work. I suspect that there is some conflict between either of the inputs but have no way of confirming this. The simple solution, is to just swap the card numbers of the microphone and the audio input - this way the microphone input defaults to the card 1 instead of 2. Module loopback can then be called using the appropriate sink and source, e.g.

pactl load-module module-loopback source=2 sink=0

Would still be appreciated if someone can provide an alternative solution to this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.