https://github.com/squishy47/schroeder-all-pass-filter
Basic Implimentation of a Schroeder All-Pass Filter
https://github.com/squishy47/schroeder-all-pass-filter
allpass audio audio-data audio-effect audio-effects audio-library audio-processing data-processing filter filters processing schroeder signal signal-processing
Last synced: 3 months ago
JSON representation
Basic Implimentation of a Schroeder All-Pass Filter
- Host: GitHub
- URL: https://github.com/squishy47/schroeder-all-pass-filter
- Owner: Squishy47
- License: mit
- Created: 2018-02-28T00:11:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-05-21T14:51:00.000Z (about 6 years ago)
- Last Synced: 2025-07-27T05:23:13.665Z (11 months ago)
- Topics: allpass, audio, audio-data, audio-effect, audio-effects, audio-library, audio-processing, data-processing, filter, filters, processing, schroeder, signal, signal-processing
- Language: C++
- Size: 7.81 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Schroeder-All-Pass-Filter
Basic Implimentation of a Schroeder All-Pass Filter
Initialisation
Create a new instance of the filter for every channel of audio data you wish to process.
The first constructor value is the delay length of the filter, the second is the feedback gain of the filter.
SchroederAllPass ap{10, 0.707};
To process a block of samples at once call the process function with:
1: a pointer to where the audio data is stored.
2: the size of the audio block/buffer.
ap.process(audioDataPointer, bufferSize);
processSingleSample(audioData) will return a single processed sample. pass in the each element of the data you want processed.
audioData[i] = ap.processSingleSample(audioData[i]);
To change the filter feedback gain, call setFeedback(), with a float between 0.0 and 1.0;
ap.setFeedback(0.707);
To Change the delay length of the filter, call setDelayLength(), with a float between 1.0 and beyond...
ap.setDelayLength(100);
getFeedback() and getDelayLength() return float values for the respective values.