Thursday, November 1, 2012

Speakerphone Echo on the Samsung Fascinate

Some of you may recall a year or so ago when I released a hacked-up version of the Glitch kernel for CyanogenMod 7 on the Samsung Fascinate. In this kernel was my first of many successful shots at fixing that phone / ROM combination's abysmal in-call audio quality.  Some of you may also remember that the kernel I released made the phone unbearably loud.

Since then, I've released a few more patches, and they've found their way into most, if not all kernels for MTD ROMs for the Galaxy S line of products. The major improvement over that initial release is that the "boost levels" are configurable now.  Thanks to The Immortal JT1134, there is now on most ROMs a nice application to modify these parameters, allowing you to adjust them pretty much on-the-fly.

My In-Call Volume Settings
note the values for Speakerphone
One draw back, though, is that in some distributions, the default settings aren't ideal - especially when the Fascinate's speakerphone is used. This results in an unpleasant echo heard by the person on the other end of your conversation whenever they talk. I've posted to the forums dozens of times about this issue, yet it keeps coming up as a new question no-one can find the answer to.  Therefore, this post.

The speakerphone echo is caused by a combination of too high of a boost in the speakerphone call audio plus too high of a microphone gain in speakerphone mode. Both of these can be adjusted in a few places, but my preferred method is to use the Home Screen -> hit the menu button -> "System Settings" -> "Device Options" -> "In-Call Volume Controls" path.

Once you've got that open, adjust your "Speakerphone Volume" setting down to 1. Some people prefer 0. 2 will almost certainly cause echo. 3 will give you echo with severe distortion and probably melt your eardrums while causing a significant space-time anomaly in your fridge which will immediately consume all your beer, sending it back to 1955. You've been warned.

Next, adjust your speakerphone mic gain down some. I've found that 14 is a good value. Some may prefer slightly more or less. I've found that anything above 19 usually results in an echo. You'll just have to play with this one. If you have it above, say, 25, then you will almost certainly get some echo along with over-modulation, and the kernel will freak out and send an email to your parents and grandparents with your entire collection of nasty sheep porn attached. You've been warned.

Finally, make sure you hit OK, or all these settings will not be applied. They *should* stick after a reboot. Mine do.