Meeting SDK: Avoiding acoustic feedback when processed audio is played back outside the Zoom client

[Setup]

We run a bot that joins meetings via the Meeting SDK and does two things:

  1. Captures meeting audio through the raw audio data callbacks.
  2. Injects processed audio back into the meeting as a participant, using the virtual audio mic.

The processing is real-time speech translation, so the injected audio is speech in another language, carrying some added latency relative to the original. Some users hear that translated audio played back through a separate application running outside the Zoom client.

[Problem]

We’re hitting an acoustic feedback loop.

If a participant listens to the externally played audio on open speakers rather than headphones, their microphone picks it up. Zoom transmits it as that participant’s normal mic audio, our bot captures it through the raw audio callbacks, translates it again, and re-injects it — a self-sustaining loop with compounding latency and degraded output quality.

Because playback happens outside the Zoom client, the client’s acoustic echo canceller has no reference signal for that audio and cannot suppress it. From Zoom’s perspective it is indistinguishable from the participant genuinely speaking.

[Questions]

  1. Does the SDK expose any way to supply an external reference signal to the Zoom client’s echo canceller?
  2. Is there any way to mark injected or inbound audio so that it’s excluded from a participant’s outbound mic stream (loopback suppression)?
  3. Are there SDK-side audio settings that materially change behaviour here?

@tajos.si

You might want to playback the translated audio with a Zoom App instead of Meeting SDK raw audio send, this might work for Zoom Client, but not necessary Meeting SDK client as not all Meeting SDK platform supports Zoom Apps

@chunsiong.zoom
Thank you for your reply.

We have already tried audio playback through a Zoom App. However, our workflow requires us to inject audio to multiple specific audio channels, which is not supported by the Zoom Meeting SDK for Linux according to our investigations. This is why we instead created an external web application for audio playback.