Krotos Modules 3
Loading...
Searching...
No Matches
krotos::AirAbsorptionFilter Class Reference

#include <AirAbsorptionFilter.h>

Classes

struct  modified_lowpass
 

Public Member Functions

 AirAbsorptionFilter ()
 
void prepare (double sampleRate, int samplesPerBlock)
 
float process (float inputSample, int numChannel)
 
void setDistance (float distance)
 

Private Member Functions

constexpr float linear_interpolate (float y1, float y2, float mu)
 
void test_impulse_response (std::size_t index, String outfile)
 

Private Attributes

float m_gain {1.0f}
 
float m_a1 {0.43f}
 
float m_a2 {0.6f}
 
std::array< float, 8 > m_b1 {0.04f, 0.13f, 0.25f, 0.36f, 0.5f, 0.65f, 0.76f, 0.76f}
 
std::array< float, 8 > m_b2 {0.15f, 0.22f, 0.25f, 0.3f, 0.3f, 0.3f, 0.52f, 0.52f}
 
modified_lowpass m_filter1 [2]
 
modified_lowpass m_filter2 [2]
 
bool m_bypass
 

Constructor & Destructor Documentation

◆ AirAbsorptionFilter()

krotos::AirAbsorptionFilter::AirAbsorptionFilter ( )

Member Function Documentation

◆ linear_interpolate()

float krotos::AirAbsorptionFilter::linear_interpolate ( float y1,
float y2,
float mu )
inlineconstexprprivate

◆ prepare()

void krotos::AirAbsorptionFilter::prepare ( double sampleRate,
int samplesPerBlock )

◆ process()

float krotos::AirAbsorptionFilter::process ( float inputSample,
int numChannel )

◆ setDistance()

void krotos::AirAbsorptionFilter::setDistance ( float distance)

◆ test_impulse_response()

void krotos::AirAbsorptionFilter::test_impulse_response ( std::size_t index,
String outfile )
private

Member Data Documentation

◆ m_a1

float krotos::AirAbsorptionFilter::m_a1 {0.43f}
private

◆ m_a2

float krotos::AirAbsorptionFilter::m_a2 {0.6f}
private

◆ m_b1

std::array<float, 8> krotos::AirAbsorptionFilter::m_b1 {0.04f, 0.13f, 0.25f, 0.36f, 0.5f, 0.65f, 0.76f, 0.76f}
private

◆ m_b2

std::array<float, 8> krotos::AirAbsorptionFilter::m_b2 {0.15f, 0.22f, 0.25f, 0.3f, 0.3f, 0.3f, 0.52f, 0.52f}
private

◆ m_bypass

bool krotos::AirAbsorptionFilter::m_bypass
private

◆ m_filter1

modified_lowpass krotos::AirAbsorptionFilter::m_filter1[2]
private

◆ m_filter2

modified_lowpass krotos::AirAbsorptionFilter::m_filter2[2]
private

◆ m_gain

float krotos::AirAbsorptionFilter::m_gain {1.0f}
private

The documentation for this class was generated from the following files: