KZero Active Member Licensed User Longtime User Aug 7, 2021 #1 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 SpxAEC.zip 295.8 KB · Views: 675 WrtcAEC.zip WrtcAEC.zip 130.2 KB · Views: 628
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.
Addo Well-Known Member Licensed User Longtime User Sep 12, 2021 #2 Found some refrence on elemnating the echo here Android Audio and Video Echo and Noise Reduction (Android Audio Acquisition and Echo Cancellation) Audio and video is very nauseous for beginners when they first come into contact with this piece ~I make this piece myself and start from scratch. I also browse countless data and blogs on the Internet and try many ways. The general method on the ... www.fatalerrors.org But i have to set back and try, though i didn't realize the usage of the library
Found some refrence on elemnating the echo here Android Audio and Video Echo and Noise Reduction (Android Audio Acquisition and Echo Cancellation) Audio and video is very nauseous for beginners when they first come into contact with this piece ~I make this piece myself and start from scratch. I also browse countless data and blogs on the Internet and try many ways. The general method on the ... www.fatalerrors.org But i have to set back and try, though i didn't realize the usage of the library
Addo Well-Known Member Licensed User Longtime User Sep 13, 2021 #3 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.
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 Longtime User Sep 14, 2021 #4 its seems when i use audio source 7 "VOICE_COMMUNICATION" the echo reduced when i test it on api 11 and above B4X: Copy audiostream.Initialize2(7, "audiostream", cSAMPLE_RATE, True, cBitsPerSample, audiostream.VOLUME_MUSIC) as the documentation refer in android developers website MediaRecorder.AudioSource | Android Developers developer.android.com i am not sure if you will have the same results
its seems when i use audio source 7 "VOICE_COMMUNICATION" the echo reduced when i test it on api 11 and above B4X: Copy audiostream.Initialize2(7, "audiostream", cSAMPLE_RATE, True, cBitsPerSample, audiostream.VOLUME_MUSIC) as the documentation refer in android developers website MediaRecorder.AudioSource | Android Developers developer.android.com i am not sure if you will have the same results