Skip to main content

rnnoise-cli

A CLI wrapper for the LADSPA plugin at https://github.com/werman/noise-suppression-for-voice. To be used with systems running PulseAudio (basically any Linux distro). This was written out of frustration that Discord+Krisp is unavailable on Linux. If you'd like a GUI alternative, check out Cadmus (as of May 2021, it has some issues and the developer seems to be MIA).

Installation

Install from PyPI:

pip install rnnoise-cli

Or install from source, see development.

Enabling shell completion

The click library offers tab completion for bash, zsh and fish, but it's not installed automatically.

If you downloaded the source, the Makefile can generate the relevant scripts after installing (run make help). Otherwise, generate a script as follows:

_RNNOISE_COMPLETE=bash_source rnnoise > rnnoise_completion.sh

You can replace bash_source with zsh_source or fish_source for other shells. The generated script should be sourced from .bashrc/.zshrc/~/.config/fish/completions/rnnoise.sh.

See the click documentation for more info.

Usage

rnnoise activate

It will show a list of eligible input devices and prompt you to select one.

You can use --control to set the control level. Control level 0 means only try to filter noise and never cut to silence, 100 means silence unless RNNoise is 100% sure you're talking. The default of 50 means that if RNNoise determines the probability that you're talking to be below 50%, the output will be silent. Your strategy should be to start at the default of 50 and go up if it blocks too little or down if your voice is cutting out while talking.

A new input option named "RNNoise Denoised Microphone" should now be available to your system.

Check out rnnoise --help for more commands.

Configuring defaults

Defaults are optionally loaded from ~/.config/rnnoise_cli/rnnoise_cli.conf. These settings are overridden by the corresponding options when provided (e.g. --device, see rnnoise --help).

Example config with currently supported options:

[activate]
# device to use, omitted by default
# `rnnoise activate` will prompt for it if omitted (and provide a list of options)
device = some.device.name
# control level (0-100), 50 by default
control = 50

Development

The project should work with any Python ≥ 3.7.

Create a virtual environment:

python3 -m venv venv
# activate or alternatively configure IDE (e.g. PyCharm) to use the env's interpreter
source venv/bin/activate

Install dev requirements:

# this runs pip install -r requirements.txt
make init

Credits

Release files for rnnoise-cli 1.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rnnoise-cli 1.0.3
File Size Uploaded
rnnoise-cli-1.0.3.tar.gz 145.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rnnoise-cli 1.0.3
File Interpreter ABI Platform
rnnoise_cli-1.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 291.1 kB

Release files / rnnoise-cli-1.0.3.tar.gz

Download URL rnnoise-cli-1.0.3.tar.gz
Size 145.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ecc30c0ba95315d5a78d911cf22be5a0bf710714808dc3be1a4c2df7acb68c0a
BLAKE2b-256 checksum
How to use checksums
68a9e34c7b99b32714ed7599d2491964894638f2d76860c62ae214e903f3bdc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

Release files / rnnoise_cli-1.0.3-py3-none-any.whl

Download URL rnnoise_cli-1.0.3-py3-none-any.whl
Size 145.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
721560328dd3d999abf799b55b2bf189a14fa6d097a51738ac7e151e08a46299
BLAKE2b-256 checksum
How to use checksums
3f5a9d6b8f9498a28ecdb63dfd6f7c88ff520f6125202cdff3626bd94c91c6f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10

Release history Release notifications | RSS feed

This release

1.0.3 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page