Skip to main content

Command Palette

Search for a command to run...

denoiser - Clean audio for Dev Screencasts Without a Soundproof Room

Updated
2 min read
B
I build CLI tools and developer productivity scripts in Python and Rust.

The Problem

If you've ever recorded a screencast or a demo video, you've probably experienced this: you play it back and all you can hear is the hum of your pc, the fan in the background, or streetnoise bleeding through your window. Fixing it means either buying expensive equipment, building a makeshift soundproof setup, or just putting out bad audio and hoping nobody notices. None of these are good options. denoiser is a simple CLI tool that cleans your audio in one command.


What denoiser Does

denoiser takes your video file, builds a noise profile from a short sample of background noise at the beginning, and uses that profile to strip the noise from the entire recording. The result is cleaner audio without touching your recording setup.


How It Works Under the Hood

Under the hood, denoiser uses the noisereduce library to do the heavy lifting. It samples a configuration duration of audio from the start of your file, defaulting to the first 2 seconds, treats that as the noise floor, and applies spectral gating across the full track to suppress it. The --prop-decrease flag controls how aggressively the noise is reduced.


Installation

git clone https://github.com/mg4603/denoiser.git
cd denoiser
pipx install .

Basic Usage

denoiser denoiser input.mp4 output.mp4

That's it. Default work well for most recordings.


The Flags Explained

  • --noise-reduce (default: 2.0): how many seconds from the start of the file are used to build the noise profile.
  • --prop-decrease (default: 1.0): how aggressively noise is reduced. 1.0 is full suppression. If output sounds hollow or over-processed, try 0.7 or 0.8.
denoiser denoise --noise-duration 1.5 --prop-decrease input.mp4 output.mp4

Get the Code

The full source is on GitHub. If this saves you a reshoot, git it a star.