How to Reduce Noise

Background noise reduction and hum removal for your media.

If you have unwanted noise in your media, how do you get rid of it?

The Dolby.io Enhance API can help with an intelligent approach to noise management. There are multiple elements to the algorithm:

  • noise reduction
  • speech isolation
  • hum reduction

With noise reduction, stationary background noise is suppressed. With speech isolation, speech is made louder relative to non-speech sounds. The presence of dialog is brought forward to make it more pronounced. With hum reduction, annoying background hum frequencies are identified and removed. In the Quick Start to Enhancing Media you can follow the steps for processing your own media.

Tuning Noise Reduction

The default parameters try to balance noise reduction and speech isolation while also identifying other prominent impurities.

By default, a medium amount of noise reduction is applied based on the level of noise relative to the signal. If you don't like the result you can adjust the noise reduction amount parameter to a fixed setting. For example, you can apply very aggressive stationary noise reduction by setting the amount to max. You can also dial it back if you discover noise reduction creates artifacts, ghosting, or constrained vocal tones.

{
  "input": "s3://dolbyio/public/shelby/airplane.original.mp4",
  "output": "dlb://out/airplane.max-noise-reduction.mp4",
  "content": {
    "type": "mobile_phone"
  },
  "audio": {
    "noise": {
      "reduction": {
        "amount": "max"
      }
    }
  }
}

Increasing Speech Isolation

In addition or as an alternative to noise reduction, the Enhance API can be used to isolate and boost speech. Any nuisances not attributable to speech or dialog will be suppressed. The amount refers to how aggressive the processing should be. By default for most media, the range will fall in the 20-80% range.

If you use a setting closer to the extremes you can focus more clarity on the speech itself. Here's an example:

{
  "input": "s3://dolbyio/public/shelby/airplane.original.mp4",
  "output": "dlb://out/airplane.max-speech-isolation.mp4",
  "audio": {
    "speech": {
      "isolation": { "enable": true, "amount": 100 }
    }
  }
}

Disabling Other Processing

In some cases you may want speech to be amplified and all other sounds reduced, but without impacting the vocal performance. In this next example, several parameters are disabled to show the speech isolation with minimal other processing. Using speech isolation can have unintended effects such as attenuating non-speech sounds like music, so you may adjust the value accordingly.

{
  "input": "s3://dolbyio/public/shelby/airplane.original.mp4",
  "output": "dlb://out/airplane.max-speech-isolation.mp4",
  "content": {
    "type": "voice_recording"
  },
  "audio": {
    "loudness": { "enable": false },
    "dynamics": { "range_control": { "enable": false } },
    "filter": { "high_pass": { "enable": false } },
    "noise": { "reduction": { "enable": true } },
    "speech": {
      "sibilance": { "reduction": { "enable": false } },
      "isolation": { "enable": true, "amount": 100 }
    }
  }
}