Expand description
§DASP-RS: Digital Audio Signal Processing in Rust
DASP-RS provides a collection of tools and utilities for audio signal processing, analysis, and generation. It includes functionality for handling audio input/output, performing signal transformations, generating synthetic signals, extracting audio features, working with magnitude spectra, and pitch-related operations. The library is designed to be modular and extensible, leveraging Rust’s performance and safety features.
§Key Features
- Audio I/O: Loading and saving audio files with flexible options.
- Signal Processing: Time-frequency transforms (e.g., STFT, CQT) and filtering.
- Signal Generation: Creating synthetic waveforms and noise.
- Feature Extraction: Computing audio features like tempo, pitch, and spectral properties.
- Magnitude Operations: Manipulating and analyzing magnitude spectra.
- Pitch Utilities: Converting between frequency, MIDI, and musical notations.
- Utilities: General-purpose functions for audio analysis and conversion.
§Usage
To use this library, add it to your Cargo.toml
and import the desired modules or items:
[dependencies]
dasp-rs = "0.1.0"
use dasp-rs::get_duration;
let audio = dasp-rs::audio_io::load("example.wav", None, None, None, None).unwrap();
let duration = get_duration(&audio);
println!("Duration: {} seconds", duration);
§Modules
See the individual module documentation for detailed information on available functionality.
Re-exports§
pub use core::*;
pub use signal_processing::*;
pub use signal_generation::*;
pub use features::*;
pub use magnitude::*;
pub use utils::*;
pub use pitch::*;
Modules§
- core
- Audio input/output module.
- features
- Feature extraction module.
- magnitude
- Magnitude spectrum module.
- pitch
- Pitch processing module.
- signal_
generation - Signal generation module.
- signal_
processing - Signal processing module.
- utils
- Utility module.