Crate dasp_rs

Source
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.