The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
Runtime configuration 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_cfg (std::string ac_name, mha_real_t steepness, mha_real_t base_level, mha_real_t saturation_level, std::vector< mha_real_t > threshold_level, std::vector< mha_real_t > comfort_level, mha_real_t electrode_distance, mha_real_t lambda, mha_real_t phase_duration, mha_real_t interphase_gap, unsigned int phase_order, mha_wave_t electrodogram, unsigned int n_electrodes, unsigned int m_electrodes, Ci_auralization_cis *Ci_auralization_cis) | |
Constructor of the runtime configuration class. More... | |
mha_wave_t * | process (mha_wave_t *signal, Ci_auralization_cis *Ci_auralization_cis, MHA_AC::waveform_t *stimulation_signal_ac) |
Process function of the runtime configuration class (main signal processing function). More... | |
Private Attributes | |
std::string | ac_name_cfg |
Name of the AC variable containing the electrodogram (cannot be changed at runtime) More... | |
mha_real_t | compression_coefficient_cfg |
Compression coefficient of the loudness growth function. More... | |
mha_real_t | base_level_cfg |
Base level of the input (acoustic) dynamic range / Pa. More... | |
mha_real_t | saturation_level_cfg |
Saturation level of the input (acoustic) dynamic range / Pa. More... | |
std::vector< mha_real_t > | threshold_level_cfg |
Vector containing the threshold level of the output (electric) dynamic range for each electrode / cu. More... | |
std::vector< mha_real_t > | maximum_comfortable_level_cfg |
Vector containing the maximum comfortable level of the output (electric) dynamic range for each electrode / cu. More... | |
mha_real_t | electrode_distance_cfg |
Distance of the electrodes / m. More... | |
mha_real_t | lambda_cfg |
Length constant of exponential spread of excitation / m. More... | |
mha_real_t | phase_duration_cfg |
Duration of one phase of a biphasic pulse / s. More... | |
mha_real_t | interphase_gap_cfg |
Duration of the gap between the phases of a biphasic pulse / s. More... | |
unsigned int | phase_order_cfg |
Order of the phases of a biphasic pulse. More... | |
mha_wave_t | electrodogram_cfg |
Electrodogram (contains a matrix with dimensions m x m, where m = total number of electrodes = number of active electrodes, and where the order of the active electrodes corrresponds to the temporal sequence of their activation) More... | |
unsigned int | n_electrodes_cfg |
Number of active electrodes. More... | |
unsigned int | m_electrodes_cfg |
Total number of electrodes per side. More... | |
Runtime configuration 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_cfg::Ci_auralization_cis_cfg | ( | std::string | ac_name, |
mha_real_t | steepness, | ||
mha_real_t | base_level, | ||
mha_real_t | saturation_level, | ||
std::vector< mha_real_t > | threshold_level, | ||
std::vector< mha_real_t > | comfort_level, | ||
mha_real_t | electrode_distance, | ||
mha_real_t | lambda, | ||
mha_real_t | phase_duration, | ||
mha_real_t | interphase_gap, | ||
unsigned int | phase_order, | ||
mha_wave_t | electrodogram, | ||
unsigned int | n_electrodes, | ||
unsigned int | m_electrodes, | ||
Ci_auralization_cis * | Ci_auralization_cis | ||
) |
Constructor of the runtime configuration class.
ac_name | Name of the AC variable containing the electrodogram (cannot be changed at runtime) |
compression_coefficient | Compression coefficient of the loudness growth function |
base_level | Base level of the input (acoustic) dynamic range / Pa |
saturation_level | Saturation level of the input (acoustic) dynamic range / pa |
threshold_level | Vector containing the threshold level of the output (electric) dynamic range for each electrode / cu |
maximum_comfortable_level | Vector containing the maximum comfortable level of the output (electric) dynamic range for each electrode / cu |
electrode_distance | Distance of the electrodes / m |
lambda | Length constant of exponential spread of excitation / m |
phase_duration | Duration of one phase of a biphasic pulse / s |
interphase_gap | Duration of the gap between the phases of a biphasic pulse / s |
phase_order | Order of the phases of a biphasic pulse |
electrodogram | Electrodogram (contains a matrix with dimensions m x m, where m = total number of electrodes = number of active electrodes, and where the order of the active electrodes corrresponds to the temporal sequence of their activation) |
n_electrodes | Number of active electrodes |
m_electrodes | Total number of electrodes per side |
Ci_auralization_cis | Pointer to the current instance of the plugin interface class |
mha_wave_t * Ci_auralization_cis_cfg::process | ( | mha_wave_t * | signal, |
Ci_auralization_cis * | Ci_auralization_cis, | ||
MHA_AC::waveform_t * | stimulation_signal_ac | ||
) |
Process function of the runtime configuration class (main signal processing function).
It leaves the input signal fragment unchanged; its purpose is to compute the AC variable stimulation_signal_ac, which contains all the electrode-specific information (including concrete time specifications) necessary for auralization, for further processing in the plugin chain
signal | Pointer to the current input signal fragment |
Ci_auralization_cis | Pointer to the current instance of the plugin interface class |
stimulation_signal_ac | AC variable containing a pointer to the stimulation signal |
|
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 |
Electrodogram (contains a matrix with dimensions m x m, where m = total number of electrodes = number of active electrodes, and where the order of the active electrodes corrresponds to the temporal sequence of their activation)
|
private |
Number of active electrodes.
|
private |
Total number of electrodes per side.