[alsa-devel] Maximum 50 dB gain in ALSA softvol plugin

Ricard Wanderlof ricard.wanderlof at axis.com
Mon Jan 15 15:32:13 CET 2018


On Mon, 15 Jan 2018, Takashi Iwai wrote:

> > The usecase we have actually calls for 55 dB of gain maximum, but I was 
> > thinking that looking at the code the maths can actually handle 90 dB so 
> > it would be good 'reasonable limit' - it's a nice round number and fits in 
> > 16 bits (signed).
> > 
> > The usecase we have is using digital MEMS microphones ((2S connected, 
> > with no integral amplification) and when the sound source is far away, a 
> > fair amount of gain can be needed.
> 
> But why do you need 90dB?  "Because it can" is no good reason to
> increase such a safe limit.

No, I don't need 90 dB. The specific usecase I have calls for 55 dB, so I 
could of course just change the maximum from 50 to 55 dB. Or perhaps with 
a bit of margin, such as 60 dB or 70 dB.

They way I see it though, softvol is just an amplifier component. It's up 
to the user to use it for whatever purpose they want. And there is no 
inharent danger in allowing large gains, as the signal will just clip at 
full scale, it's not like having a power amplifier with infinite power 
resources. So the upper limit should be bound by something technical, like 
an internal processing stage overflowing, which is why I suggested 90 dB, 
as it is at slightly more than 90 dB that a 16 bit signed short overflows, 
16-bit shorts being part of the current set of calculations in the 
MULTI_DIV_ macros. So 90 dB seemed to me a limit that is related to the 
technical limitations of the algorithm employed.

Note that I'm not suggesting changing the default gain range which I 
believe is -50 to 0 dB. In order to utilize the large gain, someone must 
purposefully enter a 'max_dB' value in /etc/asound.conf and then set the 
gain to that value, so there would seem little risk of setting a large 
gain by mistake.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30


More information about the Alsa-devel mailing list