arduino-audio-tools
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Equilizer3Bands Class Reference

3 Band Equilizer inspired from https://www.musicdsp.org/en/latest/Filters/236-3-band-equaliser.html More...

#include <Equilizer.h>

Inheritance diagram for Equilizer3Bands:
AudioStream Stream AudioInfoSupport AudioInfoSource Print

Classes

struct  EQSTATE
 

Public Member Functions

 Equilizer3Bands (AudioOutput &out)
 
 Equilizer3Bands (AudioStream &stream)
 
 Equilizer3Bands (Print &out)
 
 Equilizer3Bands (Stream &in)
 
virtual AudioInfo audioInfo () override
 
int available () override
 
int availableForWrite () override
 
virtual bool begin ()
 
bool begin (ConfigEquilizer3Bands &config)
 
ConfigEquilizer3Bandsconfig ()
 
ConfigEquilizer3BandsdefaultConfig ()
 
virtual void end ()
 
virtual void flush () override
 
 operator bool ()
 
size_t readBytes (uint8_t *data, size_t len) override
 Provides the data from all streams mixed together.
 
virtual size_t readSilence (uint8_t *buffer, size_t length)
 Source to generate silence: just sets the buffer to 0.
 
virtual void setAudioInfo (AudioInfo info) override
 
virtual void setNotifyAudioChange (AudioInfoSupport &bi) override
 
virtual bool validate (AudioInfo &info)
 
size_t write (const uint8_t *data, size_t len) override
 
virtual size_t write (uint8_t ch) override
 
virtual void writeSilence (size_t len)
 Writes len bytes of silence (=0).
 

Protected Member Functions

void filterSamples (const uint8_t *data, size_t len)
 
virtual int not_supported (int out, const char *msg="")
 
void refillReadBuffer ()
 
float sample (EQSTATE &es, float sample)
 
float toFloat (int16_t v)
 convert float in the range -1 to 1 to a int16 and clip the values that are out of range
 
int16_t toInt16 (float v)
 convert float in the range -1 to 1 to a int16 and clip the values that are out of range
 

Protected Attributes

ConfigEquilizer3Bands cfg
 
AudioInfo info
 
int max_state_count =0
 
ConfigEquilizer3Bandsp_cfg =&cfg
 
AudioStreamp_in =nullptr
 
AudioInfoSupportp_notify =nullptr
 
AudioOutputp_out =nullptr
 
Printp_print = nullptr
 
Streamp_stream = nullptr
 
struct audio_tools::Equilizer3Bands::EQSTATEstate =nullptr
 
RingBuffer< uint8_t > tmp_in {0}
 
RingBuffer< uint8_t > tmp_out {0}
 
const float vsa = (1.0 / 4294967295.0)
 

Detailed Description

3 Band Equilizer inspired from https://www.musicdsp.org/en/latest/Filters/236-3-band-equaliser.html

Author
pschatzmann

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