1 unstable release
Uses new Rust 2024
new 0.1.1 | Apr 4, 2025 |
---|
#6 in #iir
102 downloads per month
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 anAudioFileReaderComponent
. 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