Skip to main content

How does noise cancellation work in android?


I came across this relatively old post which describes how impressively Nexus One's noise cancellation works and I was wondering where can I find more information about its implementation in the OS software.



In particular:



  1. How much of it is done using software and how much of it is done in hardware?

  2. Which modules in the Android source code are responsible for noise cancellation?

  3. Can I control its behavior via Android's API? (if so, which ones)

  4. Does it also work with the microphone in the headset that comes with Nexus One (4-pin 3.5mm jack) or does it work with the built-in microphone only?


Source: Tips4allCCNA FINAL EXAM

Comments

  1. About the Nexus One:


    All hardware only configuration in software.
    Sound drivers and sound system but only configuration.
    No API possibly some prop configuration but I haven't been able to get that to work.
    No, longer reply following.


    I haven't found any indication that it uses the other microphone to do noise reduction for the headset. It wouldn’t make much sense either as it would most likely just try to cancel out with the noise from your pocket.

    For most other android phones and for headset on the Nexus One I'm pretty sure that there is only some sort of filter to reduce input of sound that is not speech.

    I have done some research on this that I tried to get some help with on the android porting and dev lists. There is a little further info:

    http://groups.google.com/group/android-porting/browse_thread/thread/fe1b92065b75c6da?pli=1

    With the reservation that I haven't looked at the latest and greatest versions of android.

    ReplyDelete
  2. I only know the answer for the Nexus One, but:


    It's done in hardware.
    Not sure.
    Nope.
    Maybe?


    For the N1, it works using a second microphone in the back, and comparing the two signals. I don't know exactly how this process is done (hardware or software), but I know there isn't an API for it. Also, it probably doesn't work for the external headset, since there's no second sound source to compare the first one to (unless the headset has two mics too, but I don't think it does).

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?

Java Urban Myths

Along the line of C++ Urban Myths and Perl Myths : What are the Java Urban Myths? That is, the ideas and conceptions about Java that are common but have no actual roots in reality . As a Java programmer, what ideas held by your fellow Java programmers have you had to disprove so often that you've come to believe they all learned at the feet of the same drunk old story-teller? Ideally, you would express these myths in a single sentence, and include an explanation of why they are false.

CCNA 1 Final Exam 2011 latest (hot hot hot)

  Hi! I have been posted content of ccna1 final exam (latest and only question.) I will post the answer and insert image on sunday. If you care, please subscribe your email an become a first person have full test content. Subcribe now  Some question  have not content because this question have images content. So that can you wait for me? SUNDAY 1. A user sees the command prompt: Router(config-if)# . What task can be performed at this mode? Reload the device. Perform basic tests. Configure individual interfaces. Configure individual terminal lines. 2. Refer to the exhibit. Host A attempts to establish a TCP/IP session with host C. During this attempt, a frame was captured with the source MAC address 0050.7320.D632 and the destination MAC address 0030.8517.44C4. The packet inside the captured frame has an IP source address 192.168.7.5, and the destination IP address is 192.168.219.24. At which point in the network was this packet captured? leaving host A leaving ATL leaving...