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

Plugin interface class for generating an auralized audio signal from the specified AC variable, using a stimulation strategy similar to a typical CIS (continuous interleaved sampling) coding strategy with 12 channels. More...

Inheritance diagram for Ci_auralization_cis:
Inheritance graph

Public Member Functions

 Ci_auralization_cis (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_wave_tprocess (mha_wave_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_auralization_cis_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::string_t ac_name
 Name of the AC variable containing the electrodogram (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 maximum_comfortable_level
 Vector containing the maximum comfortable level of the output (electric) dynamic range for each electrode / cu. More...
 
MHAParser::float_t electrode_distance
 Distance of the electrodes / m. More...
 
MHAParser::float_t lambda
 Length constant of exponential spread of excitation / m. More...
 
MHAParser::float_t phase_duration
 Duration of one phase of a biphasic pulse / s. More...
 
MHAParser::float_t interphase_gap
 Duration of the gap between the phases of a biphasic pulse / s. More...
 
MHAParser::kw_t phase_order
 Order of the phases of a biphasic pulse. More...
 
MHAEvents::patchbay_t< Ci_auralization_cispatchbay
 Data member connecting an event emitter (i.e. More...
 
mha_wave_t electrodogram
 Electrodogram (contains a matrix with dimensions m x m, where m = total number of electrodes n = number of active electrodes, and where the order of the n active electrodes corrrespondes to the temporal sequence of their activation) More...
 
unsigned int n_electrodes
 Number of active electrodes. More...
 
unsigned int m_electrodes
 Total number of electrodes per side. More...
 
MHA_AC::waveform_tstimulation_signal_ac
 AC variable containing a pointer to the stimulation signal (containing a matrix with dimensions m x fragsize, where m = total number of electrodes and fragsize = fragment size / samples, representing the actual electrical stimulation per electrode over time for the current fragment) 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_auralization_cis_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 auralized audio signal from the specified AC variable, using a stimulation strategy similar to a typical CIS (continuous interleaved sampling) coding strategy with 12 channels.

Constructor & Destructor Documentation

◆ Ci_auralization_cis()

Ci_auralization_cis::Ci_auralization_cis ( 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_auralization_cis::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_auralization_cis_cfg >.

◆ process()

mha_wave_t * Ci_auralization_cis::process ( mha_wave_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_auralization_cis::release ( void  )
virtual

Release function of the plugin interface class.

Reimplemented from MHAPlugin::plugin_t< Ci_auralization_cis_cfg >.

◆ update_cfg()

void Ci_auralization_cis::update_cfg ( )
private

Runtime configuration update function of the plugin interface class.

Member Data Documentation

◆ algo_name

std::string Ci_auralization_cis::algo_name
private

Name of the algorithm within the plugin chain.

◆ ac_name

MHAParser::string_t Ci_auralization_cis::ac_name
private

Name of the AC variable containing the electrodogram (cannot be changed at runtime)

◆ compression_coefficient

MHAParser::float_t Ci_auralization_cis::compression_coefficient
private

Compression coefficient of the loudness growth function.

◆ base_level

MHAParser::float_t Ci_auralization_cis::base_level
private

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

◆ saturation_level

MHAParser::float_t Ci_auralization_cis::saturation_level
private

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

◆ threshold_level

MHAParser::vfloat_t Ci_auralization_cis::threshold_level
private

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

◆ maximum_comfortable_level

MHAParser::vfloat_t Ci_auralization_cis::maximum_comfortable_level
private

Vector containing the maximum comfortable level of the output (electric) dynamic range for each electrode / cu.

◆ electrode_distance

MHAParser::float_t Ci_auralization_cis::electrode_distance
private

Distance of the electrodes / m.

◆ lambda

MHAParser::float_t Ci_auralization_cis::lambda
private

Length constant of exponential spread of excitation / m.

◆ phase_duration

MHAParser::float_t Ci_auralization_cis::phase_duration
private

Duration of one phase of a biphasic pulse / s.

◆ interphase_gap

MHAParser::float_t Ci_auralization_cis::interphase_gap
private

Duration of the gap between the phases of a biphasic pulse / s.

◆ phase_order

MHAParser::kw_t Ci_auralization_cis::phase_order
private

Order of the phases of a biphasic pulse.

◆ patchbay

MHAEvents::patchbay_t<Ci_auralization_cis> Ci_auralization_cis::patchbay
private

Data member connecting an event emitter (i.e.

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

◆ electrodogram

mha_wave_t Ci_auralization_cis::electrodogram
private

Electrodogram (contains a matrix with dimensions m x m, where m = total number of electrodes n = number of active electrodes, and where the order of the n active electrodes corrrespondes to the temporal sequence of their activation)

◆ n_electrodes

unsigned int Ci_auralization_cis::n_electrodes
private

Number of active electrodes.

◆ m_electrodes

unsigned int Ci_auralization_cis::m_electrodes
private

Total number of electrodes per side.

◆ stimulation_signal_ac

MHA_AC::waveform_t* Ci_auralization_cis::stimulation_signal_ac
private

AC variable containing a pointer to the stimulation signal (containing a matrix with dimensions m x fragsize, where m = total number of electrodes and fragsize = fragment size / samples, representing the actual electrical stimulation per electrode over time for the current fragment)


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