0
$\begingroup$

I’m working on a project (python-based) that would use ideal ratio masks (IRMs) as a basis for cleaning noisy speech in various environments. Specifically, this will be accomplished through the use of a convolution neural network, where input features would be either a cochleagram or STFT data matched with its respective IRM label.

(This is the article I’m basing my project on --> http://web.cse.ohio-state.edu/~wang.77/papers/CWYWH.jasa16.pdf)

As I’m (relatively) fairly new to learning about digital signal processing, I was hoping someone would be able to give me an explanation hilighting some of the differences between cochleagrams and STFTs, and what their individual use-cases would be.

Many thanks in advance!

$\endgroup$
0
$\begingroup$

I was hoping someone would be able to give me an explanation hilighting some of the differences between cochleagrams and STFTs, and what their individual use-cases would be

STFT (short time fourier transform) is a technique that is used to obtain a time-frequency representation of audio signals. Spectrograms and phase vocoders are arguably the most important applications of the STFT.

The cochleagram, (which is really just a variant of the spectrogram), is also used to obtain a time-frequency representation of audio signals but has one major difference compared to STFTs (and spectrograms).

Regular spectrograms have a constant channel (frequency bin) bandwidth, which is given simply by $f_s / N$ (the sampling rate divided by the number of samples ). In contrast to that, cochleagrams' channels have different bandwidths, which are chosen to mimic human hearing (the cochlea). There're more than just one (empirical) equation to compute the cochleagram bands and one of them can be found here ( https://en.wikipedia.org/wiki/Critical_band )

$$ERB(f) = 24.7 * (4.37 f / 1000 + 1) (eq 1)$$

In a cochleagram, the bandwidths grow increasingly larger with increasing frequency. Note also, that it's possible to create a cochleagram by using a normal STFT and then averaging the energy found in several frequency bins so that they match the bandwidth(s) given by eq #1. Alternatively, you can use gammatone filters, which are basically band-pass filters of different bandwidth.

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thank you so much! Just a quick follow-up, how would a cochleagram-based STFT compare to a log-scaled mel spectrogram? Are they similar models of human auditory perception? $\endgroup$ – Jennifer Jacobs Jun 17 at 4:02
  • $\begingroup$ @Jennifer Jacobs, yes, that's just another log scale based on human perception. Of course, not everyone agrees that using either critical bands or the mel scale is actually any better than using regular (linear) spectrograms. Creating models for sound segregation is really an area of active R&D. Nowadays, statistics based approaches (GMMs, NFMs etc) are also used a lot for this kind of thing but they're not a silver bullet either although they've been known to work extremely well in certain situations. $\endgroup$ – dsp_user Jun 17 at 6:17

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.