# Audio artifacts (commpression noise)

**URL:** <https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070>\
**Category:** mediasoup libraries\
**Created:** [July 22, 2021, 10:53am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070 "2021-07-22T10:53:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kaplan](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/kaplan/32/1116_2.png) [@Kaplan](https://mediasoup.discourse.group/u/Kaplan)\
**Post date:** [July 22, 2021, 10:53am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/1 "2021-07-22T10:53:21Z")

</div>

Hi there,  
Sometimes I am experiencing “noise” in the audio coming from mediasoup (sounds like random compressed noise). I am starting the consumer paused server-side, and then unpausing it client-side once the client’s consumer is ready. I am creating an audio element in the client, and attaching the source .

Wondering if the issue is how I setup the producer codec:

```auto
this.micProducer = await this.producerTransport.produce({
        stopTracks: false,
        track: track,
        codecOptions: {
          opusStereo: 1,
          opusDtx: 1,
        },

```

or how I setup the receiving audio:

```auto
const stream = new MediaStream();
stream.addTrack(consumer.track);
...
..
let elem = document.createElement('audio');
elem.srcObject = stream;
elem.id = elemID;
elem.autoplay = true;

```

has anybody experienced this kind of random noise? and if so, how did you solve it?

---

<div class="post-metadata">

**Author:** ![ibc](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/ibc/32/1540_2.png) [@ibc](https://mediasoup.discourse.group/u/ibc)\
**Post date:** [July 22, 2021, 11:00am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/2 "2021-07-22T11:00:16Z")

</div>

mediasoup and mediasoup-client don’t deal with encoded audio so such a noise comes from the audio source.

---

<div class="post-metadata">

**Author:** ![Kaplan](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/kaplan/32/1116_2.png) [@Kaplan](https://mediasoup.discourse.group/u/Kaplan)\
**Post date:** [July 22, 2021, 11:52am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/3 "2021-07-22T11:52:13Z")

</div>

thanks @ibc… Understood, but the source is clean. I know that for a fact. May be the noise/compression sound I am hearing is due to the channel (i.e. packet loss, etc, or browser issue)

is codecOptions: { opusStereo: 1, opusDtx: 1 } good enough? I see other params here [mediasoup :: API](https://mediasoup.org/documentation/v3/mediasoup-client/api/#ProducerCodecOptions)

---

<div class="post-metadata">

**Author:** ![BronzedBroth](https://avatars.discourse-cdn.com/v4/letter/b/ad7895/32.png) [@BronzedBroth](https://mediasoup.discourse.group/u/BronzedBroth)\
**Post date:** [July 22, 2021, 5:31pm UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/4 "2021-07-22T17:31:02Z")

</div>

I’d not confuse browser audio-enhancements with packet-loss/lag so silly question…😃

Are you referencing echo acoustic cancellation that dubs background sound out (at times may muffle things)?

---

<div class="post-metadata">

**Author:** ![Normando](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/normando/32/1046_2.png) [@Normando](https://mediasoup.discourse.group/u/Normando)\
**Post date:** [July 22, 2021, 11:24pm UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/5 "2021-07-22T23:24:45Z")

</div>

Try `useDtx: false` (it’s boolean, not number)

Also try disabling `autoGainControl` and `echoCancellation`.

Client snippet code:

```auto
async function getUserMedia() {
  let stream;
  try {
    stream = await navigator.mediaDevices.getUserMedia({ audio: {
        autoGainControl: false,
        noiseSuppression: true,
        echoCancellation: false
      },
      video: false })
  } catch (err) {
    console.error('getUserMedia() failed:', err.message);
    throw err;
  }
  return stream;
}

```

Also test disabling `noiseSuppression`.  
Be careful, I use no video, only audio.

---

<div class="post-metadata">

**Author:** ![Kaplan](https://yyz2.discourse-cdn.com/free1/user_avatar/mediasoup.discourse.group/kaplan/32/1116_2.png) [@Kaplan](https://mediasoup.discourse.group/u/Kaplan)\
**Post date:** [July 23, 2021, 9:16am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/6 "2021-07-23T09:16:26Z")

</div>

THANKS!!! I think DTX was the culprit here (the compression noise) and also the autoGain on the getUserMedia seems to make the audio much cleaner

---

<div class="post-metadata">

**Author:** ![sxlvalue](https://avatars.discourse-cdn.com/v4/letter/s/e9a140/32.png) [@sxlvalue](https://mediasoup.discourse.group/u/sxlvalue)\
**Post date:** [May 20, 2024, 10:17am UTC](https://mediasoup.discourse.group/t/audio-artifacts-commpression-noise/3070/7 "2024-05-20T10:17:18Z")

</div>

The echo cancellation in WebRTC may not be ideal in some cases, and it requires client-side optimization for certain specific scenarios. Where can we start to solve similar issues?
