I created a command line tool to help test the automatic gain control module. The intended use is
- First, record several samples of yourself talking with your microphone (using, say, Audacity), saving these as sound files
- Try the command line version of this program on the sound file with different gain settings.
- Open the original file (eg, in Audacity) and the resulting file
- Compare the two files -- first visually to see if the wave envelopes look reasonable -- or if parts of speech are chopped off
- Play each the two files back (muting the other file first!) to compare the sound quality and loudness.
My goal was to make our voice sound as good as it could without it sounding like we've processed it.
If you feel that these settings don't quite make all the adjustments you need, you can modify the source code. The GainAnalysis.cs and GainControl.cs are the copies of two files that are used in the main Skype Sidetone project. You can modify the control
loops damping, add more sophisticated logic or other choices, and then evaluate how well they work on your voice.
(For purpose of regression testing, I suggest you keep the original recordings around for future testing)