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

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...

Public Member Functions

 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_tprocess (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...
 

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_tthreshold_level_cfg
 Vector containing the threshold level of the output (electric) dynamic range for each electrode. More...
 
std::vector< mha_real_tcomfort_level_cfg
 Vector containing the comfort level of the output (electric) dynamic range for each electrode. 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 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) More...
 
unsigned int n_electrodes_cfg
 Number of active electrodes. More...
 
unsigned int m_electrodes_cfg
 Total number of electrodes per side. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ 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_nameName of the AC variable containing the electrodogram (cannot be changed at runtime)
compression_coefficientCompression coefficient of the loudness growth function
base_levelBase level of the input (acoustic) dynamic range / Pa
saturation_levelSaturation level of the input (acoustic) dynamic range / Pa
threshold_levelVector containing the threshold level of the output (electric) dynamic range for each electrode
comfort_levelVector containing the comfort level of the output (electric) dynamic range for each electrode
electrode_distanceDistance of the electrodes / m
lambdaLength constant of exponential spread of excitation / m
phase_durationDuration of one phase of a biphasic pulse / s
interphase_gapDuration of the gap between the phases of a biphasic pulse / s
phase_orderOrder of the phases of a biphasic pulse
electrodogramElectrodogram (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_electrodesNumber of active electrodes
m_electrodesTotal number of electrodes per side
Ci_auralization_acePointer to the current instance of the plugin interface class

Member Function Documentation

◆ process()

mha_wave_t * Ci_auralization_ace_cfg::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).

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
signalPointer to the current input signal fragment
Ci_auralization_acePointer to the current instance of the plugin interface class
stimulation_signal_acAC variable containing a pointer to the stimulation signal
Returns
Pointer to the (unchanged) output signal fragment

Member Data Documentation

◆ 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

mha_real_t Ci_auralization_ace_cfg::lambda_cfg
private

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: