I am working with certain speech enhancement algorithms, for instance to remove stationary noise or impulse noise from a speech signal. Filters such as those can enhance the speech signal, but they can also corrupt it, e.g., by distorting the speech information.

Now I wish to investigate how much the speech signal is distorted. I am not so much interested in amplitude differences (that can be easily determined), but more about distortions, such as frequency distortions. I guess these are nonlinear distortions?

Now a student of mine dug up the coherence function mscohere in Matlab. It looks promising, but it gives a frequency-dependent distortion measure.

Is there a way to capture the coherence function, or related algorithm in a single number, such that I can directly compare the distortion across different conditions?

  • 1
    $\begingroup$ In many cases, it is useful to use the so-called shadow-filtering technique. Shadow-filtering means to apply the restoration to the clean speech signal, but estimate the restoration parameters from the disturbed signal. To do so, of course, you need the clean signal and I don't know whether that is the case in your specific application. But then, you can compute whatever distance/distortion measure (e.g., SNR, Itakura-Saito distance, PESQ, PEAQ) you like. $\endgroup$ – applesoup Jan 23 '19 at 19:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.