[package]
name = "denoize"
version = "0.30.0"
edition = "2021"
rust-version = "1.87"
authors = ["KAORU <133386210+penguin425@users.noreply.github.com>"]
description = "Pure-Rust audio denoiser with classical DSP and optional RNNoise"
license = "MIT"
readme = "README.md"
repository = "https://github.com/penguin425/denoize"
homepage = "https://github.com/penguin425/denoize"
documentation = "https://docs.rs/denoize"
keywords = ["audio", "denoise", "dsp", "stft", "noise-reduction"]
categories = ["multimedia::audio", "science"]
include = [
"Cargo.toml",
"Cargo.crates-io.toml",
"Cargo.lock",
"LICENSE",
"README.md",
"THIRD_PARTY.md",
"src/**/*.rs",
"examples/**/*.rs",
"scripts/export-mpsenet.py",
"scripts/validate-mpsenet.py",
"scripts/export-bsrnn.py",
"scripts/export-mossformer2.py",
"scripts/validate-mossformer2.py",
"scripts/validate-bsrnn.py",
"scripts/export-sgmse.py",
"scripts/validate-sgmse.py",
"scripts/generate-cli-docs.sh",
"docs/cli.md",
]
[lib]
name = "denoize"
path = "src/lib.rs"
[[bin]]
name = "denoize"
path = "src/main.rs"
[dependencies]
hound = "3.5"
claxon = "0.4.3"
flacenc = "0.5.1"
ogg = "0.9.2"
opus = "0.3.1"
symphonia = { version = "0.6.0", default-features = false, features = ["aiff", "caf", "ogg", "vorbis", "alac", "isomp4", "pcm"] }
nnnoiseless = { version = "0.5.2", optional = true, default-features = false }
nanomp3 = "0.1.1"
shine-rs = "0.1.3"
oxideav-aac = "0.1.6"
mp4 = "0.14.0"
rubato = "0.16.2"
rayon = "1.11.0"
ebur128 = "0.1.10"
lofty = "0.24.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
ctrlc = "3.4.5"
sha2 = "0.10.9"
ureq = { version = "2.12.1", features = ["tls"] }
tract-onnx = { version = "0.22.3", optional = true }
rustfft = { version = "6.4", optional = true }
kaldi-native-fbank = { version = "0.1.0", optional = true }
audio_samples = { version = "2.0.1", optional = true, default-features = false }
audio_samples_qoe = { version = "0.1.3", optional = true }
ndarray-visqol = { package = "ndarray", version = "0.17.2", optional = true }
[features]
default = []
rnnoise = ["dep:nnnoiseless"]
onnx = ["dep:tract-onnx"]
mpsenet = ["onnx", "dep:rustfft"]
bsrnn = ["onnx", "dep:rustfft"]
mossformer2 = ["onnx", "dep:rustfft", "dep:kaldi-native-fbank"]
sgmse = ["onnx", "dep:rustfft"]
gtcrn = ["onnx", "dep:rustfft"]
visqol = ["dep:audio_samples", "dep:audio_samples_qoe", "dep:ndarray-visqol"]
full = ["rnnoise", "onnx", "mpsenet", "bsrnn", "mossformer2", "sgmse", "gtcrn", "visqol"]
[dev-dependencies]
prost = "0.11"
[package.metadata.docs.rs]
features = ["rnnoise", "mpsenet", "bsrnn", "mossformer2", "sgmse", "gtcrn", "visqol"]
rustdoc-args = ["--cfg", "docsrs"]
[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(feature, values("deepfilter", "live", "m4a-encode", "fdk-aac-encoder", "onnx", "mpsenet", "bsrnn", "mossformer2", "sgmse", "gtcrn", "visqol"))',
] }
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
panic = "abort"
strip = true
[profile.dev]
opt-level = 1