audio_samples 1.0.2

A typed audio processing library for Rust that treats audio as a first-class, invariant-preserving object rather than an unstructured numeric buffer.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"