arduino-audio-tools
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
GoertzelConfig Struct Reference

Configuration for Goertzel algorithm detectors. More...

#include <GoerzelStream.h>

Inheritance diagram for GoertzelConfig:
AudioInfo

Public Member Functions

 GoertzelConfig ()=default
 
 GoertzelConfig (const AudioInfo &info)
 Copy constructor from AudioInfo.
 
virtual void clear ()
 
void copyFrom (AudioInfo info)
 Same as set.
 
bool equals (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
bool equalsExSampleRate (AudioInfo alt)
 Checks if only the sample rate is different.
 
virtual void logInfo (const char *source="")
 
 operator bool ()
 Returns true if all components are defined (no component is 0)
 
bool operator!= (AudioInfo alt)
 Returns true if alt values are the different from the current values.
 
bool operator== (AudioInfo alt)
 Returns true if alt values are the same like the current values.
 
void set (AudioInfo info)
 Copies the values from info.
 
void setAudioInfo (AudioInfo info)
 Same as set.
 

Public Attributes

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
 Number of bits per sample (int16_t = 16 bits)
 
int block_size = 205
 
uint8_t channel = 0
 channel used for detection when used in a stream
 
uint16_t channels = DEFAULT_CHANNELS
 Number of channels: 2=stereo, 1=mono.
 
sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
 Sample Rate: e.g 44100.
 
float target_frequency = 0.0f
 Target frequency to detect in Hz (same for all channels)
 
float threshold = 0.5f
 
float volume = 1.0f
 Volume factor for normalization - scales input samples before processing.
 

Detailed Description

Configuration for Goertzel algorithm detectors.

This structure extends AudioInfo to include Goertzel-specific parameters. It defines the frequency detection behavior, audio format, and processing parameters for the Goertzel algorithm implementation.

Author
pschatzmann

Constructor & Destructor Documentation

◆ GoertzelConfig() [1/2]

GoertzelConfig ( )
default

◆ GoertzelConfig() [2/2]

GoertzelConfig ( const AudioInfo info)
inline

Copy constructor from AudioInfo.

Member Function Documentation

◆ clear()

virtual void clear ( )
inlinevirtualinherited

◆ copyFrom()

void copyFrom ( AudioInfo  info)
inlineinherited

Same as set.

◆ equals()

bool equals ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ equalsExSampleRate()

bool equalsExSampleRate ( AudioInfo  alt)
inlineinherited

Checks if only the sample rate is different.

◆ logInfo()

virtual void logInfo ( const char source = "")
inlinevirtualinherited

Reimplemented in I2SConfigESP32, I2SConfigESP32V1, and I2SConfigStd.

◆ operator bool()

operator bool ( )
inlineinherited

Returns true if all components are defined (no component is 0)

◆ operator!=()

bool operator!= ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the different from the current values.

◆ operator==()

bool operator== ( AudioInfo  alt)
inlineinherited

Returns true if alt values are the same like the current values.

◆ set()

void set ( AudioInfo  info)
inlineinherited

Copies the values from info.

◆ setAudioInfo()

void setAudioInfo ( AudioInfo  info)
inlineinherited

Same as set.

Member Data Documentation

◆ bits_per_sample

uint8_t bits_per_sample = DEFAULT_BITS_PER_SAMPLE
inherited

Number of bits per sample (int16_t = 16 bits)

◆ block_size

int block_size = 205

Number of samples to process per block (N) - affects detection latency and accuracy

◆ channel

uint8_t channel = 0

channel used for detection when used in a stream

◆ channels

uint16_t channels = DEFAULT_CHANNELS
inherited

Number of channels: 2=stereo, 1=mono.

◆ sample_rate

sample_rate_t sample_rate = DEFAULT_SAMPLE_RATE
inherited

Sample Rate: e.g 44100.

◆ target_frequency

float target_frequency = 0.0f

Target frequency to detect in Hz (same for all channels)

◆ threshold

float threshold = 0.5f

Detection threshold for magnitude (normalized samples, typically 0.1 to 1.0)

◆ volume

float volume = 1.0f

Volume factor for normalization - scales input samples before processing.


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