[package]
edition = "2024"
name = "audio_samples"
version = "1.0.2"
authors = ["Jack Geraghty <jgeraghty049@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A typed audio processing library for Rust that treats audio as a first-class, invariant-preserving object rather than an unstructured numeric buffer."
homepage = "https://github.com/jmg049/audio_samples"
documentation = "https://docs.rs/audio_samples"
readme = "README.md"
keywords = [
"audio",
"dsp",
"api",
]
categories = [
"encoding",
"multimedia",
"science",
]
license = "MIT"
repository = "https://github.com/jmg049/audio_samples"
[features]
bare-bones = []
beat-tracking = []
channels = []
decomposition = ["onset-detection"]
default = ["bare-bones"]
dynamic-range = []
editing = [
"statistics",
"random-generation",
]
envelopes = [
"dynamic-range",
"editing",
"random-generation",
]
fixed-size-audio = []
full = [
"statistics",
"editing",
"transforms",
"channels",
"resampling",
"fixed-size-audio",
"beat-tracking",
"onset-detection",
"decomposition",
"dynamic-range",
"parametric-eq",
"peak-picking",
"pitch-analysis",
"processing",
"vad",
"iir-filtering",
"plotting",
"envelopes",
"random-generation",
]
full_no_plotting = [
"statistics",
"editing",
"transforms",
"channels",
"resampling",
"fixed-size-audio",
"beat-tracking",
"onset-detection",
"decomposition",
"dynamic-range",
"parametric-eq",
"peak-picking",
"pitch-analysis",
"processing",
"vad",
"iir-filtering",
"envelopes",
"random-generation",
]
html_view = ["dep:html_view"]
iir-filtering = []
onset-detection = [
"transforms",
"peak-picking",
"processing",
]
parametric-eq = ["iir-filtering"]
peak-picking = []
pitch-analysis = ["transforms"]
plotting = [
"dep:plotly",
"dep:base64",
"dep:serde_json",
]
processing = ["statistics"]
python = ["i24/pyo3"]
random-generation = ["dep:rand"]
resampling = [
"dep:rubato",
"dep:rayon",
]
simd = []
static-plots = [
"plotting",
"dep:plotly_static",
]
statistics = []
transforms = ["dep:spectrograms"]
vad = []
[lib]
name = "audio_samples"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "basics"
path = "examples/basics.rs"
[[example]]
name = "channels"
path = "examples/channels.rs"
[[example]]
name = "detection"
path = "examples/detection.rs"
[[example]]
name = "dynamic_range"
path = "examples/dynamic_range.rs"
[[example]]
name = "editing"
path = "examples/editing.rs"
[[example]]
name = "hpss"
path = "examples/hpss.rs"
[[example]]
name = "iir_filtering"
path = "examples/iir_filtering.rs"
[[example]]
name = "parametric_eq"
path = "examples/parametric_eq.rs"
[[example]]
name = "pitch_analysis"
path = "examples/pitch_analysis.rs"
[[example]]
name = "plotting_auto_zoom"
path = "examples/plotting_auto_zoom.rs"
[[example]]
name = "plotting_basic"
path = "examples/plotting_basic.rs"
[[example]]
name = "plotting_composite_advanced"
path = "examples/plotting_composite_advanced.rs"
[[example]]
name = "plotting_composite_basics"
path = "examples/plotting_composite_basics.rs"
[[example]]
name = "plotting_configurable_padding"
path = "examples/plotting_configurable_padding.rs"
[[example]]
name = "plotting_dsp_overlays"
path = "examples/plotting_dsp_overlays.rs"
[[example]]
name = "plotting_event_markers"
path = "examples/plotting_event_markers.rs"
[[example]]
name = "plotting_overlays"
path = "examples/plotting_overlays.rs"
[[example]]
name = "plotting_spectral_overlays"
path = "examples/plotting_spectral_overlays.rs"
[[example]]
name = "plotting_spectrum"
path = "examples/plotting_spectrum.rs"
[[example]]
name = "processing"
path = "examples/processing.rs"
[[example]]
name = "resampling"
path = "examples/resampling.rs"
[[example]]
name = "statistics"
path = "examples/statistics.rs"
[[example]]
name = "transforms"
path = "examples/transforms.rs"
[[example]]
name = "utils_demo"
path = "examples/utils_demo.rs"
[[example]]
name = "vad"
path = "examples/vad.rs"
[dependencies.audioadapter]
version = "2.0.0"
[dependencies.audioadapter-buffers]
version = "2.0.0"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytemuck]
version = "1.25.0"
[dependencies.html_view]
version = "0.2.2"
optional = true
[dependencies.i24]
version = "2.3.3"
features = [
"alloc",
"num-cast",
"ndarray",
"std",
"serde",
]
[dependencies.lazy_static]
version = "1.5"
[dependencies.ndarray]
version = "0.17"
[dependencies.non-empty-iter]
version = ">=0.2"
[dependencies.non-empty-slice]
version = ">=0.5"
[dependencies.num-complex]
version = "0.4"
[dependencies.num-format]
version = "0.4.4"
optional = true
[dependencies.num-traits]
version = "0.2"
[dependencies.plotly]
version = "0.14.1"
optional = true
[dependencies.plotly_static]
version = "0.1.0"
features = [
"chromedriver",
"webdriver_download",
]
optional = true
[dependencies.rand]
version = "0.10.0"
optional = true
[dependencies.rayon]
version = "1"
optional = true
[dependencies.regex]
version = ">=1.12"
[dependencies.rubato]
version = "1.0.1"
optional = true
[dependencies.rustfft]
version = ">=6.2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
optional = true
[dependencies.spectrograms]
version = "1.1.0"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.wide]
version = "1.1.1"
[dev-dependencies.approx_eq]
version = "0.1.8"
[dev-dependencies.clap]
version = "4.5"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]
[dev-dependencies.dtmf_tones]
version = "1.0.1"
[dev-dependencies.proptest]
version = "1.10.0"
[dev-dependencies.rand]
version = "0.10.0"