timestretch 0.16.0

timestretch audio time and pitch processing with host-driven streaming
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"
rust-version = "1.85"
name = "timestretch"
version = "0.16.0"
build = false
exclude = [
    "samples",
    "optimize",
    "desktop",
    "docs",
    "tools",
    "benchmarks/artifacts",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "timestretch audio time and pitch processing with host-driven streaming"
readme = "README.md"
keywords = [
    "audio",
    "dsp",
    "time-stretching",
    "pitch-shifting",
]
categories = [
    "multimedia::audio",
    "algorithms",
]
license = "MIT"
repository = "https://github.com/robmorgan/timestretch-rs"
resolver = "2"

[features]
accelerate = ["timestretch-core/accelerate"]
analysis = ["dep:timestretch-analysis"]
cli = [
    "io",
    "analysis",
]
default = ["accelerate"]
io = ["dep:serde_json"]
qa = [
    "analysis",
    "io",
    "timestretch-core/qa",
]

[lib]
name = "timestretch"
path = "src/lib.rs"

[[bin]]
name = "timestretch-cli"
path = "src/cli.rs"
required-features = ["cli"]

[[example]]
name = "ab_render"
path = "examples/ab_render.rs"
required-features = ["io"]

[[example]]
name = "annotate_rigid_grid"
path = "examples/annotate_rigid_grid.rs"
required-features = [
    "analysis",
    "io",
]

[[example]]
name = "basic_stretch"
path = "examples/basic_stretch.rs"

[[example]]
name = "generate_test_audio"
path = "test_audio/generate.rs"

[[example]]
name = "realtime_stream"
path = "examples/realtime_stream.rs"

[[example]]
name = "worker_stream"
path = "examples/worker_stream.rs"

[[test]]
name = "analysis_artifacts"
path = "tests/analysis_artifacts.rs"

[[test]]
name = "beat_tracking"
path = "tests/beat_tracking.rs"
required-features = ["analysis"]

[[test]]
name = "bpm_accuracy"
path = "qa/bpm_accuracy.rs"
required-features = ["qa"]

[[test]]
name = "dense_material_regression"
path = "tests/dense_material_regression.rs"

[[test]]
name = "parser_robustness"
path = "tests/parser_robustness.rs"

[[test]]
name = "pitch_quality"
path = "tests/pitch_quality.rs"

[[test]]
name = "quality"
path = "tests/quality.rs"

[[test]]
name = "realtime_allocations"
path = "tests/realtime_allocations.rs"

[[test]]
name = "rubberband_comparison"
path = "qa/rubberband_comparison.rs"
required-features = ["qa"]

[[test]]
name = "rubberband_reference_gate"
path = "qa/rubberband_reference_gate.rs"
required-features = ["qa"]

[[test]]
name = "session_contracts"
path = "tests/session_contracts.rs"

[[test]]
name = "session_soak"
path = "tests/session_soak.rs"

[[test]]
name = "spectral_quality"
path = "tests/spectral_quality.rs"

[[test]]
name = "stereo_coherence"
path = "tests/stereo_coherence.rs"

[[test]]
name = "stretch_quality_regressions"
path = "tests/stretch_quality_regressions.rs"

[[test]]
name = "tonal_purity_characterization"
path = "tests/tonal_purity_characterization.rs"

[[test]]
name = "track_analysis_qa"
path = "qa/track_analysis_qa.rs"
required-features = ["qa"]

[[test]]
name = "unity_quality"
path = "tests/unity_quality.rs"

[[test]]
name = "wav_error_paths"
path = "tests/wav_error_paths.rs"
required-features = ["io"]

[[test]]
name = "wav_roundtrip"
path = "tests/wav_roundtrip.rs"

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.timestretch-analysis]
version = "0.16.0"
optional = true

[dependencies.timestretch-core]
version = "0.16.0"
default-features = false

[dev-dependencies.hound]
version = "3"

[dev-dependencies.serde]
version = "1"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.sha2]
version = "0.10"

[dev-dependencies.symphonia]
version = "0.5"
features = [
    "mp3",
    "aiff",
    "pcm",
]
default-features = false

[dev-dependencies.toml]
version = "0.8"

[profile.release]
opt-level = 3
lto = true