aloe-multiband 0.1.2

A flexible multiband audio processing crate using Linkwitz-Riley filters with gain control. Ideal for real-time applications. This crate is a translation of the c++ juce module serving the same function.
docs.rs failed to build aloe-multiband-0.1.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Aloe Multiband

Aloe Multiband is a Rust crate designed for advanced multiband audio processing. It leverages the power of Linkwitz-Riley filters to split audio signals into low and high frequencies while enabling precise gain adjustments in each band.

Features

  • High-Precision Filtering: Utilizes Linkwitz-Riley filters for seamless crossover between frequency bands.
  • Gain Control: Independent gain stages for low and high-frequency bands, facilitating nuanced audio tuning.
  • Buffer Management: Efficiently handles audio buffering to support real-time processing.
  • Generic Float Support: Supports any floating-point type that implements the num::Float trait, providing flexibility across different accuracy requirements.

Usage

use aloe_multiband::MultiBandProcessor;

let mut processor = MultiBandProcessor::<f32>::default();
// Configure the processor with the desired settings...
processor.prepare(&spec);
processor.process(&mut context);

Implementation Insights

The MultiBandProcessor structure is the core component, encapsulating filter objects and gain controls. The process method effectively demonstares real-time processing by managing input and output through a context object.

Example Code Snippets

The crate currently outlines planned functionality through placeholders (todo!()). However, the overall design is clear, focusing on real-time multiband signal processing.

Author

Developed by klebs (tpk3.mx@gmail.com). Contributions and inquiries are welcome via the GitHub repository.

License

Licensed under GPL-3.0.


This README was generated by an AI model and may not be 100% accurate but should provide a comprehensive overview of the crate.

This crate is a translation of the JUCE module.

JUCE is a c++ software framework for developing high performance audio applications.

Usage falls under the GPLv3 as well as the JUCE commercial license.

See github.com/juce-framework/JUCE and the JUCE license page for details.

This crate is in the process of being translated from c++ to rust. For progress updates, please see the workspacer rust project. designed specifically for rust projects.