Aych-Delay
Aych-Delay is a delay effect modelled after the H-Delay by Waves. It applies a delay effect to audio data and includes features such as feedback, ping-pong, width control, and lowpass/highpass filtering.
Disclaimer
This project came about as a way for me to scratch an itch. I've been wanting to write audio software with Rust for a while, and recreating the H-Delay seemed like a fun challenge. I'm NOT a DSP expert, and I'm sure there are many ways in which this code could be improved. If you have any suggestions, feel free to open an issue or submit a pull request.
Installation
To use Aych-Delay in your Rust project, add the following to your Cargo.toml file:
[]
= "0.1.1"
Usage
To use Aych-Delay, create a new instance of the Delay struct with the desired settings and call the process method on your audio data:
use ;
let mut delay = new;
let mut delay = new;
let input: & = &;
let mut output: &mut = &mut ;
delay.process;
You can also use the default() method of the Settings struct to get a set of default values:
let settings = default;
let mut delay = new;
Examples
The examples directory contains a basic example of using Aych-Delay with the rodio library to play a sound file with the plugin applied. To run the example, use the following command:
Filters
Aych-Delay includes lowpass and highpass filters implemented with the TPTOnePoleStereo struct. This is a "Topology preserving transform" one-pole filter, derived from work by Zavalishin and Pirkle, and an implementation of the filter within the SOUL project (ISC license).
License
Aych-Delay is licensed under the MIT license. See the LICENSE file for more information.