Java Question Echo Cancellation libraries

KZero

Active Member
Licensed User
Longtime User
Hi,

I'm not sure if I should post this on Additional libraries or the questions section

Echo cancellation is a big hassle on Android and the built in AEC not working on most devices

I wrapped this two libraries
WebRTC Echo Cancellation
Speex Echo Cancellation

both libraries wrapped successfully but I couldn't figure out how to make them work probably to remove the echo so there is no example attached

it will be really helpful if anyone could make this work as there is no other AEC solution for B4A available yet.
 

Attachments

  • SpxAEC.zip
    295.8 KB · Views: 233
  • WrtcAEC.zip
    130.2 KB · Views: 210

Addo

Well-Known Member
Licensed User
Found some refrence on elemnating the echo here


But i have to set back and try, though i didn't realize the usage of the library
 

Addo

Well-Known Member
Licensed User
The webrtc echo cancelation library aren't ready enough to be used with audio streamer

It should be used in recording buffer event to filter the audio bytes from echoing.

But the wrapper you have made is taking shorts not bytes.. As well it will be a heavy task to convert bytes to shorts and shorts to bytes. I think the library should be adjusted to be compatible with audio frames as bytes that been captured in recording buffer event.
 

Addo

Well-Known Member
Licensed User
its seems when i use audio source 7 "VOICE_COMMUNICATION" the echo reduced when i test it on api 11 and above

B4X:
audiostream.Initialize2(7, "audiostream", cSAMPLE_RATE, True, cBitsPerSample, audiostream.VOLUME_MUSIC)

as the documentation refer in android developers website


i am not sure if you will have the same results
 
Top