public final class Filters extends Object
Offers methods to create a number of useful filters, including MIDI filterbanks.
Furthermore, you can create your own filters using the Filters.IIRFilter and Filters.FIRFilter classes.
Filters are StatefulMapFunctions and as such can be used in Mapping to
be part of a SignalPipeline. To filter an AudioBuffer create a Mapping like this:
Downsample,
MultirateFilters| Modifier and Type | Class and Description |
|---|---|
static class |
Filters.FIRFilter
FIR (finite impulse response) filter.
|
static class |
Filters.FourthOrderIIRFilter
(Faster) implementation of a fourth order IIR (infinite impulse response) filter.
|
static class |
Filters.IIRFilter
IIR (infinite impulse response) filter.
|
public static Filters.FIRFilter createFir1_16thOrderLowpass(int factor) throws IllegalArgumentException
factor-th-Nyquist pass (ω=1/factor).
Supported factors are 1, 2, 3, 4, 5, 7, 8 and 160.factor - factorIllegalArgumentException - if the factor is not supported.public static Filters.FIRFilter createFir1_16thOrderLowpassCutoff160th()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffSeventh()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffFifth()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffThird()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffHalf()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffQuarter()
createFir1_16thOrderLowpass(int)public static Filters.FIRFilter createFir1_16thOrderLowpassCutoffEighth()
createFir1_16thOrderLowpass(int)public static Filters.FourthOrderIIRFilter createButterworth4thOrderLowpass(int factor) throws IllegalArgumentException
factor-th-Nyquist pass (ω=1/factor).
Supported factors are 2, 4, and 8.factor - factorIllegalArgumentException - if the factor is not supported.public static Filters.FourthOrderIIRFilter createButterworth4thOrderLowpassCutoffHalf()
createButterworth4thOrderLowpass(int)public static Filters.FourthOrderIIRFilter createButterworth4thOrderLowpassCutoffQuarter()
createButterworth4thOrderLowpass(int)public static Filters.FourthOrderIIRFilter createButterworth4thOrderLowpassCutoffEighth()
createButterworth4thOrderLowpass(int)public static Filters.IIRFilter createElliptic8thOrderLowpass(int factor) throws IllegalArgumentException
factor-th-Nyquist pass (ω=1/factor).
Supported factors are 2, 4, and 8.factor - factorIllegalArgumentException - if the factor is not supported.public static Filters.IIRFilter createElliptic8thOrderLowpassCutoffHalf()
createElliptic8thOrderLowpass(int)format long e; ellip(8,1,50,0.5)public static Filters.IIRFilter createElliptic8thOrderLowpassCutoffQuarter()
createElliptic8thOrderLowpass(int)format long e; ellip(8,1,50,0.25)public static Filters.IIRFilter createElliptic8thOrderLowpassCutoffEighth()
createElliptic8thOrderLowpass(int)format long e; ellip(8,1,50,0.125)public static Filters.IIRFilter[] createMidiFilterBank(float sampleRate, int minMidiPitch, int maxMidiPitch) throws IllegalArgumentException
If only a subset of the complete filterbank is desired, you can specify a minimum and a maximum pitch (both incl.).
Note that the individual filters are stateful and can't simply ce re-used in a different context.
sampleRate - one of several supported sample rates (currently 44100Hz, 22050Hz, 11025Hz, 5512.5Hz, 2756.25Hz, 4410Hz, 882Hz)minMidiPitch - smallest pitch to include (inclusive)maxMidiPitch - greatest pitch to include (inclusive)IllegalArgumentException - if the desired sample rate is not supportedcreateMidi44100HzElliptic8thOrderFilterBank(int, int)Copyright © 2011–2020 tagtraum industries incorporated. All rights reserved.