nnnoiseless
nnnoiseless
is a rust crate for suppressing audio noise. It is a rust port of
the RNNoise
C library, and is based on a recurrent
neural network.
While nnnoiseless
is meant to be used as a library, a simple command-line
tool is provided as an example. It operates on WAV files or RAW PCM files.
Run
cargo install nnnoiseless
to install it (you might need to install rust first).
Once nnnoiseless
is installed, you can run it like
nnnoiseless input.wav output.wav
or, for more advanced usage, try
nnnoiseless --help
Safety
Except for the C API described below, nnnoiseless
is mostly written in safe
rust. It currently uses unsafe
in two places, to cast arrays of f32
s to
arrays of Complex<f32>
s with half the length; this delivers a small but
measurable performance improvement. If a future version of
RustFFT
has built-in support for
real-only FFTs, this unsafe code will be removed.
C API
It is possible to install nnnoiseless
as a library usable from C
, with an
RNNoise
-compatible header.