equalize plugin

Post Reply
dpoznan
Posts: 52
Joined: Wed Jun 30, 2021 10:50 pm

equalize plugin

Post by dpoznan » Thu Mar 17, 2022 5:49 pm

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

tobiasherzke
Posts: 109
Joined: Mon Jun 24, 2019 12:51 pm

Re: equalize plugin

Post by tobiasherzke » Thu Mar 17, 2022 7:16 pm

http://www.openmha.org/documentation/ includes a calibration manual.

hendrikkayser
Posts: 34
Joined: Fri May 10, 2019 7:58 am

Re: equalize plugin

Post by hendrikkayser » Thu Mar 17, 2022 9:09 pm

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 .

dpoznan
Posts: 52
Joined: Wed Jun 30, 2021 10:50 pm

Re: equalize plugin

Post by dpoznan » Thu Mar 17, 2022 9:47 pm

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

tobiasherzke
Posts: 109
Joined: Mon Jun 24, 2019 12:51 pm

Re: equalize plugin

Post by tobiasherzke » Fri Mar 18, 2022 6:48 am

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

Post Reply