Echo in the sound rooms between

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:

  1. 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.

  2. 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.

  3. 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.

@Flamingo_Live,

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.