The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
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...
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_t * | process (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_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 () | |
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_cis > | patchbay |
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_t * | stimulation_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_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 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.
Ci_auralization_cis::Ci_auralization_cis | ( | algo_comm_t & | ac, |
const std::string & | algo_name | ||
) |
Constructor of the plugin interface class.
ac | Reference to the processing chain structure |
algo_name | Reference to the algorithm name |
|
virtual |
Prepare function of the plugin interface class.
signal_info | Reference to the prepare configuration structure |
Implements MHAPlugin::plugin_t< Ci_auralization_cis_cfg >.
mha_wave_t * Ci_auralization_cis::process | ( | mha_wave_t * | signal | ) |
Process function of the plugin interface class.
signal | Pointer to the current input signal fragment |
|
virtual |
Release function of the plugin interface class.
Reimplemented from MHAPlugin::plugin_t< Ci_auralization_cis_cfg >.
|
private |
Runtime configuration update function of the plugin interface class.
|
private |
Name of the algorithm within the plugin chain.
|
private |
Name of the AC variable containing the electrodogram (cannot be changed at runtime)
|
private |
Compression coefficient of the loudness growth function.
|
private |
Base level of the input (acoustic) dynamic range / Pa.
|
private |
Saturation level of the input (acoustic) dynamic range / Pa.
|
private |
Vector containing the threshold level of the output (electric) dynamic range for each electrode / cu.
|
private |
Vector containing the maximum comfortable level of the output (electric) dynamic range for each electrode / cu.
|
private |
Distance of the electrodes / m.
|
private |
Length constant of exponential spread of excitation / m.
|
private |
Duration of one phase of a biphasic pulse / s.
|
private |
Duration of the gap between the phases of a biphasic pulse / s.
|
private |
Order of the phases of a biphasic pulse.
|
private |
Data member connecting an event emitter (i.e.
configuration variable) with a callback function of the plugin interface class
|
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)
|
private |
Number of active electrodes.
|
private |
Total number of electrodes per side.
|
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)