VoIP on Android – volume control
- On January 16, 2016
In our previous posts we covered few of the difficulties that Android VoIP developers are facing – for example the challenge in providing high quality echo cancellation. In addition to the echo cancellation, the variety of hardware platforms that are running Android also introduces a challenge in controlling the volume of the voice.
Volume too low
On many devices, the power of the speakers is not sufficient to enable a comfortable conversation. In these cases, the VoIP developers find themselves in the need to amplify the volume of the incoming voice to enable a comfortable conversation. In some cases the signal needs to be amplified to nearly saturation in order to compensate on the low power of the speakers. To solve this problem, a good AGC (Automatic Gain Control) is required. In addition, an integrated noise-reduction algorithm is required to make sure the amplified signal does not contain ambient noise.
Volume too high
On few devices, the speakers produce a very loud voice. This for itself is not a problem, but if as a result the audio that is captures by the microphone becomes saturated and shrill this will significantly reduce the quality of the call. Moreover saturated echo impact the quality of the AEC (Acoustic Echo Cancellation).
Too Sensitive Microphone
If the volume is not low and the microphone is too sensitive, some devices might pick-up saturated and shrill echo. As discussed earlier this effect will badly impact the overall quality of the call.
Make sure you are using an audio package that gives you a solution for AGC integrated with noise reduction, and real-time motoring capabilities. Start a call with the best initial parameters reflecting both phone-specific tested values and general known values. Once the call starts, with the help of your audio package, monitor the real-time values of echo and saturation so you can modify your initial parameters accordingly. You can then store the updated parameters for future use on this phone.