1import cmsisdsp as dsp 2import numpy as np 3import cmsisdsp.fixedpoint as f 4import cmsisdsp.mfcc as mfcc 5import scipy.signal as sig 6from mfccdebugdata import * 7from cmsisdsp.datatype import F32 8 9 10mfccf32=dsp.arm_mfcc_instance_f32() 11 12sample_rate = 16000 13FFTSize = 256 14numOfDctOutputs = 13 15 16freq_min = 64 17freq_high = sample_rate / 2 18numOfMelFilters = 20 19 20window = sig.windows.hamming(FFTSize, sym=False) 21 22filtLen,filtPos,packedFilters = mfcc.melFilterMatrix(F32,freq_min, freq_high, numOfMelFilters,sample_rate,FFTSize) 23 24 25dctMatrixFilters = mfcc.dctMatrix(F32,numOfDctOutputs, numOfMelFilters) 26 27 28 29 30status=dsp.arm_mfcc_init_f32(mfccf32,FFTSize,numOfMelFilters,numOfDctOutputs,dctMatrixFilters, 31 filtPos,filtLen,packedFilters,window) 32print(status) 33 34tmp=np.zeros(FFTSize + 2) 35 36res=dsp.arm_mfcc_f32(mfccf32,debug,tmp) 37 38print(res) 39 40print(ref) 41 42print(mfccf32.fftLen()) 43print(mfccf32.nbMelFilters()) 44print(mfccf32.nbDctOutputs()) 45