Noise reduction using ffmpeg rnnn model
Project description
vidtoolz-rnnn
Noise reduction using ffmpeg rnnn model
Installation
First install vidtoolz.
pip install vidtoolz
Then install this plugin in the same environment as your vidtoolz application.
vidtoolz install vidtoolz-rnnn
Usage
type vid rnnn --help to get help
Basic Usage
# Basic usage with explicit output
vidtoolz rnnn -i input.mp3 -o output.wav -m bd --mix 0.6
# Automatic output filename generation
vidtoolz rnnn -i input.mp3 -m lq
# With custom mix ratio
vidtoolz rnnn -i input.mp3 -o output.wav -m mp --mix 0.8
Command Line Arguments
-
-i INPUT_AUDIO, --input_audio INPUT_AUDIOPath to input audio file (e.g. mp3, wav) - Required -
-o OUTPUT_WAV, --output_wav OUTPUT_WAVPath to output WAV file - Optional (auto-generated if not provided) -
-m {bd,cb,lq,mp,sh}, --model {bd,cb,lq,mp,sh}RNNoise model to use. Available models: bd, cb, lq, mp, sh - Required -
--mix MIXWet/dry mix ratio (0.0 = original, 1.0 = fully denoised) - Optional (default: 0.6)
Available Models
The plugin automatically discovers available RNNoise models from the models directory:
- bd - beguiling-drafter-2018-08-30
- cb - conjoined-burgers-2018-08-28
- lq - leavened-quisling-2018-08-31
- mp - marathon-prescription-2018-08-29
- sh - somnolent-hogwash-2018-09-01
Examples
# Denoise a podcast recording with studio model
vidtoolz rnnn -i podcast.mp3 -m sh -o podcast_clean.wav
# Clean up a noisy street interview
vidtoolz rnnn -i interview.mp3 -m mp --mix 0.7
# Process multiple files (bash loop)
for file in *.mp3; do
vidtoolz rnnn -i "$file" -m cb
done
RNNoise Model Suitability Summary
| Suite / Model Name | Recording Environment | Noise Level | Includes Non-Speech Sounds (cough, laugh, music) | Best Use Cases | When NOT to Use |
|---|---|---|---|---|---|
| somnolent-hogwash-2018-09-01 | Clean / reasonable | Low | ❌ No | Studio voice, podcasts, audiobooks, narration, clean travel vlogs | Very noisy scenes, crowd, traffic |
| beguiling-drafter-2018-08-30 | Reasonable (fan, AC, PC noise) | Low–Medium | ⚠️ Yes (light) | Home recordings, YouTube voiceovers, interviews | Heavy noise, music-heavy background |
| conjoined-burgers-2018-08-28 | Reasonable → moderately noisy | Medium | ✅ Yes | General-purpose denoising, mixed environments | Extremely noisy environments |
| marathon-prescription-2018-08-29 | Noisy | Medium–High | ✅ Yes (music, cough, laugh) | Vlogs, street recordings, travel audio, public places | Clean studio voice (may over-denoise) |
| leavened-quisling-2018-08-31 | Very noisy | High | ✅ Yes | Traffic, crowds, cafés, trains, outdoor speech | Clean or semi-clean audio (can sound robotic) |
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd vidtoolz-rnnn
python -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
python -m pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vidtoolz_rnnn-0.1.0.tar.gz.
File metadata
- Download URL: vidtoolz_rnnn-0.1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b27c865f688fb71a44dee67e85fd8d97750358d7a67d0314682f91c5204c1803
|
|
| MD5 |
fde8afe992c204c9e2926b292fed750e
|
|
| BLAKE2b-256 |
553974b635f9971ffa3d86169913b79025a01a27ffa8fda4c5f69613bdd01f66
|
Provenance
The following attestation bundles were made for vidtoolz_rnnn-0.1.0.tar.gz:
Publisher:
publish.yml on sukhbinder/vidtoolz-rnnn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vidtoolz_rnnn-0.1.0.tar.gz -
Subject digest:
b27c865f688fb71a44dee67e85fd8d97750358d7a67d0314682f91c5204c1803 - Sigstore transparency entry: 1203577702
- Sigstore integration time:
-
Permalink:
sukhbinder/vidtoolz-rnnn@72ba9a5cdab380694d0be75b003867077911b796 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/sukhbinder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@72ba9a5cdab380694d0be75b003867077911b796 -
Trigger Event:
release
-
Statement type:
File details
Details for the file vidtoolz_rnnn-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vidtoolz_rnnn-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f098e21b1af6304ba40d6c9e7d3005ceee22059f8f7688d861768696032a1c7
|
|
| MD5 |
6be3294f9dea7a0e1e6c08cc0c5deb78
|
|
| BLAKE2b-256 |
36be556634e814a038d13e343c28de2b6196c8a75a48b4932cbb7737ebd0d6d3
|
Provenance
The following attestation bundles were made for vidtoolz_rnnn-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on sukhbinder/vidtoolz-rnnn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vidtoolz_rnnn-0.1.0-py3-none-any.whl -
Subject digest:
9f098e21b1af6304ba40d6c9e7d3005ceee22059f8f7688d861768696032a1c7 - Sigstore transparency entry: 1203577706
- Sigstore integration time:
-
Permalink:
sukhbinder/vidtoolz-rnnn@72ba9a5cdab380694d0be75b003867077911b796 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/sukhbinder
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@72ba9a5cdab380694d0be75b003867077911b796 -
Trigger Event:
release
-
Statement type: