Hi i have a problem with computation of mfcc
I have function feature_mfccs which needs mfccParams which i cumputed as a stuct but idk what windowFFT is. I tried function getDFT but iam really confused how to pass it into function feature_mfccs.
I tried to train a whole dataset based on only mfccs features but iam confused about the process a bit can anyone help please ?
function [FFT, Freq] = getDFT(signal, Fs, PLOT)
N = length(signal);
FFT = abs(fft(signal)) / N;
if nargin==2
FFT = FFT(1:ceil(N/2));
Freq = (Fs/2) * (1:ceil(N/2)) / ceil(N/2);
else
if (nargin==3)
FFT = fftshift(FFT);
if mod(N,2)==0
Freq = -N/2:N/2-1;
else
Freq = -(N-1)/2:(N-1)/2;
end
Freq = (Fs/2) * Freq ./ ceil(N/2);
end
end
function ceps = feature_mfccs(windowFFT, mfccParams)
earMag = log10(mfccParams.mfccFilterWeights * windowFFT+eps);
ceps = mfccParams.mfccDCTMatrix * earMag;