Skip to main content

Denoise WAV audio using RNNoise, DeepFilterNet, and FacebookResearch Denoiser.

Project description

denoise-audio

A CLI tool for denoising WAV audio with 3 leading backends:

  • rnnoise (fast, CPU-only, low-latency)
  • deepfilternet (high-quality full-band denoising)
  • fbdenoiser (FacebookResearch Denoiser / causal Demucs; strong enhancement)

Inputs/outputs are WAV files. If your audio is not WAV, convert it first.


Install uv

Install uv using Astral’s standalone installer:

https://docs.astral.sh/uv/getting-started/installation/#standalone-installer

Verify:

uv --version

Install dependencies

git clone https://github.com/Surya-Rayala/denoise-audio.git
cd denoise-audio
uv sync

CLI usage

Run everything with uv run to ensure you’re using the project environment:

Global help

uv run python -m denoise --help

List available backends

uv run python -m denoise --list-models

Model-specific help

Pass --model <name> and --help to see only that backend’s options:

uv run python -m denoise --model rnnoise --help
uv run python -m denoise --model deepfilternet --help
uv run python -m denoise --model fbdenoiser --help

Basic command (all models)

uv run python -m denoise --model <model> --input <in.wav> --output <out.wav>
  • <model> is one of: rnnoise, deepfilternet, fbdenoiser
  • --input and --output must be WAV files

Models

RNNoise (--model rnnoise)

Basic command

uv run python -m denoise --model rnnoise --input <in.wav> --output <out.wav>

Arguments

  • --rnnoise-sample-rate <int>: Force the RNNoise wrapper sample rate. If omitted, the tool infers the sample rate from the input WAV (recommended).

DeepFilterNet (--model deepfilternet)

Basic command

uv run python -m denoise --model deepfilternet --input <in.wav> --output <out.wav>

Arguments

  • --df-model <name>: Select which pretrained DeepFilterNet model to load. Common options: DeepFilterNet, DeepFilterNet2, DeepFilterNet3.
  • --df-pf: Enable the post-filter (can reduce residual noise; may sound more aggressive in very noisy sections).
  • --df-compensate-delay: Add padding to compensate processing delay (useful when you need better alignment with the original audio).

FacebookResearch Denoiser (--model fbdenoiser)

Basic command

uv run python -m denoise --model fbdenoiser --input <in.wav> --output <out.wav>

Arguments

  • --fb-model <name>: Choose the pretrained model:
    • dns48: pre-trained real time H=48 model trained on DNS
    • dns64: pre-trained real time H=64 model trained on DNS
    • master64: pre-trained real time H=64 model trained on DNS and Valentini
  • --fb-device <device>: Inference device, e.g. cpu or cuda. If omitted, it automatically uses CUDA if available, otherwise CPU.
  • --fb-dry <float>: Dry/wet mix (0.0 = original input only, 1.0 = denoised output only). Values outside [0.0, 1.0] are clamped.
  • --fb-streaming: Enable streaming mode (flag is accepted by the CLI).
  • --fb-batch-size <int>: Batch size (flag is accepted by the CLI).
  • --fb-num-workers <int>: Number of workers (flag is accepted by the CLI).
  • --fb-verbose: Enable verbose logging (flag is accepted by the CLI).

Updating from Git

If you’re using the repo locally with uv sync + uv run, updating to new code from Git is:

cd denoise-audio
git pull
uv sync

If you have local changes and git pull refuses

Use one of these (pick what you intend):

  • Keep your local changes and rebase on top:
git pull --rebase
uv sync
  • Discard local changes and reset to remote (⚠️ destructive):
git fetch origin
git reset --hard origin/main
uv sync

License

This project's source code is licensed under the MIT License.

Note on Dependencies: This tool relies on the denoiser library (Facebook Research), which is licensed under CC-BY-NC 4.0 (Non-Commercial). Consequently, this tool as a whole is suitable for research and personal use only, unless you obtain a commercial license for the denoiser dependency.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

denoise_audio-0.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

denoise_audio-0.1.0-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file denoise_audio-0.1.0.tar.gz.

File metadata

  • Download URL: denoise_audio-0.1.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for denoise_audio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8a9f4857b40d9f0595a83fea14b6c93f8ee343fc3b2ed8ec41bf276ed6767733
MD5 e1d224c022c0de8b7637546f272addac
BLAKE2b-256 27cc90479ee36668b912abf0c466f04ddbb86132384507ac51ec8e4303859be7

See more details on using hashes here.

File details

Details for the file denoise_audio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: denoise_audio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for denoise_audio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20e505af05cd4da5432ec6f03ebf5c7d4b041e12698149fbd3b6764ee555815f
MD5 d3dea3ccb9cce39f833580d66bebe949
BLAKE2b-256 ef1d17d428deb483c5e835cd75bec6086a17ea0aafcafa4ca04f4282cf3ca5eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page