i’m in yur analog gain, controlling it

Longish day, but I did want to post something fun before going to sleep — I just pushed out patches to hook up the WebRTC folks’ analog gain control to PulseAudio. So your mic will automatically adjust the input level based on how loud you’re speaking. It’s quite quick to adapt if you’re too loud, but a bit slow when the input signal is too soft. This isn’t bad, since the former is a much bigger problem than the latter.

Also, we’ve switched to the WebRTC canceller as the default canceller (you can still choose the Speex canceller manually, though). Overall, the quality is pretty good. I’d do a demo, but it’s effectively had zero learning time in my tests, so we’re not too far from a stage where this is a feature that, if we’re doing it right you won’t notice it exists.

There lot’s of things, big and small that need to be added and tweaked, but this does go some way towards bringing a hassle-free VoIP experience on Linux closer to reality. Once again, kudos to the folks at Google for the great work and for opening up this code. Also a shout-out to fellow Collaboran Sjoerd Simons for bouncing ideas and giving me those much-needed respites from talking to myself. :)

2 Comments

Add yours

  1. Sorry, but i have unrelated question regarding pulseaudio.

    Is there is any ways to adjust audio volume during mixing? No idea why, but all thinkpads X series have terribly low speaker volumes. In windows with which laptop came, sound was way louder so i assume they increasing volume somehow on software level. Probably PA provides similar option?

    • This sounds like we’re not seeing the full volume range of your device. Either that’s a problem with how PulseAudio is discovering your mixers or in the ALSA driver. To start with, you should run a recent kernel and PulseAudio and see if the problem persists.

      If you have the time, you can even debug further as described here — http://pulseaudio.org/wiki/BadDecibel

      If not, do file a bug so that this can be tracked (the output of alsa-info is the basic information people would need to follow up).

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.