I have an echo in the sound rooms between the participants; the sound is repeated.
I need help with my sound chambers; my voice is echoing, buzzing, and repeating to others.
@Flamingo_Live, A few questions to triage:
-
Are both participants in the same physical room? If yes, what youโre hearing is
acoustic feedback(their mic picking up your voice from their speaker), not a LiveKit bug. Headphones on both ends, or putting them in separate rooms, resolves it instantly. -
If theyโre in separate spaces: share your LiveKit Android SDK version, the device models, and whether you have WebRTC echo cancellation enabled in your audio capture options. LK Android uses the standard WebRTC echo cancellation [Noise & echo cancellation | LiveKit Documentation] and the docs recommend keeping those WebRTC settings on.
-
Speakerphone, earpiece, or Bluetooth output? Speakerphone with mic AEC misconfigured is the most common echo source on Android.
A short audio clip of the echo attached to this thread (if you can capture one) also helps separate acoustic feedback from a codec or processing artifact.
Yes, 20 users in one acoustic room, and a strong echo and sound frequency.
@Flamingo_Live, Thatโs the actual issue. 20 mics in one acoustic room creates a feedback amplification loop that standard per-device AEC canโt solve. WebRTC AEC cancels one deviceโs own speaker out of its own mic [Noise & echo cancellation | LiveKit Documentation]. With 20 devices, each mic also picks up the other 19 speakers, gets transmitted upstream, replayed by all 19, picked up again, and gain compounds on every loop. The โstrong frequencyโ youโre hearing is the system finding a resonant frequency and ringing on it.
Immediate fix: designate one device as the roomโs mic, unpublish the local audio track on the other 19 (they still play received audio normally). Converts a 20-mic / 20-speaker room into 1-mic / 20-speaker, which is solvable. Alternative is headphones on everyone, which removes the speaker-to-mic feedback path entirely.
For a structural solution where each device still needs to be perceivable as an active participant, leader/client device coordination per acoustic room works.
I built and programmed this pattern at 100+ mobile devices in a single acoustic room (
2019 US patent: "Method and System for Teleconferencing Using Coordinated Mobile Devices", [ patents.justia.com/inventor/muhammad-usman-bashir ] ), replacing hardware Cisco conference phones with coordinated mobile-device hubs. One device handles upstream audio, the others are receive-only until the mic-selection algorithm hands the active mic to a different device. The selection algorithm is the load-bearing piece.
Happy to walk through what would fit your setup. DM your timezone if a call is easier.
When using Agora, the problem doesnโt occur. How can I contact you to resolve the issue?
@Flamingo_Live, sent you a DM to set up the call. If it didnโt land, you can DM me directly by clicking my profile pic.
I donโt quite understand what you mean by โWhen using Agoraโโฆ
There is not an out of the box solution for this. It is common for folks to mute their mic and share a common mic for this sort of use-case.
Over a year ago, I created a branch in the Meet repo to prototype a solution for something like this. The way I was exploring the issue was clients play an ultrasonic tone when entering the LiveKit room and listen for local ultrasonic signals during the call. If tones are detected, the clients coordinate via the data channel to elect the open mic. Or easier is have logic to mute all mics that detect the tones so users must unmute to talk.
I had varying mileage with this technique. I also experimented with encoding PWM in the tone for local signaling.
Another common option is change your client to be more of a push-to-talk sort of mode instead of the mic always being open.
There are a few other options, but maybe something like that helps you with paths to explore to solve your use case.
I would have this issue when guest did not wear headsets. Their audio, and my own, would reverb back through the mic. Using the Echo cancelation helps, but adds more to the cpu for transcoding it out. So, ask all my guest to wear headsets. Not sure if this has anything to do with this, but I know I had the echo issue, and that was why. Hope all has been worked out.