Internal: Convert FFT frequency bins to Bark/Mel bins

Description

Generate a matrix of weights to combine FFT bins into Bark/Mel bins.

Usage

1
2
3
4
5
fft2barkmx(nfft, sr = 8000, nfilts = NULL, width = 1, minfreq = 0, 
    maxfreq = sr/2)
    
fft2melmx(nfft, sr = 8000, nfilts = 40, width = 1, minfreq = 0, 
    maxfreq = sr/2, htkmel = FALSE, constamp = FALSE)

Arguments

nfft

Source FFT size.

sr

Sampling rate of the signal.

nfilts

Number of desired output frequency bands. If NULL then one per Bark/Mel between minfreq and maxfreq.

width

Width of each output frequency band in Bark/Mel.

minfreq

Minimum frequency.

maxfreq

Maximum frequency.

htkmel

Use HTK- or Slaney's curve of the Melscale.

constamp

Make integration windows peak at 1 (constamp=TRUE) or sum to 1 (constamp=FALSE)

Value

wts

The weight matrix with 'nfft' columns and 'nfilts' rows.

binfreqs

Edge frequencies of the bins.

Note

While wts has nfft columns, the second half are all zero. Hence, Bark spectrum is fft2barkmx(nfft, sr) %*% abs(fft(xincols, nfft)).

Author(s)

Sebastian Krey krey@statistik.tu-dortmund.de

References

Daniel P. W. Ellis: http://www.ee.columbia.edu/~dpwe/resources/matlab/rastamat/, Malcolm Slaney: Auditory Toolbox http://cobweb.ecn.purdue.edu/~malcolm/interval/1998-010/

See Also

hz2bark, hz2mel

Examples

1
2
  #Mel matrix in Slaney's mfcc.m:
  #tuneR:::fft2melmx(512, 8000, 40, 1, 133.33, 6855.5, FALSE, FALSE)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.