#dsp-filter #dsp #simd #iir #filter #audio

aloe-simd-register-demo

aloe-simd-register-demo is a Rust crate that facilitates the demonstration of SIMD register operations for audio DSP, exploiting their efficiency for real-time IIR filtering. It is ideal for educational and practical computational acoustics applications. This crate is a translation of the c++ juce module serving the same function.

1 unstable release

Uses new Rust 2024

new 0.1.1 Apr 4, 2025

#6 in #iir

Download history 102/week @ 2025-03-31

102 downloads per month

GPL-3.0 license

1MB
9K SLoC

aloe-simd-register-demo

Overview

The aloe-simd-register-demo crate provides an illustrative demonstration of SIMD (Single Instruction, Multiple Data) operations within the realm of digital signal processing (DSP) for audio applications. This crate exploits the computational efficiency of SIMD registers to facilitate real-time processing of interleaved audio data. It is designed to enhance the understanding and implementation of IIR (Infinite Impulse Response) filtering algorithms, making use of modern Rust features.

Key Components

  • SIMDRegisterDemo: Acts as the primary interface for managing and visualizing audio files through an AudioFileReaderComponent. It defines layout and interactions with its UI component.
  • SIMDRegisterDemoDSP: Contains the core DSP logic, capable of managing audio processing tasks using adjustable IIR filter parameters.

Usage

Implementations include:

  • Prepare: Initialize digital filter coefficients and prepare audio blocks based on sampling rate and specific processing requirements.
  • Process: Execute the main audio processing cycle, efficiently interleaving and deinterleaving audio samples to apply the IIR filter.
  • Reset: Reinitializes stateful components of the DSP engine.
  • Update Parameters: Adapt filter parameters based on real-time adjustments via UI sliders for cutoff frequency and bandwidth (Q factor).

Features

  • SIMD-enabled audio processing for increased efficiency.
  • Extensive configuration options for real-time audio parameter manipulation.
  • Supports low-pass, high-pass, and band-pass filtering operations.

Installation

Add the following to your Cargo.toml:

[dependencies]
aloe-simd-register-demo = "0.1.0"

License

This project is licensed under the GPL-3.0 License.

Contribution

Contributions are welcome. Please submit issues and pull requests through the GitHub repository.


This README.md file was generated by an AI model and may not be 100% accurate, however it should be pretty good.

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.

Dependencies

~41MB
~651K SLoC