The Open Master Hearing Aid (openMHA)
openMHA
Open community platform for hearing aid algorithm research
|
Public Member Functions | |
unsigned | get_bands () const |
Each band is split into this number of bands. More... | |
unsigned | get_channels () const |
The number of separate audio channels. More... | |
unsigned | get_frames () const |
The number of frames in one chunk. More... | |
gtfb_simd_cfg_t (gtfb_simd_cfg_t &&)=delete | |
gtfb_simd_cfg_t & | operator= (gtfb_simd_cfg_t &&)=delete |
gtfb_simd_cfg_t (const gtfb_simd_cfg_t &)=delete | |
gtfb_simd_cfg_t & | operator= (const gtfb_simd_cfg_t &)=delete |
gtfb_simd_cfg_t (unsigned ch, unsigned frames, unsigned ord, const std::vector< mha_complex_t > &_coeff, const std::vector< mha_complex_t > &_norm_phase) | |
~gtfb_simd_cfg_t () | |
mha_wave_t * | process (mha_wave_t *s_in) |
Private Attributes | |
unsigned | order |
The order of the gammatone filters. More... | |
unsigned | bands |
Number of frequency bands per channel. More... | |
unsigned | channels |
Number of input audio channels. More... | |
unsigned | bandsXchannels |
Product of bands and channels. More... | |
std::vector< mha_complex_t > | norm_phase |
Combination of normalization and phase correction factor. More... | |
float * | rinputs |
input signal (1 sample) multiplied with norm_phase More... | |
float * | iinputs |
float * | rcoefficients |
The complex coefficients of the gammatone filter bands. More... | |
float * | icoefficients |
float * | rstates |
float * | istates |
float * | sout_buf |
output signal buffer, used by s_out. More... | |
float * | large_array |
Large float array. More... | |
mha_wave_t | s_out |
Configuration for Gammatone Filterbank SIMD Analyzer.
|
delete |
|
delete |
|
inline |
Create a configuration for Gammatone Filterbank Analyzer.
ch | Number of Audio channels. |
frames | Number of Audio frames per chunk. |
ord | The order of the gammatone filters. |
_coeff | Complex gammatone filter coefficients. |
_norm_phase | Normalization and phase correction factors. |
|
inline |
|
inline |
Each band is split into this number of bands.
|
inline |
The number of separate audio channels.
|
inline |
The number of frames in one chunk.
|
delete |
|
delete |
|
inline |
|
private |
The order of the gammatone filters.
|
private |
Number of frequency bands per channel.
|
private |
Number of input audio channels.
|
private |
Product of bands and channels.
|
private |
Combination of normalization and phase correction factor.
|
private |
input signal (1 sample) multiplied with norm_phase
|
private |
|
private |
The complex coefficients of the gammatone filter bands.
|
private |
|
private |
Storage for Filter state. Holds channels() * bands() * order complex filter states. Layout: state[stage * bandsXchannels + bands()*channel+band]
|
private |
|
private |
output signal buffer, used by s_out.
Contains bandsXchannels * fragsize *2 entries. all real parts come before all complex parts. Order is: channel 0 band 0 real, channel 0 band 1 real, ..., channel 1 band 0 real channel 1 band 1 real, ... channel 0 band 0 imag ... then next sample
|
private |
Large float array.
All previous pointers point into this array. Contains 3 unused entries to be able to adjust for alignment.
|
private |
Storage for the (complex) output signal. Each of the real input audio channels is split into frequency bands with complex time signal output. The split complex time signal is again stored in a mha_wave_t buffer. Each complex time signal is stored as adjacent real and imaginary channels. Complex output from one source channel is stored in adjacent complex output channels.