[package]
edition = "2021"
rust-version = "1.85"
name = "ruststft"
version = "0.4.0"
authors = [
"Maximilian Krüger <kruemaxi@gmail.com>",
"Markus Mayer <widemeadows@gmail.com>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Short-time Fourier transform (STFT) and inverse STFT: streaming and batch spectrograms, a rich window library, mel spectrograms and MFCCs."
homepage = "https://github.com/sunsided/stft"
documentation = "https://docs.rs/ruststft"
readme = "README.md"
keywords = [
"dsp",
"fft",
"stft",
"spectrogram",
"mfcc",
]
categories = [
"science",
"multimedia::audio",
"mathematics",
"no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/sunsided/stft.git"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
mel = []
ndarray = [
"dep:ndarray",
"std",
]
rayon = [
"dep:rayon",
"std",
]
serde = ["dep:serde"]
std = [
"dep:realfft",
"num-traits/std",
"num-complex/std",
]
wasm_simd = [
"std",
"realfft/wasm_simd",
]
[lib]
name = "ruststft"
path = "src/lib.rs"
[[example]]
name = "mfcc"
path = "examples/mfcc.rs"
required-features = ["mel"]
[[example]]
name = "roundtrip"
path = "examples/roundtrip.rs"
[[example]]
name = "spectrogram"
path = "examples/spectrogram.rs"
[[test]]
name = "lib"
path = "tests/lib.rs"
[[test]]
name = "proptests"
path = "tests/proptests.rs"
[[bench]]
name = "lib"
path = "benches/lib.rs"
harness = false
[dependencies.ndarray]
version = "0.16.1"
features = ["std"]
optional = true
default-features = false
[dependencies.num-complex]
version = "0.4.6"
features = ["libm"]
default-features = false
[dependencies.num-traits]
version = "0.2.19"
features = ["libm"]
default-features = false
[dependencies.rayon]
version = "1.10.0"
optional = true
[dependencies.realfft]
version = "3.4.0"
optional = true
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
optional = true
default-features = false
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.criterion]
version = "0.5.1"
[dev-dependencies.proptest]
version = "1.6.0"
[lints.clippy]
all = "deny"
[lints.rust]
unsafe_code = "forbid"