The Open Master Hearing Aid (openMHA)  openMHA
Open community platform for hearing aid algorithm research
MHASignal::async_rmslevel_t Class Reference

Class for asynchronous level metering. More...

Inheritance diagram for MHASignal::async_rmslevel_t:
Inheritance graph

Public Member Functions

 async_rmslevel_t (unsigned int frames, unsigned int channels)
 Constructor for level metering class. More...
 
std::vector< float > rmslevel () const
 Read-only function for querying the current RMS level. More...
 
std::vector< float > peaklevel () const
 Read-only function for querying the current peak level. More...
 
void process (mha_wave_t *s)
 Function to store a chunk of audio in the level meter. More...
 

Private Attributes

unsigned int pos
 
unsigned int filled
 
- Private Attributes inherited from mha_wave_t
mha_real_tbuf
 signal buffer More...
 
unsigned int num_channels
 number of channels More...
 
unsigned int num_frames
 number of frames in each channel More...
 
mha_channel_info_tchannel_info
 detailed channel description More...
 

Additional Inherited Members

- Private Member Functions inherited from MHASignal::waveform_t
 waveform_t (const unsigned int &frames, const unsigned int &channels)
 constructor of waveform_t More...
 
 waveform_t (const mhaconfig_t &cf)
 Constructor to create a waveform from plugin configuration. More...
 
 waveform_t (const mha_wave_t &src)
 Copy contructor for mha_wave_t source. More...
 
 waveform_t (const MHASignal::waveform_t &src)
 Copy contructor. More...
 
 waveform_t (const std::vector< mha_real_t > &src)
 Copy contructor for std::vector<mha_real_t> source. More...
 
virtual ~waveform_t (void)
 
std::vector< mha_real_tflatten () const
 
 operator std::vector< mha_real_t > () const
 
void operator= (const mha_real_t &v)
 
mha_real_toperator[] (unsigned int k)
 
const mha_real_toperator[] (unsigned int k) const
 
mha_real_tvalue (unsigned int t, unsigned int ch)
 Element accessor. More...
 
mha_real_toperator() (unsigned int t, unsigned int ch)
 Element accessor. More...
 
const mha_real_tvalue (unsigned int t, unsigned int ch) const
 Constant element accessor. More...
 
const mha_real_toperator() (unsigned int t, unsigned int ch) const
 Constant element accessor. More...
 
mha_real_t sum (const unsigned int &a, const unsigned int &b)
 sum of all elements between [a,b) in all channels More...
 
mha_real_t sum (const unsigned int &a, const unsigned int &b, const unsigned int &ch)
 sum of all elements between [a,b) in channel ch More...
 
mha_real_t sum ()
 sum of all elements More...
 
mha_real_t sumsqr ()
 sum of square of all elements More...
 
mha_real_t sum_channel (const unsigned int &)
 return sum of all elements in one channel More...
 
void assign (const unsigned int &k, const unsigned int &ch, const mha_real_t &val)
 set frame "k" in channel "ch" to value "val" More...
 
void assign (const mha_real_t &)
 set all elements to value More...
 
void assign_frame (const unsigned int &k, const mha_real_t &val)
 assign value "val" to frame k in all channels More...
 
void assign_channel (const unsigned int &c, const mha_real_t &val)
 assign value "val" to channel ch in all frames More...
 
void copy (const std::vector< mha_real_t > &v)
 
void copy (const mha_wave_t &)
 copy data from source into current waveform More...
 
void copy (const mha_wave_t *)
 
void copy_channel (const mha_wave_t &, unsigned int, unsigned int)
 Copy one channel of a given waveform signal to a target channel. More...
 
void copy_from_at (unsigned int, unsigned int, const mha_wave_t &, unsigned int)
 Copy part of the source signal into part of this waveform object. More...
 
void export_to (mha_wave_t &)
 copy data into allocated mha_wave_t structure More...
 
void limit (const mha_real_t &min, const mha_real_t &max)
 limit target to range [min,max] More...
 
void power (const waveform_t &)
 transform waveform signal (in Pa) to squared signal (in W/m^2) More...
 
void powspec (const mha_spec_t &)
 get the power spectrum (in W/m^2) from a complex spectrum More...
 
void scale (const unsigned int &a, const unsigned int &b, const unsigned int &ch, const mha_real_t &val)
 scale section [a,b) in channel "ch" by "val" More...
 
void scale (const unsigned int &k, const unsigned int &ch, const mha_real_t &val)
 scale one element More...
 
void scale_channel (const unsigned int &, const mha_real_t &)
 scale one channel of target with a scalar More...
 
void scale_frame (const unsigned int &, const mha_real_t &)
 
unsigned int get_size () const
 

Detailed Description

Class for asynchronous level metering.

Constructor & Destructor Documentation

◆ async_rmslevel_t()

MHASignal::async_rmslevel_t::async_rmslevel_t ( unsigned int  frames,
unsigned int  channels 
)

Constructor for level metering class.

Allocate memory for metering. The RMS integration time corresponds to the number of frames in the buffer.

Parameters
framesNumber of frames to integrate.
channelsNumber of channels used for level-metering.

Member Function Documentation

◆ rmslevel()

std::vector< float > MHASignal::async_rmslevel_t::rmslevel ( ) const

Read-only function for querying the current RMS level.

Returns
Vector of floats, one value for each channel, containing the RMS level in dB (SPL if calibrated properly).

◆ peaklevel()

std::vector< float > MHASignal::async_rmslevel_t::peaklevel ( ) const

Read-only function for querying the current peak level.

Returns
Vector of floats, one value for each channel, containing the peak level in dB (SPL if calibrated properly).

◆ process()

void MHASignal::async_rmslevel_t::process ( mha_wave_t s)

Function to store a chunk of audio in the level meter.

Parameters
sAudio chunk (same number of channels required as given in the constructor).

Member Data Documentation

◆ pos

unsigned int MHASignal::async_rmslevel_t::pos
private

◆ filled

unsigned int MHASignal::async_rmslevel_t::filled
private

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