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

Plugin interface class of the dynamic compression plugin dc. More...

Inheritance diagram for dc::dc_if_t:
Inheritance graph

Public Member Functions

 dc_if_t (MHA_AC::algo_comm_t &iac, const std::string &configured_name)
 Standard MHA plugin constructor. More...
 
void prepare (mhaconfig_t &tf)
 Prepare plugin for signal processing. More...
 
void release ()
 Release plugin from signal processing. More...
 
mha_wave_tprocess (mha_wave_t *s_in)
 Process method extracts band-specific input levels using the rmslevel, attack and decay filters on each input sample, looks up the gains and applies them to each sample of the signal in place. More...
 
mha_spec_tprocess (mha_spec_t *s_in)
 Process method extracts band-specific input levels using the attack and decay filters on the latest STFT spectrum, looks up the gains and applies them in place. More...
 
- Public Member Functions inherited from MHAPlugin::plugin_t< dc_t >
 plugin_t (const std::string &, MHA_AC::algo_comm_t &)
 Constructor of plugin template base class. More...
 
virtual ~plugin_t ()
 Destructor of plugin template base class. More...
 
void prepare_ (mhaconfig_t &)
 
void release_ ()
 
bool is_prepared () const
 Flag, if the prepare method is successfully called (or currently evaluated) More...
 
mhaconfig_t input_cfg () const
 Current input channel configuration. More...
 
mhaconfig_t output_cfg () const
 Current output channel configuration. More...
 
- Public Member Functions inherited from MHAParser::parser_t
 parser_t (const std::string &help_text="")
 Construct detached node to be used in the configuration tree. More...
 
 ~parser_t ()
 
void insert_item (const std::string &, base_t *)
 Register a parser item into this sub-parser. More...
 
void remove_item (const std::string &)
 Remove an item by name. More...
 
void force_remove_item (const std::string &)
 Remove an item by name. More...
 
void remove_item (const base_t *)
 Remove an item by address. More...
 
- Public Member Functions inherited from MHAParser::base_t
 base_t (const std::string &)
 Constructor for base class of all parser nodes. More...
 
 base_t (const base_t &)
 Copy constructor for base_t. More...
 
base_toperator= (const base_t &)=default
 
 base_t (base_t &&)=delete
 
base_toperator= (base_t &&)=delete
 
virtual ~base_t ()
 
virtual std::string parse (const std::string &)
 Causes this node to process a command in the openMHA configuration language. More...
 
virtual void parse (const char *, char *, unsigned int)
 This function parses a command and writes the parsing result into a C character array. More...
 
virtual void parse (const std::vector< std::string > &, std::vector< std::string > &)
 
virtual std::string query_perm (const std::string &)
 
virtual std::string query_range (const std::string &)
 
std::string query_version (const std::string &)
 
std::string query_id (const std::string &)
 
std::string query_subst (const std::string &)
 
std::string query_addsubst (const std::string &)
 
std::string query_help (const std::string &)
 
std::string query_cmds (const std::string &)
 
void set_node_id (const std::string &)
 Set the identification string of this parser node. More...
 
void set_help (const std::string &)
 Set the help comment of a variable or parser. More...
 
void add_parent_on_insert (parser_t *, std::string)
 
void rm_parent_on_remove (parser_t *)
 
const std::string & fullname () const
 Return the full dot-separated path name of this parser node in the openMHA configuration tree. More...
 
- Public Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
 config_t ()
 
 ~config_t ()
 
- Public Member Functions inherited from dc::dc_vars_t
 dc_vars_t (MHAParser::parser_t &p)
 Constructor initializes the configuration language variables' data members and inserts them into the parser p. More...
 
 dc_vars_t (const dc_vars_t &)=default
 Default copy constructor is used to pass a copy of all configuration variables to the runtime configuration constructor dc_t::dc_t. More...
 

Private Member Functions

void update_monitors ()
 Called from within the processing routines: updates the monitor variables. More...
 
void update ()
 Called by MHA configuration change event mechanism: creates new runtime configuration. More...
 

Private Attributes

std::string algo
 Configured name of this plugin, used as prefix for names of published AC variables. More...
 
MHAEvents::patchbay_t< dc_if_tpatchbay
 Connects configuration events to callbacks. More...
 
unsigned broadband_audiochannels = {0U}
 Number of broadband audio channels (before the filterbank). More...
 
unsigned bands_per_channel = {0U}
 Number of frequency bands per broadband audio channel. More...
 
std::string cf_name
 Name of AC variable containing the filterbank centre frequencies in Hz. More...
 
std::string ef_name
 Name of AC variable containing the filterbank edge frequencies in Hz. More...
 
std::string bw_name
 Name of the AC variable containing the filterbank band weights. More...
 

Additional Inherited Members

- Public Attributes inherited from MHAParser::base_t
MHAEvents::emitter_t writeaccess
 Event emitted on write access. More...
 
MHAEvents::emitter_t valuechanged
 Event emitted if the value has changed. More...
 
MHAEvents::emitter_t readaccess
 Event emitted on read access. More...
 
MHAEvents::emitter_t prereadaccess
 Event emitted on read access, before the data field is accessed. More...
 
- Public Attributes inherited from dc::dc_vars_t
MHAParser::mfloat_t gtdata
 Gain table with gains in dB. More...
 
MHAParser::vfloat_t gtmin
 Narrow-band input levels in dB SPL specifying for each row of gtdata to which input level the first gain in this row applies. More...
 
MHAParser::vfloat_t gtstep
 Input level increment between elements for each row of gtdata. More...
 
MHAParser::vfloat_t taurmslevel
 Low-pass filter time constants for time-domain envelope extraction. More...
 
MHAParser::vfloat_t tauattack
 Low-pass filter time constants for level extraction when level rises. More...
 
MHAParser::vfloat_t taudecay
 Low-pass filter time constants for level extraction when level falls. More...
 
MHAParser::vfloat_t offset
 Row-specific input level corrections in dB to apply before gain lookup in gtdata. More...
 
MHAParser::string_t filterbank
 Configured name of filterbank plugin placed upstream of this dc plugin. More...
 
MHAParser::string_t chname
 Name of the AC variable containing the number of audiochannels before the filterbank. More...
 
MHAParser::bool_t bypass
 Switch for bypassing the dynamic compression. More...
 
MHAParser::bool_t log_interp
 Interpolate gain table in dBs (vs. More...
 
MHAParser::string_t clientid
 Metadata: Some ID of the hearing impaired subject. More...
 
MHAParser::string_t gainrule
 Metadata: Some name of the gain rule that was used to compute gtdata. More...
 
MHAParser::string_t preset
 Metadata: Some name given to the current setting. More...
 
MHAParser::vfloat_mon_t input_level
 Narrow-band input levels of current block before attack/decay filter. More...
 
MHAParser::vfloat_mon_t filtered_level
 Narrow-band input levels of current block after attack/decay filter. More...
 
MHAParser::vfloat_mon_t center_frequencies
 Center frequencies of upstream filterbank. More...
 
MHAParser::vfloat_mon_t edge_frequencies
 Edge frequencies of upstream filterbank. More...
 
MHAParser::vfloat_mon_t band_weights
 Center frequencies of upstream filterbank. More...
 
- Protected Member Functions inherited from MHAParser::parser_t
std::string op_subparse (expression_t &)
 
std::string op_setval (expression_t &)
 
std::string op_query (expression_t &)
 
std::string query_type (const std::string &)
 
std::string query_dump (const std::string &)
 
std::string query_entries (const std::string &)
 
std::string query_readfile (const std::string &)
 
std::string query_savefile (const std::string &)
 
std::string query_savefile_compact (const std::string &)
 
std::string query_savemons (const std::string &)
 
std::string query_val (const std::string &)
 
std::string query_listids (const std::string &)
 
void set_id_string (const std::string &)
 
bool has_entry (const std::string &)
 
- Protected Member Functions inherited from MHAParser::base_t
void activate_query (const std::string &, query_t)
 
void notify ()
 
- Protected Member Functions inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * poll_config ()
 Receive the latest run time configuration. More...
 
runtime_cfg_t * peek_config () const
 Receive the latest run time configuration without changing the configuration pointer. More...
 
void push_config (runtime_cfg_t *ncfg)
 Push a new run time configuration into the configuration fifo. More...
 
void cleanup_unused_cfg ()
 To be called by the push_config() for housekeeping. More...
 
void remove_all_cfg ()
 To be called on Plugin destruction, will delete all runtime configuration list nodes and objects regardless of their in_use flag. More...
 
- Protected Attributes inherited from MHAPlugin::plugin_t< dc_t >
mhaconfig_t tftype
 Member for storage of plugin interface configuration. More...
 
MHA_AC::algo_comm_tac
 AC handle of the chain. More...
 
- Protected Attributes inherited from MHAParser::base_t
query_map_t queries
 
bool data_is_initialized
 
- Protected Attributes inherited from MHAPlugin::config_t< runtime_cfg_t >
runtime_cfg_t * cfg
 Pointer to the runtime configuration currently used by the signal processing thread. More...
 

Detailed Description

Plugin interface class of the dynamic compression plugin dc.

Constructor & Destructor Documentation

◆ dc_if_t()

dc_if_t::dc_if_t ( MHA_AC::algo_comm_t iac,
const std::string &  configured_name 
)

Standard MHA plugin constructor.

Parameters
iacAlgorithm communication variable space.
configured_nameThe name given to this plugin by the configuration.

Member Function Documentation

◆ prepare()

void dc_if_t::prepare ( mhaconfig_t tf)
virtual

Prepare plugin for signal processing.

Parameters
tfInput signal dimensions. They are not modified.

Implements MHAPlugin::plugin_t< dc_t >.

◆ release()

void dc_if_t::release ( void  )
virtual

Release plugin from signal processing.

Reimplemented from MHAPlugin::plugin_t< dc_t >.

◆ process() [1/2]

mha_wave_t * dc_if_t::process ( mha_wave_t s_in)

Process method extracts band-specific input levels using the rmslevel, attack and decay filters on each input sample, looks up the gains and applies them to each sample of the signal in place.

Parameters
s_inLatest block of time-domain input signal.
Returns
s_in after modifying the signal in place.

◆ process() [2/2]

mha_spec_t * dc_if_t::process ( mha_spec_t s_in)

Process method extracts band-specific input levels using the attack and decay filters on the latest STFT spectrum, looks up the gains and applies them in place.

Parameters
s_inLatest spectrum of the STFT input signal.
Returns
s_in after modifying the signal in place.

◆ update_monitors()

void dc_if_t::update_monitors ( )
private

Called from within the processing routines: updates the monitor variables.

◆ update()

void dc_if_t::update ( )
private

Called by MHA configuration change event mechanism: creates new runtime configuration.

Member Data Documentation

◆ algo

std::string dc::dc_if_t::algo
private

Configured name of this plugin, used as prefix for names of published AC variables.

◆ patchbay

MHAEvents::patchbay_t<dc_if_t> dc::dc_if_t::patchbay
private

Connects configuration events to callbacks.

◆ broadband_audiochannels

unsigned dc::dc_if_t::broadband_audiochannels = {0U}
private

Number of broadband audio channels (before the filterbank).

This value is filled in during prepare().

◆ bands_per_channel

unsigned dc::dc_if_t::bands_per_channel = {0U}
private

Number of frequency bands per broadband audio channel.

Initialized during prepare().

◆ cf_name

std::string dc::dc_if_t::cf_name
private

Name of AC variable containing the filterbank centre frequencies in Hz.

Initialized during prepare().

◆ ef_name

std::string dc::dc_if_t::ef_name
private

Name of AC variable containing the filterbank edge frequencies in Hz.

Initialized during prepare().

◆ bw_name

std::string dc::dc_if_t::bw_name
private

Name of the AC variable containing the filterbank band weights.

Initialized during prepare().


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