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

Plugin interface class for generating an electrodogram from an audio signal, using a stimulation strategy similar to a typical ACE (advanced combination encoder, n-of-m) coding strategy with 22 channels. More...

Inheritance diagram for Ci_simulation_ace:
Inheritance graph

Public Member Functions

 Ci_simulation_ace (algo_comm_t &ac, const std::string &algo_name)
 Constructor of the plugin interface class. More...
 
void prepare (mhaconfig_t &signal_info)
 Prepare function of the plugin interface class. More...
 
mha_spec_tprocess (mha_spec_t *signal)
 Process function of the plugin interface class. More...
 
void release ()
 Release function of the plugin interface class. More...
 
- Public Member Functions inherited from MHAPlugin::plugin_t< Ci_simulation_ace_cfg >
 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 ()
 

Private Member Functions

void update_cfg ()
 Runtime configuration update function of the plugin interface class. More...
 

Private Attributes

std::string algo_name
 Name of the algorithm within the plugin chain. More...
 
MHAParser::int_t n_electrodes
 Number of active electrodes (cannot be changed at runtime) More...
 
MHAParser::float_t compression_coefficient
 Compression coefficient of the loudness growth function. More...
 
MHAParser::float_t base_level
 Base level of the input (acoustic) dynamic range / Pa. More...
 
MHAParser::float_t saturation_level
 Saturation level of the input (acoustic) dynamic range / Pa. More...
 
MHAParser::vfloat_t threshold_level
 Vector containing the threshold level of the output (electric) dynamic range for each electrode / CU. More...
 
MHAParser::vfloat_t comfort_level
 Vector containing the comfort level of the output (electric) dynamic range for each electrode / CU. More...
 
MHAParser::vint_t disabled_electrodes
 Vector containig the indices of any disabled electrodes. More...
 
MHAParser::kw_t stimulation_order
 Electrode stimulation order. More...
 
MHAParser::int_t randomization_seed
 Seed for randomization of stimulation order. More...
 
MHAEvents::patchbay_t< Ci_simulation_acepatchbay
 Data member connecting an event emitter (i.e. More...
 
std::default_random_engine random_number_generator
 Random number generator for randomization of stimulation order. More...
 
MHA_AC::waveform_telectrodogram_ac
 AC variable containing a pointer to the electrodogram (containing a matrix with dimensions m x n, where m = total number of electrodes and n = number of active electrodes, and where the order of the n active electrodes corrresponds to the temporal sequence of their activation) 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...
 
- 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< Ci_simulation_ace_cfg >
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 for generating an electrodogram from an audio signal, using a stimulation strategy similar to a typical ACE (advanced combination encoder, n-of-m) coding strategy with 22 channels.

Constructor & Destructor Documentation

◆ Ci_simulation_ace()

Ci_simulation_ace::Ci_simulation_ace ( algo_comm_t ac,
const std::string &  algo_name 
)

Constructor of the plugin interface class.

Parameters
acReference to the processing chain structure
algo_nameReference to the algorithm name

Member Function Documentation

◆ prepare()

void Ci_simulation_ace::prepare ( mhaconfig_t signal_info)
virtual

Prepare function of the plugin interface class.

Parameters
signal_infoReference to the prepare configuration structure

Implements MHAPlugin::plugin_t< Ci_simulation_ace_cfg >.

◆ process()

mha_spec_t * Ci_simulation_ace::process ( mha_spec_t signal)

Process function of the plugin interface class.

Parameters
signalPointer to the current input signal fragment
Returns
Pointer to the (unchanged) output signal fragment

◆ release()

void Ci_simulation_ace::release ( void  )
virtual

Release function of the plugin interface class.

Reimplemented from MHAPlugin::plugin_t< Ci_simulation_ace_cfg >.

◆ update_cfg()

void Ci_simulation_ace::update_cfg ( )
private

Runtime configuration update function of the plugin interface class.

Member Data Documentation

◆ algo_name

std::string Ci_simulation_ace::algo_name
private

Name of the algorithm within the plugin chain.

◆ n_electrodes

MHAParser::int_t Ci_simulation_ace::n_electrodes
private

Number of active electrodes (cannot be changed at runtime)

◆ compression_coefficient

MHAParser::float_t Ci_simulation_ace::compression_coefficient
private

Compression coefficient of the loudness growth function.

◆ base_level

MHAParser::float_t Ci_simulation_ace::base_level
private

Base level of the input (acoustic) dynamic range / Pa.

◆ saturation_level

MHAParser::float_t Ci_simulation_ace::saturation_level
private

Saturation level of the input (acoustic) dynamic range / Pa.

◆ threshold_level

MHAParser::vfloat_t Ci_simulation_ace::threshold_level
private

Vector containing the threshold level of the output (electric) dynamic range for each electrode / CU.

◆ comfort_level

MHAParser::vfloat_t Ci_simulation_ace::comfort_level
private

Vector containing the comfort level of the output (electric) dynamic range for each electrode / CU.

◆ disabled_electrodes

MHAParser::vint_t Ci_simulation_ace::disabled_electrodes
private

Vector containig the indices of any disabled electrodes.

◆ stimulation_order

MHAParser::kw_t Ci_simulation_ace::stimulation_order
private

Electrode stimulation order.

◆ randomization_seed

MHAParser::int_t Ci_simulation_ace::randomization_seed
private

Seed for randomization of stimulation order.

◆ patchbay

MHAEvents::patchbay_t<Ci_simulation_ace> Ci_simulation_ace::patchbay
private

Data member connecting an event emitter (i.e.

configuration variable) with a callback function of the plugin interface class

◆ random_number_generator

std::default_random_engine Ci_simulation_ace::random_number_generator
private

Random number generator for randomization of stimulation order.

◆ electrodogram_ac

MHA_AC::waveform_t* Ci_simulation_ace::electrodogram_ac
private

AC variable containing a pointer to the electrodogram (containing a matrix with dimensions m x n, where m = total number of electrodes and n = number of active electrodes, and where the order of the n active electrodes corrresponds to the temporal sequence of their activation)


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