Runtime configuration class for generating an auralized audio signal from the specified AC variable, using a stimulation strategy similar to a typical ACE (advanced combination encoder, n-of-m) coding strategy with 22 channels.
More...
|
| Ci_auralization_ace_cfg (std::string ac_name, mha_real_t compression_coefficient, 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_ace *Ci_auralization_ace) |
| Constructor of the runtime configuration class. More...
|
|
mha_wave_t * | process (mha_wave_t *signal, Ci_auralization_ace *Ci_auralization_ace, MHA_AC::waveform_t *stimulation_signal_ac) |
| Process function of the runtime configuration class (main signal processing function). More...
|
|
Runtime configuration class for generating an auralized audio signal from the specified AC variable, using a stimulation strategy similar to a typical ACE (advanced combination encoder, n-of-m) coding strategy with 22 channels.
◆ Ci_auralization_ace_cfg()
Ci_auralization_ace_cfg::Ci_auralization_ace_cfg |
( |
std::string |
ac_name, |
|
|
mha_real_t |
compression_coefficient, |
|
|
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_ace * |
Ci_auralization_ace |
|
) |
| |
Constructor of the runtime configuration class.
- Parameters
-
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 |
comfort_level | Vector containing the comfort level of the output (electric) dynamic range for each electrode |
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 n, where m = total number of electrodes and n = number of active electrodes, and where the order of the n active electrodes corrrespondes to the temporal sequence of their activation) |
n_electrodes | Number of active electrodes |
m_electrodes | Total number of electrodes per side |
Ci_auralization_ace | Pointer to the current instance of the plugin interface class |
◆ process()
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
- Parameters
-
signal | Pointer to the current input signal fragment |
Ci_auralization_ace | Pointer to the current instance of the plugin interface class |
stimulation_signal_ac | AC variable containing a pointer to the stimulation signal |
- Returns
- Pointer to the (unchanged) output signal fragment
◆ ac_name_cfg
std::string Ci_auralization_ace_cfg::ac_name_cfg |
|
private |
Name of the AC variable containing the electrodogram (cannot be changed at runtime)
◆ compression_coefficient_cfg
mha_real_t Ci_auralization_ace_cfg::compression_coefficient_cfg |
|
private |
Compression coefficient of the loudness growth function.
◆ base_level_cfg
mha_real_t Ci_auralization_ace_cfg::base_level_cfg |
|
private |
Base level of the input (acoustic) dynamic range / Pa.
◆ saturation_level_cfg
mha_real_t Ci_auralization_ace_cfg::saturation_level_cfg |
|
private |
Saturation level of the input (acoustic) dynamic range / Pa.
◆ threshold_level_cfg
std::vector<mha_real_t> Ci_auralization_ace_cfg::threshold_level_cfg |
|
private |
Vector containing the threshold level of the output (electric) dynamic range for each electrode.
◆ comfort_level_cfg
std::vector<mha_real_t> Ci_auralization_ace_cfg::comfort_level_cfg |
|
private |
Vector containing the comfort level of the output (electric) dynamic range for each electrode.
◆ electrode_distance_cfg
mha_real_t Ci_auralization_ace_cfg::electrode_distance_cfg |
|
private |
Distance of the electrodes / m.
◆ lambda_cfg
Length constant of exponential spread of excitation / m.
◆ phase_duration_cfg
mha_real_t Ci_auralization_ace_cfg::phase_duration_cfg |
|
private |
Duration of one phase of a biphasic pulse / s.
◆ interphase_gap_cfg
mha_real_t Ci_auralization_ace_cfg::interphase_gap_cfg |
|
private |
Duration of the gap between the phases of a biphasic pulse / s.
◆ phase_order_cfg
unsigned int Ci_auralization_ace_cfg::phase_order_cfg |
|
private |
Order of the phases of a biphasic pulse.
◆ electrodogram_cfg
mha_wave_t Ci_auralization_ace_cfg::electrodogram_cfg |
|
private |
Electrodogram (contains 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 corrrespondes to the temporal sequence of their activation)
◆ n_electrodes_cfg
unsigned int Ci_auralization_ace_cfg::n_electrodes_cfg |
|
private |
Number of active electrodes.
◆ m_electrodes_cfg
unsigned int Ci_auralization_ace_cfg::m_electrodes_cfg |
|
private |
Total number of electrodes per side.
The documentation for this class was generated from the following files: