5#include "sffdn/filter.h"
6#include "sffdn/filterbank.h"
7#include "sffdn/types.h"
92 std::span<const float> delays);
std::variant< HomogenousFilterOptions, TwoBandFilterOptions, ThreeBandFilterOptions, TenBandFilterOptions > attenuation_filter_variant_t
Variant type for holding different attenuation filter options.
Definition types.h:356
Options for configuring an attenuation filter bank.
Definition types.h:361
Options for configuring a graphic equalizer.
Definition types.h:368
Options for configuring a ten-band filter.
Definition types.h:340
Options for configuring a three-band filter.
Definition types.h:321
Options for configuring a two-band filter.
Definition types.h:309
std::unique_ptr< AudioProcessor > CreateAttenuationFilterBank(const AttenuationFilterBankOptions &options)
Create a Attenuation Filter Bank object.
std::array< FilterCoefficients, 11 > DesignTenBandAbsorption(const TenBandFilterOptions &options)
Design an attenuation filter according to the method described in [1].
std::pair< float, float > DesignTwoBandAbsorption(const TwoBandFilterOptions &options)
Get the coefficients of a one-pole absorption filter.
std::array< FilterCoefficients, 2 > DesignThreeBandAbsorption(const ThreeBandFilterOptions &options)
Design a three-band absorption filter consisting of a low-shelf, high-shelf and a gain factor to matc...
std::array< FilterCoefficients, 11 > DesignGraphicEQ(const GraphicEQOptions &options)
Design an octave EQ filter consisting of a low shelf, high shelf and 8 band-pass peaking filters.
std::unique_ptr< AudioProcessor > CreateAttenuationFilter(const attenuation_filter_variant_t &options)
Create an attenuation filter processor based on the provided configuration variant.