def getCepsVect(y): ceps, mspec, spec = mfcc(y) vect_of_mccf = np.zeros(COEFS) for j in range(COEFS): vect_of_mccf[j] = RecordModule.arithmeticMean(ceps.T[j]) vect_of_mccf[0] = 0 return vect_of_mccf
# Compute the spectrum magnitude spec = np.abs(fft(framed, nfft, axis=-1)) # Filter the spectrum through the triangle filterbank mspec = np.log10(np.dot(spec, fbank.T)) # Use the DCT to 'compress' the coefficients (spectrum -> cepstrum domain) ceps = dct(mspec, type=2, norm='ortho', axis=-1)[:, :nceps] return ceps, mspec, spec def preemp(input, p): """Pre-emphasis filter.""" return lfilter([1., -p], 1, input) if __name__ == '__main__': for i in range(10): filename = "learn_set//wlacz//"+str(i+1)+".wav" RATE = 44100.0 t,y = PlotModule.readWav(filename, RATE) ceps, mspec, spec = mfcc(y) print(ceps.shape) vect_of_mccf = np.zeros(len(ceps.T)) for i in range(len(ceps.T)): vect_of_mccf[i] = RecordModule.arithmeticMean(ceps.T[i]) # sum(data.T[i]) # pylab.title("ceps : ") pylab.plot(range(len(vect_of_mccf)), vect_of_mccf, 'g') pylab.show()
mspec = np.log10(np.dot(spec, fbank.T)) # Use the DCT to 'compress' the coefficients (spectrum -> cepstrum domain) ceps = dct(mspec, type=2, norm='ortho', axis=-1)[:, :nceps] return ceps, mspec, spec def preemp(input, p): """Pre-emphasis filter.""" return lfilter([1., -p], 1, input) if __name__ == '__main__': for i in range(10): filename = "learn_set//wlacz//" + str(i + 1) + ".wav" RATE = 44100.0 t, y = PlotModule.readWav(filename, RATE) ceps, mspec, spec = mfcc(y) print(ceps.shape) vect_of_mccf = np.zeros(len(ceps.T)) for i in range(len(ceps.T)): vect_of_mccf[i] = RecordModule.arithmeticMean( ceps.T[i]) # sum(data.T[i]) # pylab.title("ceps : ") pylab.plot(range(len(vect_of_mccf)), vect_of_mccf, 'g') pylab.show()