0

I'm currently working on an Application which is observing the microphone's input, but at the same time has to be able to play a specific MP3 song via Loudspeakers. The problem I'm currently facing is that as soon as I play the MP3 back, the microphone of course recognizes this and gives me a lot more data back, due to the increased volume.

I need to cancel the echo of the MP3, I've tried Android's own AcousticEchoCanceller, but it did not work as it's not even available on neither my Nexus 7 nor my Nexus 4. Now I came to speex, but I'm not really familiar with the NDK, and I don't know how to embed this into my existing code.

So I found this: https://github.com/mutantbob/ndk-speex NDK-Speex with Java wrapper classes, but unfortunately the classes seem to only be for Encoding and Decoding sound in the Speex-format, which seems to not cancel any echos. I've read about extending the Java wrapper to add echo cancellation, but I can't find the right start point, could anyone point me in the right direction? Or should I take a different route to my goal?

damian
  • 2,001
  • 20
  • 38

1 Answers1

0

There are many good examples on how to use the NDK. Once you are familiar with the NDK, you can integrate any echo cancellation software that provides the best audio quality to your application.

Jim
  • 326
  • 1
  • 4