speech-recognitionlibrosamfcc

What is the number of Mel Filters used in librosa MFCC function?


librosa.feature.mfcc(y=None, sr=22050, S=None, n_mfcc=20, dct_type=2, norm='ortho', lifter=0, **kwargs)

The librosa MFCC function does not contain an parameter to be passed for the number of mel filters to be used. Is there a way to define it or does it use the default value of '''n_mels=128''' used in librosa.filters.mel.


Solution

  • The mfcc function will pass additional keyword arguments to librosa.feature.melspectrogram as specified in the doc under kwargs.

    kwargs: additional keyword arguments Arguments to melspectrogram, if operating on time series input

    If you go to melspectrogram, you'll see it is again linked to librosa.filters.mel under kwargs.

    kwargs: additional keyword arguments Mel filter bank parameters. See librosa.filters.mel for details.

    So, librosa.filters.mel is where you should check out for those parameters. This function has all the parameters you need here.

    librosa.filters.mel(sr, n_fft, n_mels=128, fmin=0.0, fmax=None, htk=False, norm='slaney', dtype=<class 'numpy.float32'>)


    To summarize, you can pass parameters like n_mels, fmin and fmax or temporal parameters like n_fft (as defined in librosa.filters.mel) or hop_length (as defined in librosa.features.melspectrogram).