[HD2 Android NAND Development] memin1857:
Voice echo

EDIT:

Please check this post, try the acdb file there and give feedback here please whether it fixes echo or not:

http://xdaforums.com/showpost.php?p=17997557&postcount=330

-----original post below------

If people you are talking to don't complain about hearing their own voices (echo) don't bother the following lines:

Some of you may know that I was having voice echo at the remote party problem. I know almost nobody have the problem but since it made my phone talking miserable I have dug deep in the "voice echo on the remote end" thing and here are my findings:

- The mic gain does not affect the voice echo at all! It just makes echo louder or softer along with your voice

- The in-call-volume affects the voice echo! It is now proved that HD2 mic picks up the sound from its own speaker through the case.

- It does not only happen with my phone so I can say it is not only due to having my lcd replaced. I thought maybe the service center did not reassemble my speaker/mic well. But no, friends have it too.

- If In-call-volume is kept at medium (which still has quite enough volume for me to hear) there is NO echo even with 500 gain. (when in-call-volume is at max, there is echo when gain is over 300, and even with 300 echo is still present just much softer)

- I am a telecommunications expert and I know all the telecommunications equipment used by gsm operators have hardware echo cancellers on board, which work usually well, but not always. This would explain why only me and my friends on the same network are having voice echo, but not many people on the forum.

- How the echo canceller circuit behaves is affected by actual background noise, amount of pick up, and delay/loudness of echo compared to real voice. They usually work quite well, but don't work at all if the characteristics of current echo is out of the range it works. This is exactly what is happening.

- Actually if you make mic gain low, you may actually end up with echo not being cancelled because it is not detected.

- I tried to compare old kernel with htcleo.acdb to new kernel with similar gain and found new kernel seem to have more echo, BUT I believe this is because with default.acdb the handset speaker is actually louder in the same setting.

Those were my findings, and the following are my questions, if somebody has definite knowledge about this, please reply, don't reply if you don't know the answers professionally.

1) For example, Google Nexus One phone has two microphones, one of them at the top for noise cancellation. I know it affects echo too. Is there any code in our kernel what relates to a second mic, or hardware echo cancellation?

2) Is there AGC (auto gain control) in Android? Or in Winmo 6.5?

3) Yes, keeping in-call-volume at medium gets rid of echo and have enough volume but in speakerphone this does not work, because back speaker is much more powerful and you can't get rid of echo when it is enabled. (at least with our operator) This means our speakerphone mode is still unusable :(

What I believe is, HD2 Android implementation has a chronic echo problem but it is cancelled/corrected by most network operator equipment. This does not work for us though, Turkcell in Turkey. Do you have ANY thought on this matter? I don't think the echo would originate in our phones digitally, I think we are missing something which should cancel the natural acoustic echo that is originating from our own mic picking up our own speaker sound.

IN SHORT: IF you have voice echo on remote end, reduce YOUR phones in-call-volume with the volume buttons on the side of your hd2, and the voice echo should disappear, making your friends happy.

If you don't have the echo, just be happy :)