The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
Plugin interface class of the dynamic compression plugin dc
.
More...
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_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. More... | |
mha_spec_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. 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_t & | operator= (const base_t &)=default |
base_t (base_t &&)=delete | |
base_t & | operator= (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_t > | patchbay |
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_t & | ac |
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... | |
Plugin interface class of the dynamic compression plugin dc
.
dc_if_t::dc_if_t | ( | MHA_AC::algo_comm_t & | iac, |
const std::string & | configured_name | ||
) |
Standard MHA plugin constructor.
iac | Algorithm communication variable space. |
configured_name | The name given to this plugin by the configuration. |
|
virtual |
Prepare plugin for signal processing.
tf | Input signal dimensions. They are not modified. |
Implements MHAPlugin::plugin_t< dc_t >.
|
virtual |
Release plugin from signal processing.
Reimplemented from MHAPlugin::plugin_t< dc_t >.
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.
s_in | Latest block of time-domain input signal. |
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.
s_in | Latest spectrum of the STFT input signal. |
|
private |
Called from within the processing routines: updates the monitor variables.
|
private |
Called by MHA configuration change event mechanism: creates new runtime configuration.
|
private |
Configured name of this plugin, used as prefix for names of published AC variables.
|
private |
Connects configuration events to callbacks.
|
private |
Number of broadband audio channels (before the filterbank).
This value is filled in during prepare().
|
private |
Number of frequency bands per broadband audio channel.
Initialized during prepare().
|
private |
Name of AC variable containing the filterbank centre frequencies in Hz.
Initialized during prepare().
|
private |
Name of AC variable containing the filterbank edge frequencies in Hz.
Initialized during prepare().
|
private |
Name of the AC variable containing the filterbank band weights.
Initialized during prepare().