Configuring softvol in ALSA

5.3k views Asked by At

I have a problem with a USB Sound Card: I cannot change the volume with alsamixer. I created a file called .asoundrc in order to create softvolume control. I made a mess because the default device is just for playback, and now have 3 controls: Master, PCM and Capture, and should have one. I would like to revert that first, I already deleted the file, but those controls still there even if I reboot. Then I would like to add a softvol to the USB Sound Card. Here is a list of my lsusb:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 1130:f211 Tenx Technology, Inc. TP6911 Audio Headset

And this my list of devices listed by aplay -l command:

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: AUDIO [USB  AUDIO], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I found that I need to set something like this in my .asoundrc, but i'm not sure how is it in my case:

pcm.newdevice {
    type            softvol
    slave.pcm       "default"
    control.name    "Softmaster"
    control.card    0
}

I'm using Debian

UPDATE: I have the following Configuration: pcm.softvol { type softvol slave { pcm "hw:1,0" } control { name "Volume out" card 1 } }

pcm.!default { type plug slave.pcm "softvol" slave.channels 2 }

But now, I have two controls with the same name, even when each one are marked as Playback and Capture, I changes one and the another control changes too! How do I know that is not the same control? How can I have a control for the "Mic In" of the same device? I've tried copying the same as pcm.softvol section, but changing name to "Volume IN" and pcm "hw:1,1" and didn't work.

1

There are 1 answers

6
CL. On

The additional controls are saved in /var/lib/alsa/asound.state (or /etc/asound.state in other distributions). Unload the sound driver modules and then remove the entries from that file.

If you want to show the control up for the USB device, use card 1.

For the softvol control to have any effect, you must tell your application(s) to use device name newdevice.