Page 1 of 1

equalize plugin

Posted: Thu Mar 17, 2022 5:49 pm
by dpoznan
I would like to use the equalize plugin to implement the calibration of mic & speakers.

Using a single peaklevel for a given frequency doesn't seem appropriate.

However, I do not see any documentation on how one comes up with the gain values for equalize. Further, what is the frequency range that they apply to.

Can anyone point to documentation or an article that would healp.

Thanks,

Dan

Re: equalize plugin

Posted: Thu Mar 17, 2022 7:16 pm
by tobiasherzke
http://www.openmha.org/documentation/ includes a calibration manual.

Re: equalize plugin

Posted: Thu Mar 17, 2022 9:09 pm
by hendrikkayser
Documentation of the equalize plugin is found in the plugin documentation:
http://www.openmha.org/docs/openMHA_plu ... ection.9.1

In a nutshell, a vector needs to be provided that contains a linear gain value for each fft bin. The fft bins / frequency range depend on sampling rate and paramter values used in the STFT framework, e.g., the overlapadd plugin.

An example realizing a decomb filter in the generic hearing aid example configuration for the PHL is found here .

Re: equalize plugin

Posted: Thu Mar 17, 2022 9:47 pm
by dpoznan
I have seen the equalize documentation. It is close to worthless.


You comment:

"In a nutshell, a vector needs to be provided that contains a linear gain value for each fft bin. The fft bins / frequency range depend on sampling rate and paramter values used in the STFT framework, e.g., the overlapadd plugin."


I don't see any variable that specifies a frequency range.

I see how many gain values are required, but I do not see the frequency range specified anywhere.

Dan..

Re: equalize plugin

Posted: Fri Mar 18, 2022 6:48 am
by tobiasherzke
The equalize documentation looks like this:
The MHA plugin equalize supports these signal domains:
• spectrum to spectrum
The equalize plugin needs to be placed in a location where spectral processing happens (inputs are spectra, outputs are spectra). The equalize plugin's variable documentation looks like this:
equalize_excerpt.png
equalize_excerpt.png (40.95 KiB) Viewed 3562 times

The FFT resolution mentioned in the documentation is defined by sampling rate and FFT length, both of which are decided outside of the equalize plugin, but you can read them from mhaconfig_in.srate and mhaconfig_in.fftlen after prepare.

In spectral signal processing, each FFT bin corresponds to a different frequency, the frequencies are spaced srate/fftlen apart, the first bin for each channel corresponds to 0 Hz, and then the frequency increases in steps of srate/fftlen.