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

Takashi Iwai tiwai at suse.de
Mon Jan 15 15:41:34 CET 2018


On Mon, 15 Jan 2018 15:32:13 +0100,
Ricard Wanderlof wrote:
> 
> 
> 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.

Sure, the default shouldn't be changed, otherwise we'll hit many
complaints :)

OTOH, the amplification in softvol is really dumb, and such a high
gain like 90dB is doubtful whether it's really useful.  As Jaroslav
already suggested, we need a better setup to get more meaningful
results.


Takashi


More information about the Alsa-devel mailing list