I want to push capture volume on my RPi3 with ALSA of my USB headset (microphone) over the limit that is, in my case, 6 dB. I tried every example i've found and the only reasonable way seems to be to create a preamplified channel with softvol plugin.

So i tried every configuration file i've found but i could not get it working. I cannot see any new channel on alsamixer.

The asound.conf file i'm using now is this:

pcm.!default {
  #Tried using both "plug" and "hw"
  type plug
  slave.pcm "softvol"
  slave.channels 1

pcm.softvol {
  type softvol
  slave {
    #Tried using "dmix" and "hw:1,0"
    #pcm "dmix"
    pcm "hw:1,0"

  # Add a control slider in your mixer interfaces
  control {
    name "PreAmp"
    card 1
    # i.e. card 0 or card 2

  # Minimum dB when slider is at 0%
  min_dB -6.0

  # Maximum DB when slider is at 100%
  max_dB 32.0

  # How many levels the slider should go through
  # i.e. how granular do you want your control to be
  resolution 6

1 Answer 1


Have you tried sox? you could do something like

rec -r 44100 - test.wav gain 6

but it amplify your signal last in the chain, as a effect, not sure how to amplify your main insert at the beginning, but still... same result

see here how to select sox record device for raspberry

  • I forgot to explain that i need to amplify at the source because i don't want to record but i need to stream the audio capture. Aug 30, 2017 at 13:11
  • You also can do this with sox, here how. And you stream the amplify signal, not dry one. Aug 31, 2017 at 11:32
  • I guess that increasing the volume with sox is no different than increasing it with softvol. Jan 18, 2019 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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