diff --git a/.gitignore b/.gitignore index a9394975..04a80ad8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ DSP_Lib_TestSuite/build/ PythonWrapper/build/ PythonWrapper/cmsisdsp.cp36-win_amd64.pyd +PythonWrapper/internal.cp36-win_amd64.pyd PythonWrapper/*.so PythonWrapper/rec_2.dat *.pickle @@ -15,3 +16,4 @@ Projects/ARM/IntermediateFiles/ .ipynb_checkpoints Examples/ARM/*/RTE/ Examples/ARM/*/MTICoverageOut.cov +CMSISDSP.egg-info/ diff --git a/Include/dsp/transform_functions.h b/Include/dsp/transform_functions.h index b7882b68..0494fd2f 100755 --- a/Include/dsp/transform_functions.h +++ b/Include/dsp/transform_functions.h @@ -584,6 +584,57 @@ arm_status arm_rfft_fast_init_f32 ( q15_t * pInlineBuffer); + /** + * @brief Instance structure for the Floating-point MFCC function. + */ +typedef struct + { + const float32_t *dctCoefs; /**< Internal DCT coefficients */ + const float32_t *filterCoefs; /**< Internal Mel filter coefficients */ + const float32_t *windowCoefs; /**< Windowing coefficients */ + const uint32_t *filterPos; /**< Internal Mel filter positions in spectrum */ + const uint32_t *filterLengths; /**< Internal Mel filter lengths */ + uint32_t fftLen; /**< FFT length */ + uint32_t nbMelFilters; /**< Number of Mel filters */ + uint32_t nbDctOutputs; /**< Number of DCT outputs */ +#if defined(ARM_MFCC_CFFT_BASED) + /* Implementation of the MFCC is using a CFFT */ + arm_cfft_instance_f32 cfft; /**< Internal CFFT instance */ +#else + /* Implementation of the MFCC is using a RFFT (default) */ + arm_rfft_fast_instance_f32 rfft; +#endif + } arm_mfcc_instance_f32 ; + +arm_status arm_mfcc_init_f32( + arm_mfcc_instance_f32 * S, + uint32_t fftLen, + uint32_t nbMelFilters, + uint32_t nbDctOutputs, + const float32_t *dctCoefs, + const uint32_t *filterPos, + const uint32_t *filterLengths, + const float32_t *filterCoefs, + const float32_t *windowCoefs + ); + + +/** + @brief MFCC F32 + @param[in] S points to the mfcc instance structure + @param[in] pSrc points to the input samples + @param[out] pDst points to the output MFCC values + @param[inout] pTmp points to a temporary buffer of complex + @return none + */ + void arm_mfcc_f32( + arm_mfcc_instance_f32 * S, + float32_t *pSrc, + float32_t *pDst, + float32_t *pTmp + ); + + #ifdef __cplusplus } diff --git a/PythonWrapper/README.md b/PythonWrapper/README.md index d032a688..62b2264c 100644 --- a/PythonWrapper/README.md +++ b/PythonWrapper/README.md @@ -219,6 +219,17 @@ Goldberger AL, Amaral LAN, Glass L, Hausdorff JM, Ivanov PCh, Mark RG, Mietus JE Note that the example file +## Submodules + +The Python wrapper is containing two submodules : fixedpoint and mfcc + +fixedpoint is proving some tools to help generating the fixedpoint values expected +by CMSIS-DSP. + +mfcc is generating some tools to generate the MEL filters, DCT and window coefficients +expected by the CMSIS-DSP MFCC implemetation. + +MEL filters are represented as 3 arrays to encode a sparse array. # LIMITATIONS diff --git a/PythonWrapper/cmsisdsp/__init__.py b/PythonWrapper/cmsisdsp/__init__.py new file mode 100755 index 00000000..03112a54 --- /dev/null +++ b/PythonWrapper/cmsisdsp/__init__.py @@ -0,0 +1,2 @@ +from internal import * + diff --git a/PythonWrapper/fixedpoint.py b/PythonWrapper/cmsisdsp/fixedpoint.py similarity index 100% rename from PythonWrapper/fixedpoint.py rename to PythonWrapper/cmsisdsp/fixedpoint.py diff --git a/PythonWrapper/cmsisdsp/mfcc.py b/PythonWrapper/cmsisdsp/mfcc.py new file mode 100755 index 00000000..6e6d2e55 --- /dev/null +++ b/PythonWrapper/cmsisdsp/mfcc.py @@ -0,0 +1,65 @@ +import numpy as np + +def frequencyToMelSpace(freq): + return 1127.0 * np.log(1.0 + freq / 700.0) + +def melSpaceToFrequency(mels): + return 700.0 * (np.exp(mels / 1127.0) - 1.0) + +def melFilterMatrix(fmin, fmax, numOfMelFilters,fs,FFTSize): + + filters = np.zeros((numOfMelFilters,int(FFTSize/2+1))) + zeros = np.zeros(int(FFTSize // 2 )) + + + fmin_mel = frequencyToMelSpace(fmin) + fmax_mel = frequencyToMelSpace(fmax) + mels = np.linspace(fmin_mel, fmax_mel, num=numOfMelFilters+2) + + + linearfreqs = np.linspace( 0, fs/2.0, int(FFTSize // 2 + 1) ) + spectrogrammels = frequencyToMelSpace(linearfreqs)[1:] + + + filtPos=[] + filtLen=[] + totalLen = 0 + packedFilters = [] + for n in range(numOfMelFilters): + + + upper = (spectrogrammels - mels[n])/(mels[n+1]-mels[n]) + lower = (mels[n+2] - spectrogrammels)/(mels[n+2]-mels[n+1]) + + + filters[n, :] = np.hstack([0,np.maximum(zeros,np.minimum(upper,lower))]) + nb = 0 + startFound = False + for sample in filters[n, :]: + if not startFound and sample != 0.0: + startFound = True + startPos = nb + + if startFound and sample == 0.0: + endPos = nb - 1 + break + nb = nb + 1 + filtLen.append(endPos - startPos+1) + totalLen += endPos - startPos + 1 + filtPos.append(startPos) + packedFilters += list(filters[n, startPos:endPos+1]) + + return filtLen,filtPos,totalLen,packedFilters,filters + + +def dctMatrix(numOfDctOutputs, numOfMelFilters): + + result = np.zeros((numOfDctOutputs,numOfMelFilters)) + s=(np.linspace(1,numOfMelFilters,numOfMelFilters) - 0.5)/numOfMelFilters + + for i in range(0, numOfDctOutputs): + result[i,:]=np.cos(i * np.pi*s) * np.sqrt(2.0/numOfMelFilters) + + return result.reshape(numOfDctOutputs*numOfMelFilters) + + diff --git a/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.c b/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.c index 5a3b6d3c..bf08a6b7 100644 --- a/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.c +++ b/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.c @@ -41,8 +41,8 @@ #ifdef CMSISDSP #include "arm_math.h" -#define MODNAME "cmsisdsp" -#define MODINITNAME cmsisdsp +#define MODNAME "internal" +#define MODINITNAME internal #endif #include diff --git a/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h b/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h index 802c745b..ed0f50d2 100644 --- a/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h +++ b/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h @@ -5676,6 +5676,90 @@ static PyMethodDef arm_fir_sparse_instance_q7_methods[] = { MLTYPE(arm_fir_sparse_instance_q7,arm_fir_sparse_instance_q7_new,arm_fir_sparse_instance_q7_dealloc,arm_fir_sparse_instance_q7_init,arm_fir_sparse_instance_q7_methods); +typedef struct { + PyObject_HEAD + arm_mfcc_instance_f32 *instance; +} ml_arm_mfcc_instance_f32Object; + + +static void +arm_mfcc_instance_f32_dealloc(ml_arm_mfcc_instance_f32Object* self) +{ + //printf("Dealloc called\n"); + if (self->instance) + { + + + PyMem_Free(self->instance); + } + + Py_TYPE(self)->tp_free((PyObject*)self); +} + + +static PyObject * +arm_mfcc_instance_f32_new(PyTypeObject *type, PyObject *args, PyObject *kwds) +{ + ml_arm_mfcc_instance_f32Object *self; + //printf("New called\n"); + + self = (ml_arm_mfcc_instance_f32Object *)type->tp_alloc(type, 0); + //printf("alloc called\n"); + + if (self != NULL) { + + self->instance = PyMem_Malloc(sizeof(arm_mfcc_instance_f32)); + + self->instance->dctCoefs = NULL; + self->instance->filterCoefs = NULL; + self->instance->windowCoefs = NULL; + self->instance->filterPos = NULL; + self->instance->filterLengths = NULL; + + } + + + return (PyObject *)self; +} + +static int +arm_mfcc_instance_f32_init(ml_arm_mfcc_instance_f32Object *self, PyObject *args, PyObject *kwds) +{ + + PyObject *pTwiddle=NULL; + PyObject *pBitRevTable=NULL; +char *kwlist[] = { +"fftLen","nbMelFilters","nbDctOutputs",NULL +}; + +if (PyArg_ParseTupleAndKeywords(args, kwds, "|iii", kwlist,&self->instance->fftLen +,&self->instance->nbMelFilters,&self->instance->nbDctOutputs +)) + { + + + } + return 0; +} + +GETFIELD(arm_mfcc_instance_f32,fftLen,"i"); +GETFIELD(arm_mfcc_instance_f32,nbMelFilters,"i"); +GETFIELD(arm_mfcc_instance_f32,nbDctOutputs,"i"); + + +static PyMethodDef arm_mfcc_instance_f32_methods[] = { + + {"fftLen", (PyCFunction) Method_arm_mfcc_instance_f32_fftLen,METH_NOARGS,"fftLen"}, + {"nbMelFilters", (PyCFunction) Method_arm_mfcc_instance_f32_nbMelFilters,METH_NOARGS,"nbMelFilters"}, + {"nbDctOutputs", (PyCFunction) Method_arm_mfcc_instance_f32_nbDctOutputs,METH_NOARGS,"nbDctOutputs"}, + + {NULL} /* Sentinel */ +}; + + +MLTYPE(arm_mfcc_instance_f32,arm_mfcc_instance_f32_new,arm_mfcc_instance_f32_dealloc,arm_mfcc_instance_f32_init,arm_mfcc_instance_f32_methods); + + void typeRegistration(PyObject *module) { @@ -5740,7 +5824,7 @@ void typeRegistration(PyObject *module) { ADDTYPE(arm_fir_sparse_instance_q31); ADDTYPE(arm_fir_sparse_instance_q15); ADDTYPE(arm_fir_sparse_instance_q7); - + ADDTYPE(arm_mfcc_instance_f32); } @@ -14803,6 +14887,33 @@ cmsis_arm_sqrt_q31(PyObject *obj, PyObject *args) return(NULL); } +static PyObject * +cmsis_arm_divide_q15(PyObject *obj, PyObject *args) +{ + + q15_t num,den; // input + q15_t pOut,shift; // output + + if (PyArg_ParseTuple(args,"hh",&num,&den)) + { + + + + arm_status returnValue = arm_divide_q15(num,den,&pOut,&shift); + PyObject* theReturnOBJ=Py_BuildValue("i",returnValue); + PyObject* pOutOBJ=Py_BuildValue("h",pOut); + PyObject* pShiftOBJ=Py_BuildValue("i",shift); + + PyObject *pythonResult = Py_BuildValue("OOO",theReturnOBJ,pOutOBJ,pShiftOBJ); + + Py_DECREF(theReturnOBJ); + Py_DECREF(pOutOBJ); + Py_DECREF(pShiftOBJ); + return(pythonResult); + + } + return(NULL); +} static PyObject * cmsis_arm_sqrt_q15(PyObject *obj, PyObject *args) @@ -16884,6 +16995,102 @@ cmsis_arm_bilinear_interp_q7(PyObject *obj, PyObject *args) return(NULL); } +/* + +MFCC + +*/ + +static PyObject * +cmsis_arm_mfcc_init_f32(PyObject *obj, PyObject *args) +{ + + PyObject *S=NULL; // input + uint32_t fftLen,nbMelFilters,nbDctOutputs; // input + + PyObject *pdctCoefs=NULL; // input + float32_t *pdctCoefs_converted=NULL; // input + + PyObject *pfilterCoefs=NULL; // input + float32_t *pfilterCoefs_converted=NULL; // input + + PyObject *pwindowCoefs=NULL; // input + float32_t *pwindowCoefs_converted=NULL; // input + + PyObject *pfilterPos=NULL; // input + uint32_t *pfilterPos_converted=NULL; // input + + PyObject *pfilterLengths=NULL; // input + uint32_t *pfilterLengths_converted=NULL; // input + + if (PyArg_ParseTuple(args,"OiiiOOOOO",&S,&fftLen,&nbMelFilters,&nbDctOutputs, + &pdctCoefs,&pfilterPos,&pfilterLengths,&pfilterCoefs,&pwindowCoefs)) + { + + ml_arm_mfcc_instance_f32Object *selfS = (ml_arm_mfcc_instance_f32Object *)S; + + GETARGUMENT(pdctCoefs,NPY_DOUBLE,double,float32_t); + GETARGUMENT(pfilterPos,NPY_UINT32,uint32_t,uint32_t); + GETARGUMENT(pfilterLengths,NPY_UINT32,uint32_t,uint32_t); + GETARGUMENT(pfilterCoefs,NPY_DOUBLE,double,float32_t); + GETARGUMENT(pwindowCoefs,NPY_DOUBLE,double,float32_t); + + + arm_status returnValue = arm_mfcc_init_f32(selfS->instance, + fftLen,nbMelFilters,nbDctOutputs, + pdctCoefs_converted, + pfilterPos_converted,pfilterLengths_converted,pfilterCoefs_converted, + pwindowCoefs_converted); + PyObject* theReturnOBJ=Py_BuildValue("i",returnValue); + + PyObject *pythonResult = Py_BuildValue("O",theReturnOBJ); + + Py_DECREF(theReturnOBJ); + return(pythonResult); + + } + return(NULL); +} + +static PyObject * +cmsis_arm_mfcc_f32(PyObject *obj, PyObject *args) +{ + + PyObject *S=NULL; // input + PyObject *p1=NULL; // input + float32_t *p1_converted=NULL; // input + + PyObject *tmp=NULL; // input + float32_t *tmp_converted=NULL; // input + + float32_t *pDst; + if (PyArg_ParseTuple(args,"OOO",&S,&p1,&tmp)) + { + + ml_arm_mfcc_instance_f32Object *selfS = (ml_arm_mfcc_instance_f32Object *)S; + GETARGUMENT(p1,NPY_DOUBLE,double,float32_t); + GETARGUMENT(tmp,NPY_DOUBLE,double,float32_t); + + pDst=PyMem_Malloc(sizeof(float32_t)*selfS->instance->nbDctOutputs); + + arm_mfcc_f32(selfS->instance,p1_converted,pDst,tmp_converted); + + FLOATARRAY1(pDstOBJ,selfS->instance->nbDctOutputs,pDst); + + PyObject *pythonResult = Py_BuildValue("O",pDstOBJ); + Py_DECREF(pDstOBJ); + + FREEARGUMENT(p1_converted); + FREEARGUMENT(tmp_converted); + + + + + return(pythonResult); + + } + return(NULL); +} static PyMethodDef CMSISMLMethods[] = { @@ -17139,6 +17346,7 @@ static PyMethodDef CMSISMLMethods[] = { {"arm_sqrt_f32", cmsis_arm_sqrt_f32, METH_VARARGS,""}, {"arm_sqrt_q31", cmsis_arm_sqrt_q31, METH_VARARGS,""}, {"arm_sqrt_q15", cmsis_arm_sqrt_q15, METH_VARARGS,""}, +{"arm_divide_q15", cmsis_arm_divide_q15, METH_VARARGS,""}, {"arm_circularWrite_f32", cmsis_arm_circularWrite_f32, METH_VARARGS,""}, {"arm_circularWrite_q15", cmsis_arm_circularWrite_q15, METH_VARARGS,""}, {"arm_circularWrite_q7", cmsis_arm_circularWrite_q7, METH_VARARGS,""}, @@ -17247,6 +17455,8 @@ static PyMethodDef CMSISMLMethods[] = { {"arm_jensenshannon_distance_f32",cmsis_arm_jensenshannon_distance_f32, METH_VARARGS,""}, {"arm_minkowski_distance_f32",cmsis_arm_minkowski_distance_f32, METH_VARARGS,""}, #endif + {"arm_mfcc_init_f32", cmsis_arm_mfcc_init_f32, METH_VARARGS,""}, + {"arm_mfcc_f32", cmsis_arm_mfcc_f32, METH_VARARGS,""}, {"error_out", (PyCFunction)error_out, METH_NOARGS, NULL}, {NULL, NULL, 0, NULL} /* Sentinel */ diff --git a/PythonWrapper/config.py b/PythonWrapper/config.py index 0e75a71c..a8f76bc7 100644 --- a/PythonWrapper/config.py +++ b/PythonWrapper/config.py @@ -5,7 +5,7 @@ ROOT=".." config = CMSISDSP if config == CMSISDSP: - extensionName = 'cmsisdsp' + extensionName = 'internal' setupName = 'CMSISDSP' setupDescription = 'CMSIS-DSP Python API' cflags="-DCMSISDSP" diff --git a/PythonWrapper/setup.py b/PythonWrapper/setup.py index a0b3d999..acdb07fb 100644 --- a/PythonWrapper/setup.py +++ b/PythonWrapper/setup.py @@ -97,6 +97,7 @@ module1 = Extension(config.extensionName, setup (name = config.setupName, version = '1.0.0', + packages=['cmsisdsp'], description = config.setupDescription, ext_modules = [module1], author = 'Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.', diff --git a/PythonWrapper/testdsp2.py b/PythonWrapper/testdsp2.py index 428d3513..99886f85 100755 --- a/PythonWrapper/testdsp2.py +++ b/PythonWrapper/testdsp2.py @@ -2,7 +2,7 @@ import cmsisdsp as dsp import numpy as np from scipy import signal from scipy.fftpack import dct -import fixedpoint as f +import cmsisdsp.fixedpoint as f from pyquaternion import Quaternion import colorama diff --git a/PythonWrapper/testdsp3.py b/PythonWrapper/testdsp3.py index cc5a8f40..a0313fa7 100755 --- a/PythonWrapper/testdsp3.py +++ b/PythonWrapper/testdsp3.py @@ -1,6 +1,6 @@ import cmsisdsp as dsp import numpy as np -import fixedpoint as f +import cmsisdsp.fixedpoint as f # Test vlog q31 and q15 x = np.array([0.9,0.5,2**-16]) diff --git a/PythonWrapper/testmfcc.py b/PythonWrapper/testmfcc.py new file mode 100755 index 00000000..dd6b4d9c --- /dev/null +++ b/PythonWrapper/testmfcc.py @@ -0,0 +1,91 @@ +import cmsisdsp as dsp +import numpy as np +import cmsisdsp.fixedpoint as f +import cmsisdsp.mfcc as mfcc +import scipy.signal as sig + +debug=np.array([ 0.65507051 ,-0.94647589 ,0.00627239 ,0.14151286 ,-0.10863318 ,-0.36370327 + ,0.05777126 ,-0.11915792 ,0.50183546 ,-0.31461335 ,0.66440771 ,0.05389963 + ,0.39690544 ,0.25424852 ,-0.17045277 ,0.09649268 ,0.87357385 ,-0.44666372 + ,-0.02637822 ,-0.10055151 ,-0.14610252 ,-0.05981251 ,-0.02999124 ,0.60923213 + ,0.10530095 ,0.35684248 ,0.21845946 ,0.47845017 ,-0.60206979 ,0.25186908 + ,-0.27410056 ,-0.07080467 ,-0.05109539 ,-0.2666572 ,0.25483105 ,-0.86459185 + ,0.07733397 ,-0.58535444 ,0.06230904 ,-0.04161475 ,-0.17467296 ,0.77721125 + ,-0.01728161 ,-0.32141218 ,0.36674466 ,-0.17932843 ,0.78486115 ,0.12469579 + ,-0.94796877 ,0.05536031 ,0.32627676 ,0.46628512 ,-0.02585836 ,-0.51439834 + ,0.21387904 ,0.16319442 ,-0.01020818 ,-0.77161183 ,0.07754634 ,-0.24970455 + ,0.2368003 ,0.35167963 ,0.14620137 ,-0.02415204 ,0.91086167 ,-0.02434647 + ,-0.3968239 ,-0.04703925 ,-0.43905103 ,-0.34834965 ,0.33728158 ,0.15138992 + ,-0.43218885 ,0.26619718 ,0.07177906 ,0.33393581 ,-0.50306915 ,-0.63101084 + ,-0.08128395 ,-0.06569788 ,0.84232797 ,-0.32436751 ,0.02528537 ,-0.3498329 + ,0.41859931 ,0.07794887 ,0.4571989 ,0.24290963 ,0.08437417 ,-0.01371585 + ,-0.00103008 ,0.83978697 ,-0.29001237 ,0.14438743 ,0.11943318 ,-0.25576402 + ,0.25151083 ,0.07886626 ,0.11565781 ,-0.01582203 ,0.1310246 ,-0.5553611 + ,-0.37950665 ,0.44179691 ,0.08460877 ,0.30646419 ,0.48927934 ,-0.21240309 + ,0.36844264 ,0.49686615 ,-0.81617664 ,0.52221472 ,-0.05188992 ,-0.03929655 + ,-0.47674501 ,-0.54506781 ,0.30711148 ,0.10049337 ,-0.47549213 ,0.59106713 + ,-0.62276051 ,-0.35182917 ,0.14612027 ,0.56142168 ,-0.01053732 ,0.35782179 + ,-0.27220781 ,-0.03672346 ,-0.11282222 ,0.3364912 ,-0.22352515 ,-0.04245287 + ,0.56968605 ,-0.14023724 ,-0.82982905 ,0.00860008 ,0.37920345 ,-0.53749318 + ,-0.12761215 ,0.08567603 ,0.47020765 ,-0.28794812 ,-0.33888971 ,0.01850441 + ,0.66848233 ,-0.26532759 ,-0.20777571 ,-0.68342729 ,-0.41498696 ,0.00593224 + ,0.02229368 ,0.75596329 ,0.29447568 ,-0.1106449 ,0.24181939 ,0.05807497 + ,-0.14343857 ,0.304988 ,0.00689148 ,-0.06264758 ,0.25864714 ,-0.22252155 + ,0.28621689 ,0.17031599 ,-0.34694027 ,-0.01625718 ,0.39834181 ,0.01259659 + ,-0.28022716 ,-0.02506168 ,-0.10276881 ,0.31733924 ,0.02787068 ,-0.09824124 + ,0.45147797 ,0.14451518 ,0.17996395 ,-0.70594978 ,-0.92943177 ,0.13649282 + ,-0.5938426 ,0.50289928 ,0.19635269 ,0.16811504 ,0.05803999 ,0.0037204 + ,0.13847419 ,0.30568038 ,0.3700732 ,0.21257548 ,-0.31151753 ,-0.28836886 + ,0.68743932 ,-0.11084429 ,-0.4673766 ,0.16637754 ,-0.38992572 ,0.16505578 + ,-0.07499844 ,0.04226538 ,-0.11042177 ,0.0704542 ,-0.632819 ,-0.54898472 + ,0.26498649 ,-0.59380386 ,0.93387213 ,0.06526726 ,-0.23223558 ,0.07941394 + ,0.14325166 ,0.26914661 ,0.00925575 ,-0.34282161 ,-0.51418231 ,-0.12011075 + ,-0.26676314 ,-0.09999028 ,0.03027513 ,0.22846503 ,-0.08930338 ,-0.1867156 + ,0.66297846 ,0.32220769 ,-0.06015469 ,0.04034043 ,0.09595597 ,-1. + ,-0.42933352 ,0.25069376 ,-0.26030918 ,-0.28511861 ,-0.19931228 ,0.24408572 + ,-0.3231952 ,0.45688981 ,-0.07354078 ,0.25669449 ,-0.44202722 ,0.11928406 + ,-0.32826109 ,0.52660984 ,0.03067858 ,0.11095242 ,0.19933679 ,0.03042371 + ,-0.34768682 ,0.09108447 ,0.61234556 ,0.1854931 ,0.19680502 ,0.27617564 + ,0.33381827 ,-0.47358967 ,0.28714328 ,-0.27495982]) + +ref = [ 1.6844872e+01, -3.8865981e+00, -3.4971607e-01, -4.1598725e-01, + -1.9625235e-01, -1.5887988e-01, -7.7221274e-02, 2.0610046e-01, + 1.3069814e-01, 1.1363924e-02, 4.9844027e-02, -5.6932509e-02, + -1.6958869e-01] + + +mfccf32=dsp.arm_mfcc_instance_f32() + +sample_rate = 16000 +FFTSize = 256 +numOfDctOutputs = 13 + +freq_min = 64 +freq_high = sample_rate / 2 +numOfMelFilters = 20 + +window = sig.hamming(FFTSize, sym=False) + +filtLen,filtPos,totalLen,packedFilters,_ = mfcc.melFilterMatrix(freq_min, freq_high, numOfMelFilters,sample_rate,FFTSize) + + +dctMatrixFilters = mfcc.dctMatrix(numOfDctOutputs, numOfMelFilters) + + + + +status=dsp.arm_mfcc_init_f32(mfccf32,256,20,13,dctMatrixFilters, + filtPos,filtLen,packedFilters,window) +print(status) + +tmp=np.zeros(FFTSize + 2) + +res=dsp.arm_mfcc_f32(mfccf32,debug,tmp) + +print(res) + +print(ref) + +print(mfccf32.fftLen()) +print(mfccf32.nbMelFilters()) +print(mfccf32.nbDctOutputs()) diff --git a/Scripts/GenMFCCDataForCPP.py b/Scripts/GenMFCCDataForCPP.py new file mode 100755 index 00000000..1ad5fa3f --- /dev/null +++ b/Scripts/GenMFCCDataForCPP.py @@ -0,0 +1,67 @@ +########################################### +# Project: CMSIS DSP Library +# Title: GenMFCCDataForCPP.py +# Description: Generation of MFCC arrays for the MFCC function +# +# $Date: 07 September 2021 +# $Revision: V1.10.0 +# +# Target Processor: Cortex-M and Cortex-A cores +# -------------------------------------------------------------------- */ +# +# Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the License); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################ + +######################### +# +# This script is generating arrays required by the MFCC implementation: +# DCT coefficients and Mel filters +# Those arrays must be used with the arm_mfcc_init functions +# The configuration is done through a yaml file describing the values for the +# MFCC and the type +# +import argparse +import yaml +import mfccdata +import os.path + +parser = argparse.ArgumentParser(description='Generate MFCC Data for CPP') + + +parser.add_argument('-n', nargs='?',type = str, default="mfccdata", help="mfcc file name") +parser.add_argument('-d', nargs='?',type = str, default="Testing/Source/Tests", help="mfcc c file directory") +parser.add_argument('-i', nargs='?',type = str, default="Testing/Include/Tests", help="mfcc h file directory") +parser.add_argument('others', nargs=argparse.REMAINDER) + +args = parser.parse_args() + + + +if args.n and args.d and args.others: + cpath=os.path.join(args.d,args.n + ".c") + hpath=os.path.join(args.i,args.n + ".h") + + with open(args.others[0],"r") as f: + configs=yaml.safe_load(f) + mfccdata.prepareDctconfig(configs["dct"]) + mfccdata.prepareMelconfig(configs["melfilter"]) + mfccdata.prepareWindowConfig(configs["window"]) + with open(hpath,"w") as h: + mfccdata.genMfccHeader(h,configs,args.n) + with open(cpath,"w") as c: + mfccdata.genMfccInit(c,configs,args.n) + \ No newline at end of file diff --git a/Scripts/mfccconfig.yaml b/Scripts/mfccconfig.yaml new file mode 100755 index 00000000..e90b9959 --- /dev/null +++ b/Scripts/mfccconfig.yaml @@ -0,0 +1,46 @@ +dct: + config1: + melFilters: 20 + dctOutputs: 13 + type: "f32" + +melfilter: + config1: + fftlength: 1024 + fmin: 64 + fmax: 8000 + samplingRate : 16000 + melFilters: 20 + type: "f32" + + config2: + fftlength: 512 + fmin: 64 + fmax: 8000 + samplingRate : 16000 + melFilters: 20 + type: "f32" + + config3 : + fftlength: 256 + fmin: 64 + fmax: 8000 + samplingRate : 16000 + melFilters: 20 + type: "f32" + +window: + config1: + fftlength: 1024 + type: "f32" + win: "hamming" + + config2: + fftlength: 512 + type: "f32" + win: "hamming" + + config3: + fftlength: 256 + type: "f32" + win: "hamming" diff --git a/Scripts/mfccdata.py b/Scripts/mfccdata.py new file mode 100755 index 00000000..80546d51 --- /dev/null +++ b/Scripts/mfccdata.py @@ -0,0 +1,231 @@ +########################################### +# Project: CMSIS DSP Library +# Title: mfccdata.py +# Description: Generation of MFCC arays for the MFCC C init function +# +# $Date: 07 September 2021 +# $Revision: V1.10.0 +# +# Target Processor: Cortex-M and Cortex-A cores +# -------------------------------------------------------------------- */ +# +# Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the License); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################ +import numpy as np +from jinja2 import Environment, PackageLoader, select_autoescape,FileSystemLoader +import os.path +import struct +import scipy.signal as sig + +def to_q31(v): + r = int(round(v * 2**31)) + if (r > 0x07FFFFFFF): + r = 0x07FFFFFFF + if (r < -0x080000000): + r = -0x080000000 + return ("0x%s" % format(struct.unpack(' 0x07FFF): + r = 0x07FFF + if (r < -0x08000): + r = -0x08000 + return ("0x%s" % format(struct.unpack('filterCoefs; + arm_matrix_instance_f32 pDctMat; + + /* Normalize */ + arm_absmax_f32(pSrc,S->fftLen,&maxValue,&index); + + arm_scale_f32(pSrc,1.0f/maxValue,pSrc,S->fftLen); + + /* Multiply by window */ + arm_mult_f32(pSrc,S->windowCoefs,pSrc,S->fftLen); + + /* Compute spectrum magnitude + */ +#if defined(ARM_MFCC_CFFT_BASED) + /* some HW accelerator for CMSIS-DSP used in some boards + are only providing acceleration for CFFT. + With ARM_MFCC_CFFT_BASED enabled, CFFT is used and the MFCC + will be accelerated on those boards. + + The default is to use RFFT + */ + /* Convert from real to complex */ + for(i=0; i < S->fftLen ; i++) + { + pTmp[2*i] = pSrc[i]; + pTmp[2*i+1] = 0.0f; + } + arm_cfft_f32(&(S->cfft),pTmp,0,1); +#else + /* Default RFFT based implementation */ + arm_rfft_fast_f32(&(S->rfft),pSrc,pTmp,0); + /* Unpack real values */ + pTmp[S->fftLen]=pTmp[1]; + pTmp[S->fftLen+1]=0.0f; + pTmp[1]=0.0f; +#endif + arm_cmplx_mag_f32(pTmp,pSrc,S->fftLen); + + /* Apply MEL filters */ + for(i=0; inbMelFilters; i++) + { + arm_dot_prod_f32(pSrc+S->filterPos[i], + coefs, + S->filterLengths[i], + &result); + + coefs += S->filterLengths[i]; + + pTmp[i] = result; + + } + + /* Compute the log */ + arm_offset_f32(pTmp,1.0e-6f,pTmp,S->nbMelFilters); + arm_vlog_f32(pTmp,pTmp,S->nbMelFilters); + + /* Multiply with the DCT matrix */ + + pDctMat.numRows=S->nbDctOutputs; + pDctMat.numCols=S->nbMelFilters; + pDctMat.pData=(float32_t*)S->dctCoefs; + + arm_mat_vec_mult_f32(&pDctMat, pTmp, pDst); + + +} + +/** + @} end of MFCC group + */ diff --git a/Source/TransformFunctions/arm_mfcc_init_f32.c b/Source/TransformFunctions/arm_mfcc_init_f32.c new file mode 100755 index 00000000..0690782e --- /dev/null +++ b/Source/TransformFunctions/arm_mfcc_init_f32.c @@ -0,0 +1,107 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: arm_mfcc_init_f32.c + * Description: MFCC initialization function for the f32 version + * + * $Date: 07 September 2021 + * $Revision: V1.10.0 + * + * Target Processor: Cortex-M and Cortex-A cores + * -------------------------------------------------------------------- */ +/* + * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. + * + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the License); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + @ingroup groupTransforms + */ + + +/** + @addtogroup MFCC + @{ + */ + + +#include "dsp/transform_functions.h" + + + +/** + @brief Initialization of the MFCC F32 instance structure + @param[out] S points to the mfcc instance structure + @param[in] fftLen fft length + @param[in] nbMelFilters number of Mel filters + @param[in] nbDctOutputs number of Dct outputs + @param[in] dctCoefs points to an array of DCT coefficients + @param[in] filterPos points of the array of filter positions + @param[in] filterLengths points to the array of filter lengths + @param[in] filterCoefs points to the array of filter coefficients + @param[in] windowCoefs points to the array of window coefficients + + @return error status + + @par Description + The matrix of Mel filter coefficients is sparse. + Most of the coefficients are zero. + To avoid multiplying the spectrogram by those zeros, the + filter is applied only to a given position in the spectrogram + and on a given number of FFT bins (the filter length). + It is the reason for the arrays filterPos and filterLengths. + + window coefficients can describe (for instance) a Hamming window. + The array has the same size as the FFT length. + + The folder Scripts is containing a Python script which can be used + to generate the filter, dct and window arrays. + */ + +arm_status arm_mfcc_init_f32( + arm_mfcc_instance_f32 * S, + uint32_t fftLen, + uint32_t nbMelFilters, + uint32_t nbDctOutputs, + const float32_t *dctCoefs, + const uint32_t *filterPos, + const uint32_t *filterLengths, + const float32_t *filterCoefs, + const float32_t *windowCoefs + ) +{ + arm_status status; + + S->fftLen=fftLen; + S->nbMelFilters=nbMelFilters; + S->nbDctOutputs=nbDctOutputs; + S->dctCoefs=dctCoefs; + S->filterPos=filterPos; + S->filterLengths=filterLengths; + S->filterCoefs=filterCoefs; + S->windowCoefs=windowCoefs; + + #if defined(ARM_MFCC_CFFT_BASED) + status=arm_cfft_init_f32(&(S->cfft),fftLen); + #else + status=arm_rfft_fast_init_f32(&(S->rfft),fftLen); + #endif + + return(status); +} + +/** + @} end of MFCC group + */ diff --git a/Testing/CMakeLists.txt b/Testing/CMakeLists.txt index 1826b954..d4a141a5 100644 --- a/Testing/CMakeLists.txt +++ b/Testing/CMakeLists.txt @@ -333,7 +333,10 @@ if (TRANSFORM) Source/Tests/TransformCQ31.cpp Source/Tests/TransformRQ31.cpp Source/Tests/TransformCQ15.cpp - Source/Tests/TransformRQ15.cpp) + Source/Tests/TransformRQ15.cpp + Source/Tests/MFCCF32.cpp + Source/Tests/mfccdata.c + ) endif() if (SVM) diff --git a/Testing/Include/Tests/MFCCF32.h b/Testing/Include/Tests/MFCCF32.h new file mode 100755 index 00000000..64c6babc --- /dev/null +++ b/Testing/Include/Tests/MFCCF32.h @@ -0,0 +1,28 @@ +#include "Test.h" +#include "Pattern.h" + +#include "dsp/transform_functions.h" + +class MFCCF32:public Client::Suite + { + public: + MFCCF32(Testing::testID_t id); + virtual void setUp(Testing::testID_t,std::vector& params,Client::PatternMgr *mgr); + virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr); + private: + #include "MFCCF32_decl.h" + + Client::Pattern input1; + Client::Pattern input2; + Client::LocalPattern output; + Client::LocalPattern tmp; + Client::LocalPattern tmpin; + + // Reference patterns are not loaded when we are in dump mode + Client::RefPattern ref; + + arm_mfcc_instance_f32 mfcc; + + uint32_t fftLen; + + }; diff --git a/Testing/Include/Tests/mfccdata.h b/Testing/Include/Tests/mfccdata.h new file mode 100755 index 00000000..bdde274e --- /dev/null +++ b/Testing/Include/Tests/mfccdata.h @@ -0,0 +1,74 @@ +#ifndef _MFCC_DATA_H_ +#define _MFCC_DATA_H_ + +#include "arm_math_types.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + +/***** + + DCT COEFFICIENTS FOR THE MFCC + +*****/ + +#define NB_MFCC_DCT_COEFS_CONFIG1 260 +extern const float32_t mfcc_dct_coefs_config1[NB_MFCC_DCT_COEFS_CONFIG1]; + + +/***** + + WINDOW COEFFICIENTS + +*****/ + +#define NB_MFCC_WIN_COEFS_CONFIG1 1024 +extern const float32_t mfcc_window_coefs_config1[NB_MFCC_WIN_COEFS_CONFIG1]; + +#define NB_MFCC_WIN_COEFS_CONFIG2 512 +extern const float32_t mfcc_window_coefs_config2[NB_MFCC_WIN_COEFS_CONFIG2]; + +#define NB_MFCC_WIN_COEFS_CONFIG3 256 +extern const float32_t mfcc_window_coefs_config3[NB_MFCC_WIN_COEFS_CONFIG3]; + + +/***** + + MEL FILTER COEFFICIENTS FOR THE MFCC + +*****/ + +#define NB_MFCC_NB_FILTER_CONFIG1 20 +extern const uint32_t mfcc_filter_pos_config1[NB_MFCC_NB_FILTER_CONFIG1]; +extern const uint32_t mfcc_filter_len_config1[NB_MFCC_NB_FILTER_CONFIG1]; + +#define NB_MFCC_NB_FILTER_CONFIG2 20 +extern const uint32_t mfcc_filter_pos_config2[NB_MFCC_NB_FILTER_CONFIG2]; +extern const uint32_t mfcc_filter_len_config2[NB_MFCC_NB_FILTER_CONFIG2]; + +#define NB_MFCC_NB_FILTER_CONFIG3 20 +extern const uint32_t mfcc_filter_pos_config3[NB_MFCC_NB_FILTER_CONFIG3]; +extern const uint32_t mfcc_filter_len_config3[NB_MFCC_NB_FILTER_CONFIG3]; + + + + +#define NB_MFCC_FILTER_COEFS_CONFIG1 948 +extern const float32_t mfcc_filter_coefs_config1[NB_MFCC_FILTER_COEFS_CONFIG1]; + +#define NB_MFCC_FILTER_COEFS_CONFIG2 473 +extern const float32_t mfcc_filter_coefs_config2[NB_MFCC_FILTER_COEFS_CONFIG2]; + +#define NB_MFCC_FILTER_COEFS_CONFIG3 236 +extern const float32_t mfcc_filter_coefs_config3[NB_MFCC_FILTER_COEFS_CONFIG3]; + + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/Testing/PatternGeneration/MFCC.py b/Testing/PatternGeneration/MFCC.py new file mode 100755 index 00000000..5c99eecc --- /dev/null +++ b/Testing/PatternGeneration/MFCC.py @@ -0,0 +1,244 @@ +########################################### +# Project: CMSIS DSP Library +# Title: MFCC.py +# Description: Test pattern generation for MFCC +# +# $Date: 02 September 2021 +# $Revision: V1.10.0 +# +# Target Processor: Cortex-M and Cortex-A cores +# -------------------------------------------------------------------- */ +# +# Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the License); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################ +import os.path +import numpy as np +import itertools +import Tools +import scipy +import scipy.signal as sig +import scipy.fftpack + + +################################ +# +# Gives the same results as the tensorflow lite +# MFCC if hamming window is used +# (TF stft) is using hanning by default +# + +DEBUG = False + +def frequencyToMelSpace(freq): + return 1127.0 * np.log(1.0 + freq / 700.0) + +def melSpaceToFrequency(mels): + return 700.0 * (np.exp(mels / 1127.0) - 1.0) + +def melFilterMatrix(fmin, fmax, numOfMelFilters,fs,FFTSize): + + filters = np.zeros((numOfMelFilters,int(FFTSize/2+1))) + zeros = np.zeros(int(FFTSize // 2 )) + + + fmin_mel = frequencyToMelSpace(fmin) + fmax_mel = frequencyToMelSpace(fmax) + mels = np.linspace(fmin_mel, fmax_mel, num=numOfMelFilters+2) + + + linearfreqs = np.linspace( 0, fs/2.0, int(FFTSize // 2 + 1) ) + spectrogrammels = frequencyToMelSpace(linearfreqs)[1:] + + + for n in range(numOfMelFilters): + + + upper = (spectrogrammels - mels[n])/(mels[n+1]-mels[n]) + lower = (mels[n+2] - spectrogrammels)/(mels[n+2]-mels[n+1]) + + + filters[n, :] = np.hstack([0,np.maximum(zeros,np.minimum(upper,lower))]) + + return filters + + +def dctMatrix(numOfDctOutputs, numOfMelFilters): + + result = np.zeros((numOfDctOutputs,numOfMelFilters)) + s=(np.linspace(1,numOfMelFilters,numOfMelFilters) - 0.5)/numOfMelFilters + + for i in range(0, numOfDctOutputs): + result[i,:]=np.cos(i * np.pi*s) * np.sqrt(2.0/numOfMelFilters) + + return result + + + +class MFCCConfig: + def __init__(self,freq_min,freq_high,numOfMelFilters,numOfDctOutputs,FFTSize,sample_rate): + self._freq_min=freq_min + self._freq_high=freq_high + self._numOfMelFilters = numOfMelFilters + self._FFTSize=FFTSize + self._sample_rate=sample_rate + #self._window = sig.hann(FFTSize, sym=True) + self._window = sig.hamming(FFTSize, sym=False) + #print(self._window) + self._numOfDctOutputs=numOfDctOutputs + + self._filters = melFilterMatrix(freq_min, freq_high, numOfMelFilters,sample_rate,FFTSize) + + + self._dctMatrixFilters = dctMatrix(numOfDctOutputs, numOfMelFilters) + + def mfcc(self,audio): + m = np.amax(np.abs(audio)) + if m != 0: + s = 1.0 / m + else: + s = 1.0 + audio = audio * s + + audioWin = audio * self._window + + if DEBUG: + print(audioWin) + + audioFFT = scipy.fftpack.fft(audioWin) + if DEBUG: + print(audioFFT) + + audioPower = np.abs(audioFFT) + if DEBUG: + print(audioPower) + + filterLimit = int(1 + self._FFTSize // 2) + audioPower=audioPower[:filterLimit] + + audioFiltered = np.dot(self._filters,audioPower) + if DEBUG: + print(audioFiltered) + + audioLog = np.log(audioFiltered + 1e-6) + + cepstral_coefficents = np.dot(self._dctMatrixFilters, audioLog) + + return(cepstral_coefficents) + + +debug=np.array([ 0.65507051 ,-0.94647589 ,0.00627239 ,0.14151286 ,-0.10863318 ,-0.36370327 + ,0.05777126 ,-0.11915792 ,0.50183546 ,-0.31461335 ,0.66440771 ,0.05389963 + ,0.39690544 ,0.25424852 ,-0.17045277 ,0.09649268 ,0.87357385 ,-0.44666372 + ,-0.02637822 ,-0.10055151 ,-0.14610252 ,-0.05981251 ,-0.02999124 ,0.60923213 + ,0.10530095 ,0.35684248 ,0.21845946 ,0.47845017 ,-0.60206979 ,0.25186908 + ,-0.27410056 ,-0.07080467 ,-0.05109539 ,-0.2666572 ,0.25483105 ,-0.86459185 + ,0.07733397 ,-0.58535444 ,0.06230904 ,-0.04161475 ,-0.17467296 ,0.77721125 + ,-0.01728161 ,-0.32141218 ,0.36674466 ,-0.17932843 ,0.78486115 ,0.12469579 + ,-0.94796877 ,0.05536031 ,0.32627676 ,0.46628512 ,-0.02585836 ,-0.51439834 + ,0.21387904 ,0.16319442 ,-0.01020818 ,-0.77161183 ,0.07754634 ,-0.24970455 + ,0.2368003 ,0.35167963 ,0.14620137 ,-0.02415204 ,0.91086167 ,-0.02434647 + ,-0.3968239 ,-0.04703925 ,-0.43905103 ,-0.34834965 ,0.33728158 ,0.15138992 + ,-0.43218885 ,0.26619718 ,0.07177906 ,0.33393581 ,-0.50306915 ,-0.63101084 + ,-0.08128395 ,-0.06569788 ,0.84232797 ,-0.32436751 ,0.02528537 ,-0.3498329 + ,0.41859931 ,0.07794887 ,0.4571989 ,0.24290963 ,0.08437417 ,-0.01371585 + ,-0.00103008 ,0.83978697 ,-0.29001237 ,0.14438743 ,0.11943318 ,-0.25576402 + ,0.25151083 ,0.07886626 ,0.11565781 ,-0.01582203 ,0.1310246 ,-0.5553611 + ,-0.37950665 ,0.44179691 ,0.08460877 ,0.30646419 ,0.48927934 ,-0.21240309 + ,0.36844264 ,0.49686615 ,-0.81617664 ,0.52221472 ,-0.05188992 ,-0.03929655 + ,-0.47674501 ,-0.54506781 ,0.30711148 ,0.10049337 ,-0.47549213 ,0.59106713 + ,-0.62276051 ,-0.35182917 ,0.14612027 ,0.56142168 ,-0.01053732 ,0.35782179 + ,-0.27220781 ,-0.03672346 ,-0.11282222 ,0.3364912 ,-0.22352515 ,-0.04245287 + ,0.56968605 ,-0.14023724 ,-0.82982905 ,0.00860008 ,0.37920345 ,-0.53749318 + ,-0.12761215 ,0.08567603 ,0.47020765 ,-0.28794812 ,-0.33888971 ,0.01850441 + ,0.66848233 ,-0.26532759 ,-0.20777571 ,-0.68342729 ,-0.41498696 ,0.00593224 + ,0.02229368 ,0.75596329 ,0.29447568 ,-0.1106449 ,0.24181939 ,0.05807497 + ,-0.14343857 ,0.304988 ,0.00689148 ,-0.06264758 ,0.25864714 ,-0.22252155 + ,0.28621689 ,0.17031599 ,-0.34694027 ,-0.01625718 ,0.39834181 ,0.01259659 + ,-0.28022716 ,-0.02506168 ,-0.10276881 ,0.31733924 ,0.02787068 ,-0.09824124 + ,0.45147797 ,0.14451518 ,0.17996395 ,-0.70594978 ,-0.92943177 ,0.13649282 + ,-0.5938426 ,0.50289928 ,0.19635269 ,0.16811504 ,0.05803999 ,0.0037204 + ,0.13847419 ,0.30568038 ,0.3700732 ,0.21257548 ,-0.31151753 ,-0.28836886 + ,0.68743932 ,-0.11084429 ,-0.4673766 ,0.16637754 ,-0.38992572 ,0.16505578 + ,-0.07499844 ,0.04226538 ,-0.11042177 ,0.0704542 ,-0.632819 ,-0.54898472 + ,0.26498649 ,-0.59380386 ,0.93387213 ,0.06526726 ,-0.23223558 ,0.07941394 + ,0.14325166 ,0.26914661 ,0.00925575 ,-0.34282161 ,-0.51418231 ,-0.12011075 + ,-0.26676314 ,-0.09999028 ,0.03027513 ,0.22846503 ,-0.08930338 ,-0.1867156 + ,0.66297846 ,0.32220769 ,-0.06015469 ,0.04034043 ,0.09595597 ,-1. + ,-0.42933352 ,0.25069376 ,-0.26030918 ,-0.28511861 ,-0.19931228 ,0.24408572 + ,-0.3231952 ,0.45688981 ,-0.07354078 ,0.25669449 ,-0.44202722 ,0.11928406 + ,-0.32826109 ,0.52660984 ,0.03067858 ,0.11095242 ,0.19933679 ,0.03042371 + ,-0.34768682 ,0.09108447 ,0.61234556 ,0.1854931 ,0.19680502 ,0.27617564 + ,0.33381827 ,-0.47358967 ,0.28714328 ,-0.27495982]) + +def writeTests(config,format): + NBSAMPLES=[256,512,1024] + if DEBUG: + NBSAMPLES=[256] + + + sample_rate = 16000 + FFTSize = 256 + numOfDctOutputs = 13 + + freq_min = 64 + freq_high = sample_rate / 2 + numOfMelFilters = 20 + + for nb in NBSAMPLES: + inputs=[] + outputs=[] + inlengths=[] + outlengths=[] + + audio=np.random.randn(nb) + audio = Tools.normalize(audio) + if DEBUG: + audio=debug + inputs += list(audio) + FFTSize=nb + mfccConfig=MFCCConfig(freq_min,freq_high,numOfMelFilters,numOfDctOutputs,FFTSize,sample_rate) + ref=mfccConfig.mfcc(audio) + #print(audio) + if DEBUG: + print(ref) + outputs+=list(ref) + inlengths+=[nb] + outlengths+=[numOfDctOutputs] + + config.writeInput(1, inputs,"MFCCInput_%d_" % nb) + config.writeReference(1, outputs,"MFCCRef_%d_" % nb) + + + +def generatePatterns(): + PATTERNDIR = os.path.join("Patterns","DSP","Transform","MFCC") + PARAMDIR = os.path.join("Parameters","DSP","Transform","MFCC") + + configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32") + #configf16=Tools.Config(PATTERNDIR,PARAMDIR,"f16") + #configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31") + #configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15") + #configq7=Tools.Config(PATTERNDIR,PARAMDIR,"q7") + + configf32.setOverwrite(False) + + + + writeTests(configf32,0) + +if __name__ == '__main__': + generatePatterns() diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_1024_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_1024_1_f32.txt new file mode 100755 index 00000000..f7905fd4 --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_1024_1_f32.txt @@ -0,0 +1,2050 @@ +W +1024 +// 0.083274 +0x3daa8b9f +// -0.246762 +0xbe7caf45 +// -0.037960 +0xbd1b7be4 +// 0.389758 +0x3ec78e57 +// 0.117606 +0x3df0db5b +// 0.030969 +0x3cfdb1aa +// -0.599450 +0xbf197593 +// -0.139526 +0xbe0edfd0 +// -0.099772 +0xbdcc555b +// 0.269192 +0x3e89d382 +// 0.114547 +0x3dea97cb +// -0.335116 +0xbeab944c +// -0.418672 +0xbed65c32 +// 0.090418 +0x3db92d02 +// -0.467678 +0xbeef737e +// 0.276846 +0x3e8dbebf +// -0.001696 +0xbade52a3 +// -0.745306 +0xbf3ecc60 +// 0.212133 +0x3e593979 +// -0.204204 +0xbe511adf +// -0.168509 +0xbe2c8d94 +// 0.366381 +0x3ebb964b +// -0.071920 +0xbd934a98 +// 0.046223 +0x3d3d5485 +// 0.148863 +0x3e186fa4 +// -0.209831 +0xbe56ddec +// -0.009329 +0xbc18d9c0 +// 0.169150 +0x3e2d35b8 +// -0.027940 +0xbce4e287 +// -0.053413 +0xbd5ac817 +// 0.270610 +0x3e8a8d70 +// -0.036922 +0xbd173b52 +// -0.125780 +0xbe00cc70 +// 0.056314 +0x3d66a949 +// 0.047632 +0x3d431a32 +// 0.390005 +0x3ec7aec6 +// -0.405622 +0xbecfada4 +// 0.155179 +0x3e1ee747 +// 0.299824 +0x3e998289 +// 0.116120 +0x3dedd02e +// 0.154282 +0x3e1dfc15 +// 0.339098 +0x3ead9e51 +// 0.040488 +0x3d25d65f +// -0.184227 +0xbe3ca60e +// -0.113841 +0xbde9253b +// -0.062334 +0xbd7f522f +// 0.404141 +0x3eceeb98 +// -0.175774 +0xbe33fe21 +// -0.351967 +0xbeb43512 +// 0.250902 +0x3e80762a +// -0.178283 +0xbe368fee +// 0.057305 +0x3d6ab8cf +// -0.003404 +0xbb5f1d01 +// -0.526002 +0xbf06a80d +// 0.164180 +0x3e281ee0 +// -0.392335 +0xbec8e022 +// 0.206332 +0x3e5348c9 +// -0.440789 +0xbee1af0d +// -0.381568 +0xbec35ceb +// 0.537820 +0x3f09ae9a +// -0.251414 +0xbe80b948 +// 0.152776 +0x3e1c715f +// -0.369653 +0xbebd432b +// -0.159073 +0xbe22e41f +// 0.312969 +0x3ea03d79 +// -0.196897 +0xbe499f3e +// 0.110233 +0x3de1c1d8 +// -0.482532 +0xbef70e61 +// -0.358307 +0xbeb77402 +// 0.016822 +0x3c89cdc9 +// 0.199651 +0x3e4c7143 +// 0.236559 +0x3e723c8b +// 0.136545 +0x3e0bd281 +// -0.190804 +0xbe436206 +// 0.101340 +0x3dcf8b90 +// 0.438988 +0x3ee0c30c +// -0.191545 +0xbe442460 +// 0.046813 +0x3d3fbe9a +// 0.036336 +0x3d14d50c +// 0.665946 +0x3f2a7b74 +// 0.399497 +0x3ecc8adb +// 0.071860 +0x3d932b56 +// -0.162589 +0xbe267dd0 +// 0.507727 +0x3f01fa60 +// 0.121251 +0x3df85243 +// 0.449135 +0x3ee5f4f8 +// -0.290038 +0xbe947fce +// 0.146660 +0x3e162def +// -0.355175 +0xbeb5d974 +// -0.096516 +0xbdc5aa04 +// 0.197274 +0x3e4a0246 +// 0.244545 +0x3e7a6a0e +// 0.242740 +0x3e7890bc +// 0.303353 +0x3e9b511c +// 0.154436 +0x3e1e2468 +// -0.037100 +0xbd17f685 +// 0.443055 +0x3ee2d81a +// 0.294542 +0x3e96ce40 +// -0.087627 +0xbdb375fd +// 0.188476 +0x3e40ffe2 +// 0.469159 +0x3ef0359b +// 0.115316 +0x3dec2a98 +// 0.032042 +0x3d033ebd +// -0.441039 +0xbee1cfee +// -0.452115 +0xbee77b90 +// 0.002506 +0x3b243b0c +// 0.432470 +0x3edd6ca6 +// -0.382642 +0xbec3e9b0 +// 0.121286 +0x3df864dc +// -0.048865 +0xbd48266b +// -0.191818 +0xbe446c02 +// 0.017050 +0x3c8bad6d +// -0.487898 +0xbef9cdca +// -0.063319 +0xbd81ad92 +// -0.126706 +0xbe01bf37 +// 0.200052 +0x3e4cda4e +// -0.247250 +0xbe7d2f26 +// -0.348352 +0xbeb25b40 +// -0.494994 +0xbefd6fd5 +// -0.288375 +0xbe93a5e4 +// -0.406008 +0xbecfe052 +// 0.225187 +0x3e669781 +// -0.043501 +0xbd322de0 +// 0.103834 +0x3dd4a6e1 +// -0.133561 +0xbe08c427 +// -0.143875 +0xbe135406 +// 0.087989 +0x3db43396 +// -0.235579 +0xbe713b80 +// 0.286588 +0x3e92bbab +// 0.180744 +0x3e391505 +// 0.110320 +0x3de1ef49 +// 0.091134 +0x3dbaa46a +// -0.658171 +0xbf287de8 +// 0.140155 +0x3e0f84b8 +// -0.383634 +0xbec46bb9 +// -0.383373 +0xbec4497f +// -0.179154 +0xbe377441 +// -0.369952 +0xbebd6a5b +// -0.722185 +0xbf38e11c +// 0.095197 +0x3dc2f666 +// -0.035481 +0xbd11549e +// 0.317876 +0x3ea2c097 +// 0.109361 +0x3ddff88d +// 0.460147 +0x3eeb9873 +// -0.070178 +0xbd8fb9ba +// 0.168739 +0x3e2cc9fc +// -0.421934 +0xbed807ac +// 0.043136 +0x3d30af42 +// 0.133089 +0x3e08488c +// -0.670100 +0xbf2b8bb3 +// 0.353758 +0x3eb51fca +// -0.308092 +0xbe9dbe3c +// 0.455202 +0x3ee91048 +// -0.050450 +0xbd4ea468 +// 0.112857 +0x3de721ba +// 0.347245 +0x3eb1ca27 +// 0.071128 +0x3d91ab72 +// 0.100854 +0x3dce8cb3 +// -0.022522 +0xbcb88065 +// -0.424163 +0xbed92be8 +// 0.401664 +0x3ecda6de +// 0.118090 +0x3df1d912 +// 0.007209 +0x3bec37da +// 0.197828 +0x3e4a9361 +// -0.477735 +0xbef499b6 +// 0.555476 +0x3f0e33a5 +// 0.196975 +0x3e49b3e1 +// -0.553457 +0xbf0daf5e +// 0.100147 +0x3dcd19e1 +// -0.175743 +0xbe33f5e6 +// 0.112135 +0x3de5a746 +// -0.062650 +0xbd804ede +// 0.070620 +0x3d90a12d +// 0.371614 +0x3ebe4441 +// -0.016058 +0xbc838c79 +// 0.330255 +0x3ea91736 +// -0.330126 +0xbea9064a +// -0.686564 +0xbf2fc2a2 +// 0.215222 +0x3e5c6308 +// 0.642658 +0x3f24853e +// -0.122342 +0xbdfa8e98 +// 0.153706 +0x3e1d653b +// 0.274851 +0x3e8cb949 +// -0.126431 +0xbe017728 +// 0.344734 +0x3eb08105 +// -0.016883 +0xbc8a4e7c +// 0.061540 +0x3d7c1182 +// -0.081127 +0xbda6260f +// 0.336623 +0x3eac59d7 +// -0.037472 +0xbd197bc1 +// 0.279169 +0x3e8eef3c +// 0.160354 +0x3e2433e1 +// 0.210481 +0x3e578839 +// -0.505605 +0xbf016f52 +// -0.038293 +0xbd1cd8da +// 0.093067 +0x3dbe99b8 +// 0.215405 +0x3e5c9336 +// -0.080705 +0xbda54873 +// 0.008853 +0x3c110d7c +// 0.246187 +0x3e7c186f +// -0.084174 +0xbdac6332 +// 0.023096 +0x3cbd32f9 +// 0.039098 +0x3d202511 +// -0.393318 +0xbec96107 +// 0.033669 +0x3d09e87e +// -0.071001 +0xbd9168c9 +// -0.382203 +0xbec3b00d +// -0.146864 +0xbe1663a6 +// 0.201462 +0x3e4e4c28 +// -0.073140 +0xbd95ca61 +// -0.112866 +0xbde7261f +// 0.213174 +0x3e5a4a47 +// -0.211004 +0xbe58115a +// 0.286852 +0x3e92de3f +// -0.259824 +0xbe8507b6 +// 0.273457 +0x3e8c0286 +// -0.137391 +0xbe0cb037 +// 0.738736 +0x3f3d1dcf +// 0.016603 +0x3c88020c +// -0.451902 +0xbee75fa3 +// -0.268858 +0xbe89a7bc +// 0.072470 +0x3d946b2d +// 0.555513 +0x3f0e3612 +// 0.334829 +0x3eab6ea6 +// 0.040606 +0x3d2652a7 +// 0.359553 +0x3eb81761 +// -0.181249 +0xbe399951 +// 0.500160 +0x3f000a78 +// -0.308761 +0xbe9e15fb +// -0.037733 +0xbd1a8da2 +// 0.546983 +0x3f0c070d +// -0.147263 +0xbe16cc0f +// -0.146868 +0xbe166481 +// 0.163648 +0x3e279338 +// 0.126252 +0x3e014828 +// 0.374575 +0x3ebfc855 +// -0.318730 +0xbea33093 +// -0.101990 +0xbdd0dff9 +// 0.073589 +0x3d96b592 +// 0.383902 +0x3ec48ed6 +// 0.618832 +0x3f1e6bca +// -0.613113 +0xbf1cf4f8 +// 0.292762 +0x3e95e4e8 +// -0.044104 +0xbd34a5e5 +// 0.059384 +0x3d733cf5 +// 0.052906 +0x3d58b42c +// 0.426854 +0x3eda8ca4 +// 0.020793 +0x3caa569b +// 0.023030 +0x3cbca8b1 +// -0.160449 +0xbe244ca9 +// 0.552693 +0x3f0d7d48 +// 0.026344 +0x3cd7ce96 +// 0.293726 +0x3e96634c +// 0.391356 +0x3ec85fdb +// 0.019901 +0x3ca30822 +// 0.001983 +0x3b01ed94 +// -0.223823 +0xbe6531c7 +// -0.080734 +0xbda557fd +// 0.394543 +0x3eca017b +// 0.149861 +0x3e19753c +// 0.147145 +0x3e16ad15 +// 0.332099 +0x3eaa08d2 +// 0.010183 +0x3c26d637 +// 0.094627 +0x3dc1cbf8 +// 0.154427 +0x3e1e2225 +// 0.310468 +0x3e9ef5aa +// 0.163454 +0x3e27607c +// 0.243759 +0x3e799c07 +// -0.001571 +0xbacdf4b1 +// 0.112749 +0x3de6e930 +// 0.198192 +0x3e4af2d4 +// 0.156968 +0x3e20bc3e +// 0.302629 +0x3e9af23e +// 0.576393 +0x3f138e84 +// 0.639690 +0x3f23c2b7 +// -0.218519 +0xbe5fc358 +// -0.273551 +0xbe8c0ed8 +// -0.006531 +0xbbd60147 +// -0.125150 +0xbe002747 +// -0.403949 +0xbeced257 +// 0.110422 +0x3de224f3 +// 0.375068 +0x3ec008f9 +// -0.367025 +0xbebbeab0 +// 0.113827 +0x3de91e0f +// 0.022176 +0x3cb5ab50 +// 0.108894 +0x3ddf03ab +// -0.285235 +0xbe920a48 +// 0.209625 +0x3e56a7f3 +// -0.155410 +0xbe1f23eb +// -0.005706 +0xbbbafae3 +// -0.422616 +0xbed8612e +// 0.158892 +0x3e22b4a3 +// -0.344045 +0xbeb0269b +// 0.056728 +0x3d685b4e +// 0.065458 +0x3d860ec5 +// -0.003520 +0xbb66aa98 +// 0.129157 +0x3e0441d7 +// -0.111894 +0xbde52885 +// 0.027129 +0x3cde3d05 +// 0.071966 +0x3d9362c3 +// 0.439103 +0x3ee0d223 +// -0.394633 +0xbeca0d66 +// 0.120837 +0x3df779a6 +// 0.121701 +0x3df93e4a +// 0.082909 +0x3da9cc4c +// 0.406728 +0x3ed03eaf +// 0.037476 +0x3d197ff2 +// 0.180018 +0x3e385693 +// 0.103923 +0x3dd4d5b7 +// 0.007066 +0x3be78a5b +// -0.236795 +0xbe727a6d +// -0.492770 +0xbefc4c4c +// 0.106475 +0x3dda0f7e +// -0.234014 +0xbe6fa176 +// 0.055955 +0x3d6530bb +// 0.208212 +0x3e553594 +// 0.196859 +0x3e49955f +// 0.098376 +0x3dc97989 +// 0.417108 +0x3ed58f32 +// 0.319437 +0x3ea38d35 +// 0.486099 +0x3ef8e1ee +// 0.018942 +0x3c9b2ce9 +// -0.040589 +0xbd264106 +// 0.290586 +0x3e94c7c0 +// 0.347868 +0x3eb21bb9 +// 0.953943 +0x3f743598 +// -0.239955 +0xbe75b6b6 +// -0.467858 +0xbeef8b21 +// -0.019220 +0xbc9d7382 +// 0.177508 +0x3e35c487 +// -0.191096 +0xbe43aeb5 +// -0.005549 +0xbbb5d4b4 +// -0.267741 +0xbe89154a +// 0.013365 +0x3c5af6cb +// -0.191460 +0xbe440e32 +// 0.066264 +0x3d87b55f +// 0.445763 +0x3ee43b04 +// -0.085852 +0xbdafd32c +// 0.190343 +0x3e42e938 +// -0.248384 +0xbe7e5869 +// -0.301815 +0xbe9a877c +// 0.258122 +0x3e84289f +// 0.407957 +0x3ed0dfbf +// -0.344435 +0xbeb059b9 +// -0.114633 +0xbdeac49c +// -0.360426 +0xbeb889bf +// -0.461977 +0xbeec884f +// -0.035791 +0xbd1299fa +// 0.523004 +0x3f05e39e +// -0.081942 +0xbda7d0fe +// -0.149319 +0xbe18e709 +// -0.468040 +0xbeefa2fa +// 0.190351 +0x3e42eb68 +// 0.243456 +0x3e794c68 +// 0.314841 +0x3ea132dc +// 0.115325 +0x3dec2f5e +// 0.325725 +0x3ea6c566 +// 0.204860 +0x3e51c6d7 +// -0.132637 +0xbe07d21a +// 0.048733 +0x3d479bf7 +// 0.350004 +0x3eb333c3 +// 0.466647 +0x3eeeec5a +// -0.683775 +0xbf2f0be6 +// 0.084768 +0x3dad9ab6 +// 0.248317 +0x3e7e46b0 +// 0.296056 +0x3e9794a3 +// 0.471254 +0x3ef14842 +// 0.383006 +0x3ec4194c +// 0.054729 +0x3d602b76 +// -0.000563 +0xba13b38f +// -0.123966 +0xbdfde20b +// 0.448270 +0x3ee583ae +// -0.522794 +0xbf05d5cf +// 0.505624 +0x3f017097 +// 0.195137 +0x3e47d219 +// -0.241679 +0xbe777a93 +// -0.042026 +0xbd2c23ca +// 0.181904 +0x3e3a44f9 +// -0.042613 +0xbd2e8b56 +// -0.149477 +0xbe19107b +// 0.191679 +0x3e44476a +// -0.240936 +0xbe76b7d2 +// 0.079341 +0x3da27d81 +// -0.276177 +0xbe8d671d +// -0.030531 +0xbcfa1ce6 +// -0.064377 +0xbd83d7e9 +// 0.464227 +0x3eedaf33 +// 0.008804 +0x3c10405a +// 0.018442 +0x3c971483 +// 0.505337 +0x3f015dc9 +// -0.005479 +0xbbb38aac +// -0.272921 +0xbe8bbc41 +// -0.473362 +0xbef25c82 +// 0.210414 +0x3e5776a7 +// 0.064973 +0x3d85108b +// -0.090866 +0xbdba17cc +// 0.193020 +0x3e45a6f8 +// 0.183409 +0x3e3bcf89 +// 0.242541 +0x3e785cad +// 0.146638 +0x3e16284a +// -0.446367 +0xbee48a2f +// -0.567706 +0xbf11552a +// -0.214332 +0xbe5b79ee +// -0.366051 +0xbebb6b0c +// -0.230521 +0xbe6c0da0 +// -0.116935 +0xbdef7b99 +// -0.054277 +0xbd5e51ad +// -0.017258 +0xbc8d6151 +// 0.072584 +0x3d94a6c8 +// -0.395734 +0xbeca9dad +// -0.138689 +0xbe0e0476 +// -0.483965 +0xbef7ca52 +// 0.200834 +0x3e4da78d +// 0.023409 +0x3cbfc4d0 +// 0.231034 +0x3e6c944e +// 0.105490 +0x3dd80b60 +// 0.809690 +0x3f4f47db +// 0.034617 +0x3d0dcaf2 +// 0.437125 +0x3edfced3 +// -0.441974 +0xbee24a6c +// -0.297989 +0xbe989206 +// -0.421762 +0xbed7f126 +// 0.031707 +0x3d01df65 +// -0.400101 +0xbeccda08 +// 0.299800 +0x3e997f60 +// -0.204356 +0xbe5142a7 +// -0.150595 +0xbe1a359f +// 0.254166 +0x3e82220c +// -0.017535 +0xbc8fa565 +// 0.221797 +0x3e631ec3 +// -0.307801 +0xbe9d980c +// -0.304292 +0xbe9bcc26 +// 0.198261 +0x3e4b04f0 +// 0.038194 +0x3d1c714e +// -0.257870 +0xbe840781 +// -0.017501 +0xbc8f5d6c +// -0.137579 +0xbe0ce1a1 +// -0.413943 +0xbed3f04c +// 0.007204 +0x3bec0c33 +// -0.024321 +0xbcc73da7 +// -0.632105 +0xbf21d1a5 +// -0.179971 +0xbe384a55 +// -0.019207 +0xbc9d588b +// 0.505628 +0x3f0170de +// 0.342564 +0x3eaf6487 +// 0.306465 +0x3e9ce8ec +// -0.406875 +0xbed051eb +// -0.168141 +0xbe2c2d3a +// -0.206752 +0xbe53b6ac +// -0.175027 +0xbe333a3d +// -0.361697 +0xbeb93064 +// -0.193132 +0xbe45c473 +// 0.190696 +0x3e4345e5 +// 0.362083 +0x3eb962f7 +// 0.023636 +0x3cc1a10f +// -0.137524 +0xbe0cd306 +// -0.119920 +0xbdf598cb +// -0.201309 +0xbe4e2409 +// 0.042915 +0x3d2fc7b4 +// -0.367477 +0xbebc2600 +// -0.151307 +0xbe1af055 +// -0.534617 +0xbf08dca1 +// 0.215442 +0x3e5c9cb8 +// -0.524498 +0xbf064583 +// -0.116891 +0xbdef64bd +// 0.563391 +0x3f103a60 +// 0.025306 +0x3ccf4efe +// -0.152182 +0xbe1bd589 +// 0.161971 +0x3e25dba1 +// 0.235638 +0x3e714b36 +// 0.089155 +0x3db696c8 +// -0.170461 +0xbe2e8d73 +// 0.271010 +0x3e8ac1cc +// -0.098400 +0xbdc9862d +// -0.273996 +0xbe8c4925 +// 0.001994 +0x3b02a703 +// -0.064240 +0xbd83901a +// 0.091625 +0x3dbba611 +// -0.008443 +0xbc0a5615 +// 0.158715 +0x3e22863a +// -0.488341 +0xbefa07de +// 0.122216 +0x3dfa4c4a +// 0.151794 +0x3e1b6fdb +// 0.106143 +0x3dd96179 +// -0.079275 +0xbda25aed +// 0.292362 +0x3e95b071 +// 0.237777 +0x3e737bde +// -0.502014 +0xbf008400 +// -0.354972 +0xbeb5bee5 +// -0.058615 +0xbd70165f +// 0.153375 +0x3e1d0e41 +// -0.086355 +0xbdb0dad8 +// 0.317543 +0x3ea2950e +// -0.038995 +0xbd1fb95e +// 0.295155 +0x3e971e9c +// 0.237003 +0x3e72b0fb +// 0.927132 +0x3f6d5884 +// -0.354465 +0xbeb57c79 +// -0.284335 +0xbe91945c +// -0.140236 +0xbe0f9a0f +// -0.398870 +0xbecc38c0 +// -0.102986 +0xbdd2ea5b +// 0.538466 +0x3f09d8f0 +// -0.303592 +0xbe9b7072 +// -0.165690 +0xbe29aab2 +// 0.108140 +0x3ddd7863 +// -0.033714 +0xbd0a1751 +// -0.448888 +0xbee5d4ab +// 0.143564 +0x3e130267 +// -0.291369 +0xbe952e59 +// -0.362140 +0xbeb96a76 +// 0.131248 +0x3e0665f4 +// -0.380291 +0xbec2b580 +// 0.254997 +0x3e828ef0 +// 0.216380 +0x3e5d92d6 +// -0.134909 +0xbe0a2581 +// -0.251682 +0xbe80dc7a +// 0.225556 +0x3e66f813 +// -0.277353 +0xbe8e0130 +// -0.070846 +0xbd9117e4 +// -0.023430 +0xbcbff0d6 +// -0.731141 +0xbf3b2c11 +// -0.664506 +0xbf2a1d0b +// -0.131185 +0xbe065558 +// -0.266484 +0xbe88709e +// -0.523204 +0xbf05f0ad +// 0.171790 +0x3e2fe9b7 +// 0.243216 +0x3e790d8c +// -0.106361 +0xbdd9d3a9 +// -0.523114 +0xbf05eacc +// -0.021285 +0xbcae5d10 +// 0.556631 +0x3f0e7f5d +// 0.091270 +0x3dbaebd2 +// 0.347385 +0x3eb1dc6b +// -0.759754 +0xbf427f40 +// -0.256474 +0xbe835096 +// 0.344259 +0x3eb042b7 +// 0.395046 +0x3eca437d +// -0.370283 +0xbebd95b0 +// -0.512303 +0xbf032651 +// 0.174686 +0x3e32e0e9 +// -0.314474 +0xbea102c4 +// 0.017781 +0x3c91a9c1 +// 0.509089 +0x3f0253a2 +// -0.380669 +0xbec2e70e +// -0.334069 +0xbeab0b0d +// 0.139650 +0x3e0f004b +// 0.043335 +0x3d31805a +// -0.220310 +0xbe6198ff +// -0.325291 +0xbea68c8a +// 0.145932 +0x3e156f1d +// 0.230598 +0x3e6c21fd +// 0.056944 +0x3d693dde +// 0.278453 +0x3e8e9169 +// -0.180892 +0xbe393baa +// 0.079839 +0x3da3829a +// 0.489409 +0x3efa93c5 +// 0.300052 +0x3e99a078 +// -0.388508 +0xbec6ea7e +// 0.189096 +0x3e41a247 +// -0.001887 +0xbaf75358 +// -0.338195 +0xbead27dd +// -0.196588 +0xbe494e55 +// -0.071205 +0xbd91d40a +// 0.174667 +0x3e32dbde +// -0.488617 +0xbefa2bf8 +// 0.049620 +0x3d4b3e40 +// -0.276253 +0xbe8d7114 +// 0.276535 +0x3e8d95f0 +// 0.258893 +0x3e848da4 +// -0.036360 +0xbd14ee39 +// -0.262522 +0xbe866940 +// -0.330246 +0xbea9160f +// -0.043993 +0xbd3431f0 +// 0.427383 +0x3edad1f0 +// 0.425253 +0x3ed9baca +// 0.230471 +0x3e6c007c +// 0.175824 +0x3e340b49 +// 0.417556 +0x3ed5c9de +// 0.093834 +0x3dc02c03 +// -0.070235 +0xbd8fd776 +// 0.022143 +0x3cb56564 +// -0.372495 +0xbebeb79c +// -0.075542 +0xbd9ab5d5 +// 0.130702 +0x3e05d6ba +// 0.665032 +0x3f2a3f82 +// -0.398962 +0xbecc44bb +// 0.021693 +0x3cb1b480 +// 0.057748 +0x3d6c899d +// 0.226050 +0x3e67798f +// 0.254761 +0x3e827001 +// -0.188276 +0xbe40cb86 +// -0.404431 +0xbecf1194 +// 0.007012 +0x3be5c55e +// 0.498777 +0x3eff5faf +// 0.023696 +0x3cc21e81 +// -0.296487 +0xbe97cd1a +// -0.567162 +0xbf113180 +// -0.253800 +0xbe81f20b +// -0.204598 +0xbe51821d +// -0.694642 +0xbf31d416 +// -0.655387 +0xbf27c76a +// 0.121944 +0x3df9bdfb +// -0.368256 +0xbebc8bfe +// -0.171509 +0xbe2f9ff8 +// 0.164043 +0x3e27faee +// 0.014352 +0x3c6b2549 +// -0.091867 +0xbdbc24fc +// 0.709829 +0x3f35b759 +// 0.014468 +0x3c6d0930 +// -0.266926 +0xbe88aa87 +// -0.025233 +0xbcceb65b +// 0.045784 +0x3d3b87e9 +// -0.263635 +0xbe86fb33 +// -0.068064 +0xbd8b6550 +// 0.272787 +0x3e8baaae +// 0.004766 +0x3b9c2e85 +// -0.274585 +0xbe8c9663 +// -0.311394 +0xbe9f6f02 +// -0.277466 +0xbe8e100c +// -0.089772 +0xbdb7da77 +// 0.507132 +0x3f01d367 +// -0.257973 +0xbe841516 +// -0.021225 +0xbcaddf08 +// 0.108024 +0x3ddd3bdb +// -0.368862 +0xbebcdb82 +// -0.464027 +0xbeed94ea +// 0.360360 +0x3eb88126 +// 0.090226 +0x3db8c88c +// 0.156815 +0x3e209419 +// 0.165809 +0x3e29c9e4 +// -0.239449 +0xbe753213 +// 0.243573 +0x3e796b29 +// -0.120030 +0xbdf5d25b +// -0.814419 +0xbf507dc7 +// -0.617688 +0xbf1e20d5 +// 0.243774 +0x3e799fe6 +// -0.182859 +0xbe3b3f55 +// 0.252950 +0x3e8182a6 +// -0.189527 +0xbe421362 +// 0.044051 +0x3d346f1d +// -0.044707 +0xbd371ea7 +// -0.206019 +0xbe52f69e +// -0.607897 +0xbf1b9f20 +// -0.014872 +0xbc73aad6 +// -0.384807 +0xbec5055d +// 0.043888 +0x3d33c42d +// -0.743792 +0xbf3e6920 +// -0.260705 +0xbe857b30 +// 0.160875 +0x3e24bc5b +// 0.187103 +0x3e3f980b +// -0.500309 +0xbf001440 +// -0.291297 +0xbe9524e4 +// 0.258593 +0x3e846640 +// -0.124532 +0xbdff0a80 +// -0.298366 +0xbe98c35f +// -0.367440 +0xbebc2114 +// 0.617682 +0x3f1e206f +// 0.635749 +0x3f22c070 +// 0.288715 +0x3e93d265 +// 0.201777 +0x3e4e9e83 +// 0.159905 +0x3e23be3e +// -0.357056 +0xbeb6cffc +// -0.098678 +0xbdca177c +// 0.104449 +0x3dd5e94c +// -0.006156 +0xbbc9bc21 +// -0.003233 +0xbb53e18f +// 0.298626 +0x3e98e577 +// -0.153218 +0xbe1ce535 +// 0.229214 +0x3e6ab70f +// 0.254781 +0x3e8272b5 +// 0.297662 +0x3e986736 +// -0.428067 +0xbedb2b95 +// -0.178023 +0xbe364ba7 +// -0.005551 +0xbbb5e44a +// -0.527266 +0xbf06faef +// -0.434370 +0xbede65c6 +// -0.364145 +0xbeba712c +// -0.197840 +0xbe4a968a +// 0.548218 +0x3f0c5803 +// 0.235568 +0x3e7138d6 +// -0.458613 +0xbeeacf5e +// 0.149814 +0x3e1968c9 +// -0.189511 +0xbe420f48 +// 0.097625 +0x3dc7efbf +// 0.143173 +0x3e129be2 +// 0.039491 +0x3d21c113 +// 0.135275 +0x3e0a85a6 +// -0.244690 +0xbe7a9007 +// -0.192562 +0xbe452ee4 +// 0.047009 +0x3d408cbb +// -0.157788 +0xbe219329 +// 0.407615 +0x3ed0b2f3 +// 0.296101 +0x3e979a99 +// -0.042300 +0xbd2d42d5 +// 0.806994 +0x3f4e9730 +// -0.317594 +0xbea29bac +// -0.264130 +0xbe873c03 +// -0.245516 +0xbe7b6897 +// -0.489565 +0xbefaa839 +// 0.036946 +0x3d175467 +// 0.149280 +0x3e18dcc3 +// -0.362483 +0xbeb9976e +// -0.055018 +0xbd615aa4 +// 0.139990 +0x3e0f5979 +// -0.062111 +0xbd7e67eb +// 0.366915 +0x3ebbdc38 +// -0.321808 +0xbea4c403 +// -0.021487 +0xbcb005e2 +// -0.698373 +0xbf32c88c +// 0.408099 +0x3ed0f266 +// -0.024644 +0xbcc9e28c +// -0.060216 +0xbd76a4d0 +// -0.040740 +0xbd26df3e +// 0.018813 +0x3c9a1d00 +// 0.014932 +0x3c74a50d +// -0.267854 +0xbe892426 +// -0.119002 +0xbdf3b774 +// -0.351949 +0xbeb432b8 +// -0.023018 +0xbcbc9047 +// -0.657791 +0xbf2864fb +// -0.130226 +0xbe055a0f +// -0.008319 +0xbc084dc1 +// 0.549282 +0x3f0c9dc6 +// -0.348925 +0xbeb2a651 +// -0.018215 +0xbc953737 +// 0.254077 +0x3e821669 +// 0.051354 +0x3d5258f7 +// 0.481945 +0x3ef6c172 +// -0.406726 +0xbed03e6f +// 0.193498 +0x3e462474 +// -0.124989 +0xbdfffa77 +// 0.501467 +0x3f00601e +// 0.723901 +0x3f395198 +// -0.275818 +0xbe8d380e +// -0.143208 +0xbe12a52f +// -0.389349 +0xbec758c9 +// 0.156257 +0x3e2001dc +// 0.067358 +0x3d89f309 +// 0.024449 +0x3cc84985 +// -0.016052 +0xbc838053 +// 0.116387 +0x3dee5c3c +// 0.307353 +0x3e9d5d66 +// 0.371354 +0x3ebe2216 +// -0.106456 +0xbdda05b6 +// -0.216671 +0xbe5ddef8 +// -0.392362 +0xbec8e3a1 +// -0.216666 +0xbe5ddda7 +// 0.258485 +0x3e845818 +// -0.500959 +0xbf003ed5 +// 0.070589 +0x3d909130 +// 0.384500 +0x3ec4dd2e +// 0.061186 +0x3d7a9e92 +// -0.023771 +0xbcc2bada +// -0.177413 +0xbe35abd7 +// 0.178677 +0x3e36f718 +// -0.520872 +0xbf0557dd +// 0.050878 +0x3d50659b +// 0.158327 +0x3e222080 +// -0.336234 +0xbeac26d3 +// 0.440347 +0x3ee17528 +// -0.033495 +0xbd09321a +// -0.202609 +0xbe4f78c9 +// 0.024451 +0x3cc84cb6 +// -0.081149 +0xbda631b0 +// -0.182281 +0xbe3aa7cd +// -0.207399 +0xbe546086 +// -0.048487 +0xbd469a0a +// -0.693495 +0xbf3188e7 +// -0.260513 +0xbe8561fc +// -0.171182 +0xbe2f4a68 +// -0.207897 +0xbe54e303 +// 0.071484 +0x3d92662c +// 0.727025 +0x3f3a1e47 +// -0.075951 +0xbd9b8bfe +// -0.075322 +0xbd9a424a +// -0.355408 +0xbeb5f802 +// 0.141876 +0x3e114807 +// 0.077176 +0x3d9e0eb5 +// 0.313007 +0x3ea0427b +// -0.100611 +0xbdce0d48 +// 0.083276 +0x3daa8c59 +// 0.226423 +0x3e67db5e +// 0.080222 +0x3da44b95 +// 0.273758 +0x3e8c2a03 +// 0.219003 +0x3e604268 +// -0.199167 +0xbe4bf262 +// 0.258247 +0x3e8438e7 +// -0.202365 +0xbe4f38ad +// 0.225334 +0x3e66be0c +// -0.009315 +0xbc189e54 +// 0.210734 +0x3e57caae +// 0.441459 +0x3ee206ee +// 0.285925 +0x3e9264ba +// -0.108372 +0xbdddf1eb +// 0.010774 +0x3c3086f0 +// 0.537431 +0x3f099516 +// 0.339750 +0x3eadf3b3 +// -0.108674 +0xbdde9059 +// -0.266203 +0xbe884bcd +// -0.873457 +0xbf5f9ada +// -0.076965 +0xbd9da00f +// 0.029601 +0x3cf27dcb +// -0.281336 +0xbe900b40 +// -0.312408 +0xbe9ff3ff +// 0.334009 +0x3eab033b +// 0.467034 +0x3eef1f12 +// -0.067858 +0xbd8af901 +// 0.689722 +0x3f30919d +// -0.199986 +0xbe4cc925 +// 0.114796 +0x3deb1a3f +// -0.482372 +0xbef6f987 +// -0.340502 +0xbeae5651 +// 0.418398 +0x3ed63854 +// -0.087558 +0xbdb35164 +// 0.156216 +0x3e1ff726 +// -0.078786 +0xbda15a53 +// -0.282075 +0xbe906c1a +// 0.421018 +0x3ed78fa2 +// 0.625549 +0x3f2023fd +// 0.134962 +0x3e0a335d +// 0.290311 +0x3e94a395 +// 0.006704 +0x3bdbaa22 +// -0.082818 +0xbda99c9c +// 0.130438 +0x3e059191 +// 0.165904 +0x3e29e2c8 +// 0.167655 +0x3e2badbc +// -0.202374 +0xbe4f3b40 +// -0.673449 +0xbf2c672b +// 0.212176 +0x3e594490 +// 0.360322 +0x3eb87c24 +// 0.119883 +0x3df58567 +// -0.118969 +0xbdf3a5f0 +// -0.422087 +0xbed81bcb +// 0.222061 +0x3e6363d9 +// -0.225973 +0xbe676559 +// -0.068432 +0xbd8c25f1 +// 0.119574 +0x3df4e32c +// -0.093444 +0xbdbf5fa9 +// -0.173338 +0xbe317fa2 +// -0.089525 +0xbdb758e4 +// -0.363041 +0xbeb9e08d +// -0.434616 +0xbede85ff +// 0.197376 +0x3e4a1cfc +// -0.174021 +0xbe3232ab +// -0.118745 +0xbdf33070 +// 0.201208 +0x3e4e0998 +// 0.172405 +0x3e308adf +// 0.269370 +0x3e89eaec +// -0.196612 +0xbe4954bc +// 0.291291 +0x3e952413 +// 0.036809 +0x3d16c57c +// -0.176854 +0xbe351949 +// -0.008271 +0xbc0781bc +// 0.600097 +0x3f199fee +// 0.204966 +0x3e51e2a2 +// -0.001210 +0xba9e9f60 +// 0.427625 +0x3edaf19d +// 0.060797 +0x3d79060f +// -0.210285 +0xbe5754f6 +// 0.291770 +0x3e9562f1 +// -0.128712 +0xbe03ccff +// 0.392487 +0x3ec8f402 +// -0.059440 +0xbd737754 +// -0.614327 +0xbf1d4488 +// 0.084807 +0x3dadaf0a +// 0.279112 +0x3e8ee7d2 +// 0.194321 +0x3e46fc21 +// -0.206617 +0xbe539357 +// 0.308204 +0x3e9dccf6 +// -0.073078 +0xbd95a9f7 +// -0.156884 +0xbe20a633 +// -0.223535 +0xbe64e661 +// 0.409932 +0x3ed1e28e +// 0.060786 +0x3d78fade +// 0.116148 +0x3deddec5 +// 0.430866 +0x3edc9a70 +// -0.117991 +0xbdf1a537 +// -0.166884 +0xbe2ae3a0 +// -0.173987 +0xbe322988 +// -0.274625 +0xbe8c9ba0 +// 0.069443 +0x3d8e383b +// 0.152509 +0x3e1c2b5d +// 0.068332 +0x3d8bf1a1 +// -0.591518 +0xbf176dc1 +// 0.338739 +0x3ead6f3a +// -0.055723 +0xbd643d93 +// -1.000000 +0xbf800000 +// -0.195715 +0xbe4869a4 +// 0.128106 +0x3e032e23 +// -0.001252 +0xbaa425dc +// -0.201723 +0xbe4e908e +// 0.131124 +0x3e064551 +// -0.257277 +0xbe83b9c3 +// 0.024863 +0x3ccbadd9 +// -0.165959 +0xbe29f122 +// -0.328227 +0xbea80d57 +// -0.607005 +0xbf1b64b2 +// -0.274459 +0xbe8c85f2 +// 0.131456 +0x3e069c53 +// -0.287316 +0xbe931b05 +// 0.152472 +0x3e1c2197 +// 0.221784 +0x3e631b5d +// -0.031065 +0xbcfe7c5f +// 0.171581 +0x3e2fb302 +// -0.117430 +0xbdf07f53 +// -0.324350 +0xbea61132 +// 0.126062 +0x3e01167c +// 0.197341 +0x3e4a13b3 +// 0.439141 +0x3ee0d713 +// -0.446962 +0xbee4d839 +// -0.346994 +0xbeb1a927 +// -0.203893 +0xbe50c95f +// -0.211671 +0xbe58c046 +// -0.091637 +0xbdbbabfa +// 0.024193 +0x3cc63004 +// 0.039981 +0x3d23c2fa +// 0.214152 +0x3e5b4aa5 +// -0.424930 +0xbed9907d +// 0.419537 +0x3ed6cd7d +// -0.146998 +0xbe16869f +// 0.044498 +0x3d364376 +// -0.566640 +0xbf110f4a +// -0.012911 +0xbc538777 +// 0.174987 +0x3e332fda +// 0.021466 +0x3cafd8e8 +// 0.053028 +0x3d5933db +// -0.019060 +0xbc9c235a +// 0.135161 +0x3e0a67a3 +// 0.107546 +0x3ddc4115 +// -0.135285 +0xbe0a880d +// -0.206938 +0xbe53e7aa +// 0.457854 +0x3eea6bcd +// -0.043224 +0xbd310b4d +// 0.301706 +0x3e9a7943 +// -0.125947 +0xbe00f861 +// 0.346079 +0x3eb13143 +// -0.071872 +0xbd933177 +// -0.013210 +0xbc586e8d +// 0.471146 +0x3ef13a1d +// -0.670020 +0xbf2b8666 +// 0.173504 +0x3e31aaf0 +// -0.605756 +0xbf1b12cb +// -0.495757 +0xbefdd3d7 +// 0.120247 +0x3df6441f +// 0.137357 +0x3e0ca730 +// -0.477027 +0xbef43cea +// 0.186388 +0x3e3edc8d +// 0.066524 +0x3d883dc7 +// -0.289740 +0xbe9458ce +// -0.367190 +0xbebc0049 +// 0.198600 +0x3e4b5dbf +// -0.068403 +0xbd8c1708 +// 0.044575 +0x3d369438 +// -0.189875 +0xbe426e82 +// -0.045009 +0xbd385b58 +// 0.152161 +0x3e1bd007 +// 0.244622 +0x3e7a7e2e +// -0.351716 +0xbeb4142d +// 0.007358 +0x3bf11df1 +// 0.232960 +0x3e6e8d16 +// 0.249456 +0x3e7f7182 +// 0.528005 +0x3f072b5d +// 0.629894 +0x3f2140b5 +// -0.211689 +0xbe58c4e5 +// -0.180357 +0xbe38af66 +// -0.004928 +0xbba176e5 +// -0.162022 +0xbe25e904 +// -0.101448 +0xbdcfc3fd +// -0.140191 +0xbe0f8e41 +// -0.116656 +0xbdeee92b +// 0.048559 +0x3d46e5dd +// 0.153707 +0x3e1d655d +// -0.332620 +0xbeaa4d33 +// -0.239370 +0xbe751d7e +// -0.004725 +0xbb9ad6ed +// 0.683053 +0x3f2edc92 +// -0.651776 +0xbf26dacf +// 0.381882 +0x3ec38619 +// 0.219907 +0x3e612f35 +// -0.082219 +0xbda8626c +// 0.622719 +0x3f1f6a89 +// 0.044199 +0x3d350a20 +// -0.313822 +0xbea0ad58 +// 0.078200 +0x3da02794 +// -0.254515 +0xbe824fc4 +// 0.324182 +0x3ea5fb3c +// 0.210685 +0x3e57bdde +// 0.175108 +0x3e334f7a +// -0.344186 +0xbeb03930 +// 0.069489 +0x3d8e5062 +// -0.109304 +0xbddfdaf5 +// 0.167227 +0x3e2b3d9d +// 0.034176 +0x3d0bfbc4 +// 0.173543 +0x3e31b52c +// 0.237559 +0x3e7342b3 +// -0.021895 +0xbcb35c82 +// -0.271944 +0xbe8b3c3d +// 0.276866 +0x3e8dc164 +// 0.369973 +0x3ebd6d10 +// 0.157684 +0x3e2177f3 +// 0.073461 +0x3d96727e +// 0.167321 +0x3e2b5621 +// 0.241548 +0x3e77583d +// 0.195735 +0x3e486ea5 +// -0.241827 +0xbe77a188 +// 0.369386 +0x3ebd2035 +// -0.123385 +0xbdfcb12e +// 0.286739 +0x3e92cf64 +// -0.215972 +0xbe5d27a7 +// -0.026908 +0xbcdc6da6 +// 0.312105 +0x3e9fcc3f +// -0.316446 +0xbea20527 +// -0.154893 +0xbe1e9c5e +// -0.597187 +0xbf18e146 +// -0.251321 +0xbe80ad31 +// -0.556395 +0xbf0e6fe3 +// -0.030359 +0xbcf8b2d0 +// -0.087121 +0xbdb26c98 +// 0.457180 +0x3eea138f +// -0.341636 +0xbeaeeaf9 +// -0.212820 +0xbe59ed60 +// 0.452309 +0x3ee79501 +// 0.339645 +0x3eade5e7 diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_256_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_256_1_f32.txt new file mode 100755 index 00000000..f0656b89 --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_256_1_f32.txt @@ -0,0 +1,514 @@ +W +256 +// 0.089738 +0x3db7c865 +// 0.067259 +0x3d89bf0e +// 0.154389 +0x3e1e1836 +// -0.083019 +0xbdaa05a4 +// -0.087256 +0xbdb2b334 +// -0.621283 +0xbf1f0c6a +// 0.331273 +0x3ea99cac +// 0.783341 +0x3f488910 +// 0.092650 +0x3dbdbf72 +// 0.075105 +0x3d99d0d7 +// -0.096163 +0xbdc4f113 +// -0.108939 +0xbddf1b32 +// -0.232866 +0xbe6e7455 +// 0.328005 +0x3ea7f043 +// 0.310901 +0x3e9f2e62 +// -0.039975 +0xbd23bc4d +// -0.296302 +0xbe97b4e9 +// 0.357151 +0x3eb6dc87 +// 0.421522 +0x3ed7d1b6 +// -0.570618 +0xbf121408 +// 0.385768 +0x3ec5836a +// 0.262206 +0x3e863fcf +// 0.100940 +0x3dceb991 +// 0.251663 +0x3e80d9f9 +// -0.069520 +0xbd8e60af +// -0.174688 +0xbe32e153 +// 0.079187 +0x3da22cc5 +// -0.430499 +0xbedc6a68 +// 0.242275 +0x3e7816f2 +// 0.758464 +0x3f422ab1 +// 0.121298 +0x3df86b1d +// -0.283242 +0xbe91050b +// -0.664019 +0xbf29fd2d +// 0.260954 +0x3e859bc8 +// -0.110971 +0xbde344d5 +// -0.359717 +0xbeb82cd8 +// 0.362777 +0x3eb9bdd8 +// 0.240596 +0x3e765ebe +// -0.168707 +0xbe2cc17b +// 0.096354 +0x3dc55542 +// 0.360356 +0x3eb880a2 +// 0.273952 +0x3e8c4375 +// -0.813507 +0xbf5041f7 +// 0.202244 +0x3e4f1927 +// 0.654824 +0x3f27a285 +// -0.027679 +0xbce2c006 +// 0.570388 +0x3f1204ee +// -0.281811 +0xbe904995 +// 0.439898 +0x3ee13a47 +// 0.034354 +0x3d0cb734 +// -0.404687 +0xbecf3331 +// 0.018210 +0x3c952d78 +// 0.173341 +0x3e318064 +// 0.096519 +0x3dc5ac00 +// 0.025961 +0x3cd4ac02 +// 0.086384 +0x3db0ea03 +// 0.467037 +0x3eef1f82 +// -0.061900 +0xbd7d8b10 +// -0.091634 +0xbdbbaa5e +// -0.054937 +0xbd6105ec +// 0.402989 +0x3ece548b +// 0.104294 +0x3dd59832 +// -0.010941 +0xbc3342e7 +// -0.277462 +0xbe8e0f89 +// 0.317816 +0x3ea2b8b9 +// -0.091144 +0xbdbaa9c0 +// 0.409791 +0x3ed1d02a +// -0.042292 +0xbd2d3acc +// 0.075197 +0x3d9a00f3 +// -0.101919 +0xbdd0babb +// 0.305818 +0x3e9c941f +// 0.305115 +0x3e9c3801 +// 0.225793 +0x3e673627 +// -0.819021 +0xbf51ab5e +// 0.099640 +0x3dcc1035 +// -0.359991 +0xbeb850b6 +// -0.123400 +0xbdfcb8eb +// -0.027310 +0xbcdfb89a +// -0.223871 +0xbe653e7c +// 0.455622 +0x3ee94741 +// 0.246788 +0x3e7cb611 +// -0.068658 +0xbd8c9c7e +// 0.010263 +0x3c28274d +// 1.000000 +0x3f800000 +// 0.480968 +0x3ef6417f +// -0.015245 +0xbc79c733 +// 0.013451 +0x3c5c5fc5 +// -0.413680 +0xbed3cdd6 +// -0.451646 +0xbee73e30 +// -0.311718 +0xbe9f9984 +// -0.325950 +0xbea6e2e5 +// -0.385646 +0xbec57374 +// -0.045221 +0xbd39399c +// 0.110227 +0x3de1be72 +// -0.035305 +0xbd109c7c +// 0.004051 +0x3b84bc8c +// -0.331952 +0xbea9f5ad +// 0.164119 +0x3e280ec3 +// 0.146625 +0x3e1624f8 +// 0.036189 +0x3d143aa4 +// -0.099008 +0xbdcac4c8 +// -0.563731 +0xbf1050aa +// 0.964170 +0x3f76d3d2 +// 0.428630 +0x3edb7570 +// -0.265563 +0xbe87f7e5 +// 0.443260 +0x3ee2f308 +// -0.627063 +0xbf20872f +// -0.592591 +0xbf17b410 +// 0.094141 +0x3dc0cd02 +// -0.093867 +0xbdc03d38 +// -0.522123 +0xbf05a9dd +// -0.035453 +0xbd1136f8 +// -0.031508 +0xbd010e53 +// 0.072731 +0x3d94f436 +// -0.112147 +0xbde5ad66 +// -0.440226 +0xbee1655a +// -0.106819 +0xbddac410 +// -0.362694 +0xbeb9b308 +// 0.018079 +0x3c941a6a +// -0.170406 +0xbe2e7ef9 +// 0.622399 +0x3f1f5591 +// 0.119503 +0x3df4bddc +// 0.008095 +0x3c04a25b +// -0.032518 +0xbd053165 +// 0.021576 +0x3cb0bf6b +// -0.317126 +0xbea25e57 +// -0.387595 +0xbec672cc +// 0.098323 +0x3dc95d5d +// -0.333914 +0xbeaaf6c5 +// -0.104521 +0xbdd60f35 +// -0.087055 +0xbdb24a01 +// -0.254765 +0xbe82708f +// -0.445842 +0xbee44567 +// -0.429256 +0xbedbc765 +// 0.540044 +0x3f0a405a +// 0.177131 +0x3e3561f1 +// 0.268467 +0x3e897490 +// 0.429066 +0x3edbae7e +// -0.197797 +0xbe4a8b41 +// -0.241472 +0xbe774469 +// 0.323202 +0x3ea57aac +// -0.235000 +0xbe70a3ba +// 0.609865 +0x3f1c2018 +// 0.602386 +0x3f1a35fa +// 0.019534 +0x3ca00609 +// -0.196338 +0xbe490cc9 +// 0.096247 +0x3dc51cec +// 0.155905 +0x3e1fa572 +// -0.530173 +0xbf07b96e +// -0.625972 +0xbf203fb4 +// -0.132952 +0xbe082484 +// 0.500561 +0x3f0024c8 +// -0.191938 +0xbe448b75 +// -0.396835 +0xbecb2de5 +// 0.599835 +0x3f198ed0 +// -0.117457 +0xbdf08d21 +// 0.582546 +0x3f1521bc +// 0.226422 +0x3e67db35 +// -0.223980 +0xbe655b05 +// -0.103188 +0xbdd35454 +// -0.040533 +0xbd26061f +// 0.086565 +0x3db14927 +// 0.151441 +0x3e1b1359 +// 0.173882 +0x3e320e25 +// -0.148597 +0xbe1829de +// -0.408066 +0xbed0edf9 +// 0.257180 +0x3e83ad09 +// 0.046722 +0x3d3f5fb7 +// -0.279765 +0xbe8f3d56 +// -0.513039 +0xbf035683 +// 0.232855 +0x3e6e7184 +// 0.724141 +0x3f396155 +// 0.156407 +0x3e202949 +// 0.477019 +0x3ef43bd1 +// 0.782124 +0x3f483950 +// 0.141778 +0x3e112e5d +// -0.465177 +0xbeee2bb4 +// -0.168128 +0xbe2c29c1 +// 0.528298 +0x3f073e8e +// -0.411862 +0xbed2dfa2 +// 0.319303 +0x3ea37b9f +// 0.297564 +0x3e985a55 +// -0.263947 +0xbe8723ff +// -0.185831 +0xbe3e4a75 +// 0.372901 +0x3ebeece2 +// 0.325011 +0x3ea667cd +// -0.211544 +0xbe589f02 +// -0.054309 +0xbd5e72fb +// -0.003084 +0xbb4a15b9 +// -0.024571 +0xbcc94a0c +// 0.016627 +0x3c883561 +// -0.081301 +0xbda680f8 +// 0.472227 +0x3ef1c7c9 +// 0.586417 +0x3f161f74 +// -0.214688 +0xbe5bd74c +// 0.133952 +0x3e092aaf +// -0.465443 +0xbeee4e96 +// -0.173991 +0xbe322a9f +// 0.043391 +0x3d31baf2 +// 0.199079 +0x3e4bdb3f +// -0.720737 +0xbf38823b +// 0.692669 +0x3f3152c0 +// -0.146139 +0xbe15a580 +// -0.089478 +0xbdb74076 +// 0.441291 +0x3ee1f0d5 +// 0.078354 +0x3da077e1 +// 0.375427 +0x3ec037ea +// -0.033212 +0xbd080925 +// -0.107130 +0xbddb66c5 +// 0.048466 +0x3d468475 +// 0.118295 +0x3df244da +// -0.062158 +0xbd7e9954 +// 0.044569 +0x3d368e61 +// -0.197895 +0xbe4aa514 +// 0.288538 +0x3e93bb48 +// -0.607111 +0xbf1b6b9d +// 0.271215 +0x3e8adcaa +// -0.528523 +0xbf074d44 +// -0.407540 +0xbed0a910 +// -0.010570 +0xbc2d2d1e +// -0.475852 +0xbef3a2e2 +// 0.117884 +0x3df16cfc +// -0.325560 +0xbea6afcc +// -0.341994 +0xbeaf19df +// -0.603439 +0xbf1a7af4 +// 0.252634 +0x3e815945 +// -0.161713 +0xbe259804 +// -0.173283 +0xbe317100 +// 0.259118 +0x3e84ab15 +// -0.349186 +0xbeb2c87c +// 0.444531 +0x3ee399a1 +// 0.130996 +0x3e0623b0 +// -0.449434 +0xbee61c40 +// -0.437433 +0xbedff738 +// 0.379204 +0x3ec22702 +// 0.301281 +0x3e9a4181 +// 0.170051 +0x3e2e21d1 +// -0.235498 +0xbe71265b +// -0.022892 +0xbcbb878b +// 0.463847 +0x3eed7d4e +// 0.308328 +0x3e9ddd20 +// 0.375992 +0x3ec08210 +// -0.305638 +0xbe9c7c97 +// -0.199858 +0xbe4ca776 +// 0.041511 +0x3d2a0759 +// -0.212038 +0xbe59208c +// 0.002997 +0x3b446c1c +// -0.454472 +0xbee8b097 +// -0.187657 +0xbe402913 +// 0.204091 +0x3e50fd37 +// 0.332860 +0x3eaa6ca7 +// -0.086138 +0xbdb06936 +// 0.000109 +0x38e3bf6c +// -0.202735 +0xbe4f99db +// 0.089400 +0x3db71796 +// 0.005566 +0x3bb66229 diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_512_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_512_1_f32.txt new file mode 100755 index 00000000..26cf736c --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCInput_512_1_f32.txt @@ -0,0 +1,1026 @@ +W +512 +// 0.478585 +0x3ef50920 +// 0.170853 +0x3e2ef430 +// 0.283887 +0x3e9159b3 +// -0.315848 +0xbea1b6c9 +// -0.258172 +0xbe842f16 +// -0.209893 +0xbe56ee3c +// 0.616970 +0x3f1df1b8 +// -0.162437 +0xbe2655f7 +// 0.284512 +0x3e91ab8e +// 0.480972 +0x3ef64207 +// 0.030589 +0x3cfa9662 +// 0.076016 +0x3d9bae7a +// 0.688069 +0x3f302549 +// -0.511261 +0xbf02e208 +// -0.211647 +0xbe58ba15 +// 0.645929 +0x3f255b9c +// 0.274638 +0x3e8c9d55 +// -0.653015 +0xbf272bff +// -0.375294 +0xbec02687 +// -0.355064 +0xbeb5caf3 +// -0.038528 +0xbd1dcfb5 +// 0.269558 +0x3e8a0380 +// -0.327801 +0xbea7d594 +// -0.434870 +0xbedea73a +// 0.045841 +0x3d3bc3a1 +// 0.134143 +0x3e095ce8 +// -0.180411 +0xbe38bd8c +// 0.376180 +0x3ec09aa0 +// 0.233878 +0x3e6f7db0 +// -0.110864 +0xbde30c7d +// -0.101597 +0xbdd01215 +// -0.573921 +0xbf12ec7e +// 0.079882 +0x3da3990e +// 0.280125 +0x3e8f6c7d +// 0.106247 +0x3dd997c9 +// 0.137217 +0x3e0c82b9 +// -0.488765 +0xbefa3f73 +// 0.568116 +0x3f11700e +// 0.243675 +0x3e7985ee +// -0.217574 +0xbe5ecbaf +// 0.171642 +0x3e2fc2eb +// 0.096190 +0x3dc4ff72 +// -0.442250 +0xbee26ea5 +// 0.055089 +0x3d61a578 +// 0.507327 +0x3f01e030 +// 0.175882 +0x3e341a65 +// 0.275265 +0x3e8cef87 +// -0.407096 +0xbed06ee5 +// -0.360874 +0xbeb8c47c +// -0.404674 +0xbecf3178 +// -0.194387 +0xbe470d82 +// 0.230976 +0x3e6c8506 +// -0.271754 +0xbe8b2350 +// -0.225052 +0xbe667411 +// -0.819296 +0xbf51bd61 +// 0.236706 +0x3e726324 +// 0.167216 +0x3e2b3abb +// 0.418769 +0x3ed668da +// 0.421522 +0x3ed7d1bb +// 0.131897 +0x3e071016 +// 0.188878 +0x3e41692c +// 0.216118 +0x3e5d4e26 +// 0.595431 +0x3f186e31 +// 0.238823 +0x3e748dfa +// 0.126570 +0x3e019bae +// -0.397021 +0xbecb4653 +// 0.397690 +0x3ecb9df9 +// -0.066593 +0xbd8861a7 +// -0.253365 +0xbe81b914 +// 0.485733 +0x3ef8b1fc +// 0.093548 +0x3dbf965a +// -0.189280 +0xbe41d2b7 +// 0.203408 +0x3e504a3c +// 0.270780 +0x3e8aa3a9 +// -0.035080 +0xbd0fb059 +// -0.434862 +0xbedea62c +// 0.275612 +0x3e8d1d0d +// 0.185838 +0x3e3e4c30 +// 0.548872 +0x3f0c82e0 +// -0.090030 +0xbdb861d0 +// 0.720952 +0x3f38904c +// -0.000840 +0xba5c121f +// -0.190243 +0xbe42cf00 +// 0.146892 +0x3e166ae7 +// 0.045228 +0x3d394098 +// -0.395129 +0xbeca4e49 +// -0.485684 +0xbef8ab8e +// 0.092046 +0x3dbc82a1 +// 0.232442 +0x3e6e0555 +// 0.341302 +0x3eaebf22 +// -0.181589 +0xbe39f292 +// 0.591117 +0x3f175371 +// -0.113682 +0xbde8d254 +// 0.026620 +0x3cda119e +// -0.624459 +0xbf1fdc87 +// 0.086162 +0x3db075d7 +// 0.767946 +0x3f44981e +// 0.077062 +0x3d9dd292 +// 0.361922 +0x3eb94dd2 +// 0.012390 +0x3c4afdf2 +// 0.491584 +0x3efbb0ea +// -0.101782 +0xbdd07301 +// -0.550625 +0xbf0cf5c9 +// 0.429414 +0x3edbdc28 +// 0.278232 +0x3e8e7477 +// -0.035371 +0xbd10e18d +// -0.331172 +0xbea98f69 +// -0.116669 +0xbdeef046 +// 0.120496 +0x3df6c6cb +// 0.337004 +0x3eac8bd1 +// 0.542431 +0x3f0adcc1 +// -0.100147 +0xbdcd19a5 +// 0.181974 +0x3e3a5759 +// 0.440705 +0x3ee1a423 +// -0.147661 +0xbe173451 +// -0.150020 +0xbe199ebd +// 0.251648 +0x3e80d801 +// 0.498255 +0x3eff1b46 +// -0.270011 +0xbe8a3ee2 +// 0.648750 +0x3f261478 +// -0.189138 +0xbe41ad6f +// 0.188073 +0x3e40961d +// -0.236466 +0xbe72240b +// -0.519409 +0xbf04f7f8 +// 0.087125 +0x3db26e92 +// 0.072758 +0x3d950250 +// -0.103904 +0xbdd4cba6 +// 0.072561 +0x3d949b1c +// -0.004361 +0xbb8ee89a +// 0.136287 +0x3e0b8ec3 +// -0.179195 +0xbe377ee5 +// -0.050442 +0xbd4e9c4e +// 0.122670 +0x3dfb3a49 +// -0.206287 +0xbe533cec +// 0.182688 +0x3e3b1293 +// 0.341994 +0x3eaf19dc +// -0.326033 +0xbea6edce +// -0.044431 +0xbd35fda2 +// -0.076009 +0xbd9baab4 +// 0.864459 +0x3f5d4d38 +// 0.161491 +0x3e255dd9 +// 0.616108 +0x3f1db942 +// -0.082927 +0xbda9d5af +// -0.232148 +0xbe6db821 +// 0.206719 +0x3e53ae43 +// 0.244434 +0x3e7a4d03 +// 0.351846 +0x3eb42535 +// -0.382073 +0xbec39f1e +// 0.002701 +0x3b310347 +// -0.333033 +0xbeaa835d +// -0.441977 +0xbee24ad0 +// 0.144101 +0x3e138f40 +// -0.316491 +0xbea20b16 +// -0.213005 +0xbe5a1e0d +// 0.505803 +0x3f017c53 +// -0.809287 +0xbf4f2d71 +// -0.418997 +0xbed686d2 +// -0.042748 +0xbd2f1818 +// 0.447852 +0x3ee54ce4 +// 0.025484 +0x3cd0c32b +// 0.003717 +0x3b73910e +// 0.137963 +0x3e0d4641 +// 0.238445 +0x3e742ad6 +// -0.056242 +0xbd665e66 +// -0.025756 +0xbcd2fed4 +// 0.194456 +0x3e471f8b +// 0.163595 +0x3e278570 +// -0.483661 +0xbef7a262 +// 0.017604 +0x3c9035ff +// -0.336801 +0xbeac712e +// -0.981870 +0xbf7b5bce +// 0.279022 +0x3e8edc05 +// -0.175143 +0xbe3358a0 +// -0.284905 +0xbe91df1c +// -0.195946 +0xbe48a614 +// 0.066427 +0x3d880ab2 +// 0.123006 +0x3dfbea60 +// -0.431754 +0xbedd0ecf +// -0.588410 +0xbf16a20c +// -0.078435 +0xbda0a293 +// 0.252531 +0x3e814bc4 +// -0.065474 +0xbd861720 +// -0.041443 +0xbd29c016 +// 0.146337 +0x3e15d960 +// -0.543497 +0xbf0b22a3 +// -0.197981 +0xbe4abba9 +// -0.098140 +0xbdc8fd98 +// 0.640159 +0x3f23e17e +// -0.291288 +0xbe9523bf +// 0.409829 +0x3ed1d50c +// -0.598554 +0xbf193ad1 +// -0.455540 +0xbee93c87 +// 0.497610 +0x3efec6bd +// -0.243998 +0xbe79da9e +// -0.227526 +0xbe68fc90 +// -0.071540 +0xbd9283ab +// 0.401358 +0x3ecd7ec7 +// -0.323752 +0xbea5c2e1 +// 0.012154 +0x3c4722be +// 0.225057 +0x3e66755e +// 0.356849 +0x3eb6b4e2 +// -0.200315 +0xbe4d1f47 +// 0.038758 +0x3d1ec0fc +// -0.060596 +0xbd783404 +// -0.223661 +0xbe650747 +// 0.730027 +0x3f3ae30c +// 0.038029 +0x3d1bc449 +// 0.449356 +0x3ee61200 +// -0.368211 +0xbebc861b +// -0.150874 +0xbe1a7ecb +// 0.149878 +0x3e19798c +// -0.240205 +0xbe75f83c +// -0.069345 +0xbd8e04bd +// -0.273825 +0xbe8c32c7 +// -0.014491 +0xbc6d6b18 +// -0.213120 +0xbe5a3c21 +// -0.875218 +0xbf600e42 +// 0.316663 +0x3ea221b0 +// -0.372869 +0xbebee8a7 +// 0.094168 +0x3dc0db34 +// 0.020843 +0x3caabe27 +// 0.348409 +0x3eb262aa +// 0.068981 +0x3d8d4612 +// -0.578867 +0xbf14309d +// 0.274899 +0x3e8cbf82 +// 0.273452 +0x3e8c01dc +// 0.102050 +0x3dd0ff5b +// 0.068480 +0x3d8c3f10 +// 0.164805 +0x3e28c2bc +// 0.411389 +0x3ed2a19a +// 0.608656 +0x3f1bd0df +// 0.359024 +0x3eb7d1ff +// 0.057513 +0x3d6b92bd +// -0.729634 +0xbf3ac949 +// 0.126180 +0x3e013539 +// 0.304837 +0x3e9c1395 +// -0.072305 +0xbd941480 +// 0.057325 +0x3d6acd80 +// -0.016539 +0xbc877c21 +// -0.286342 +0xbe929b63 +// -0.418221 +0xbed6210f +// -0.507646 +0xbf01f519 +// -0.144171 +0xbe13a183 +// -0.354884 +0xbeb5b34e +// -0.213970 +0xbe5b1b15 +// 0.314795 +0x3ea12cc8 +// 0.541855 +0x3f0ab6fd +// 0.539750 +0x3f0a2d10 +// 0.004178 +0x3b88eb57 +// -0.364568 +0xbebaa8ab +// -0.252371 +0xbe8136d6 +// -0.330694 +0xbea950b7 +// 0.448008 +0x3ee5615d +// -0.400122 +0xbeccdcce +// -0.511232 +0xbf02e020 +// 0.040213 +0x3d24b6bd +// 0.017089 +0x3c8bfdf5 +// 0.020535 +0x3ca838df +// -0.132455 +0xbe07a248 +// 0.250726 +0x3e805f37 +// -0.101534 +0xbdcff133 +// -0.703273 +0xbf3409b1 +// -0.146289 +0xbe15cce0 +// -0.027001 +0xbcdd3034 +// 0.113077 +0x3de794aa +// 0.329918 +0x3ea8eaff +// 0.210369 +0x3e576afd +// -0.392811 +0xbec91e7b +// -0.397435 +0xbecb7caa +// -0.170788 +0xbe2ee314 +// 0.442612 +0x3ee29e00 +// 0.496098 +0x3efe0089 +// 0.211886 +0x3e58f8a0 +// -0.536083 +0xbf093cb7 +// 0.287837 +0x3e935f66 +// 0.188145 +0x3e40a926 +// 0.029069 +0x3cee22a4 +// 0.311247 +0x3e9f5bbf +// -0.317397 +0xbea281d2 +// -0.058582 +0xbd6ff339 +// 0.229852 +0x3e6b5e4b +// -0.360942 +0xbeb8cd57 +// 0.060474 +0x3d77b3b8 +// 0.237723 +0x3e736dab +// -0.679560 +0xbf2df79d +// 0.087220 +0x3db2a037 +// 0.240666 +0x3e76710f +// -0.028608 +0xbcea5c09 +// 0.153549 +0x3e1d3bfc +// 0.235841 +0x3e71802e +// 0.265961 +0x3e882bfd +// 0.196355 +0x3e491148 +// -0.457122 +0xbeea0bd8 +// 0.212847 +0x3e59f4a1 +// -0.228314 +0xbe69cb22 +// -0.246926 +0xbe7cda2f +// -0.356761 +0xbeb6a968 +// 0.719300 +0x3f382410 +// -0.412587 +0xbed33eaa +// 0.168657 +0x3e2cb473 +// 0.021106 +0x3cace723 +// 0.357456 +0x3eb70474 +// 0.566391 +0x3f10ff09 +// 0.431546 +0x3edcf39e +// 0.208459 +0x3e557644 +// -0.051692 +0xbd53bb15 +// -0.411605 +0xbed2bde2 +// 0.378608 +0x3ec1d8ea +// 0.195075 +0x3e47c1dd +// -0.220872 +0xbe622c34 +// -0.367101 +0xbebbf4b2 +// 0.284272 +0x3e918c1c +// -0.661954 +0xbf2975cc +// -0.042402 +0xbd2dad95 +// 0.532833 +0x3f0867bd +// -0.453098 +0xbee7fc74 +// 0.066719 +0x3d88a3f7 +// -0.279022 +0xbe8edc06 +// -0.602399 +0xbf1a36cf +// 0.481465 +0x3ef6828c +// -0.172376 +0xbe30835a +// 0.278264 +0x3e8e7896 +// -0.262124 +0xbe863525 +// -0.195976 +0xbe48addb +// -0.248409 +0xbe7e5f04 +// -0.463891 +0xbeed832d +// 0.638451 +0x3f237180 +// 0.064357 +0x3d83cd9e +// 0.347610 +0x3eb1f9ed +// 0.161001 +0x3e24dd8f +// 0.015062 +0x3c76c83c +// 0.151018 +0x3e1aa463 +// 0.286103 +0x3e927c17 +// -0.022244 +0xbcb639c4 +// 0.130603 +0x3e05bcbd +// -0.234844 +0xbe707b10 +// 0.730090 +0x3f3ae733 +// 0.365619 +0x3ebb327b +// -0.206779 +0xbe53bdd1 +// -0.088243 +0xbdb4b8dc +// -0.056093 +0xbd65c17f +// -0.421586 +0xbed7da0e +// 0.043272 +0x3d313e5d +// -0.142762 +0xbe123054 +// -0.005685 +0xbbba4909 +// 0.263492 +0x3e86e87d +// -0.185167 +0xbe3d9c73 +// -0.337197 +0xbeaca50c +// -0.386506 +0xbec5e41c +// -0.060209 +0xbd769d64 +// 0.274523 +0x3e8c8e40 +// -0.515270 +0xbf03e8bb +// -0.211789 +0xbe58df35 +// 0.105041 +0x3dd71ff7 +// 0.246751 +0x3e7cac65 +// 0.232754 +0x3e6e56fd +// -0.291910 +0xbe957540 +// -0.039528 +0xbd21e7d2 +// -0.739895 +0xbf3d69be +// -0.120133 +0xbdf6083d +// -0.192651 +0xbe454652 +// 0.186048 +0x3e3e8345 +// 0.590522 +0x3f172c74 +// 0.036105 +0x3d13e2a1 +// -0.242113 +0xbe77ec99 +// 0.264321 +0x3e87551f +// -0.470435 +0xbef0dcce +// -0.235246 +0xbe70e449 +// 0.572766 +0x3f12a0d2 +// 0.274954 +0x3e8cc6d5 +// 0.153816 +0x3e1d81d5 +// 0.461862 +0x3eec792e +// -0.457445 +0xbeea3635 +// 0.038887 +0x3d1f47cb +// 0.107380 +0x3ddbea3a +// -0.407021 +0xbed06504 +// -0.422663 +0xbed8674a +// -0.001836 +0xbaf09ffb +// -0.172147 +0xbe30475e +// -0.578095 +0xbf13fe05 +// 0.081134 +0x3da62986 +// 0.372088 +0x3ebe8245 +// -0.020173 +0xbca5411b +// 0.123369 +0x3dfca8ec +// 0.447135 +0x3ee4eed4 +// 0.167674 +0x3e2bb2d5 +// -0.317112 +0xbea25c75 +// -0.470582 +0xbef0f02f +// 0.116705 +0x3def02e2 +// -0.365016 +0xbebae358 +// -0.284393 +0xbe919c04 +// 0.093306 +0x3dbf1755 +// -0.177659 +0xbe35ec5c +// -0.600363 +0xbf19b15d +// 0.254524 +0x3e8250fd +// 0.478478 +0x3ef4fb1d +// 0.305100 +0x3e9c3621 +// -0.070087 +0xbd8f89cb +// -0.424462 +0xbed9531f +// 0.693355 +0x3f317fb4 +// -0.141191 +0xbe109454 +// 0.067796 +0x3d8ad8c2 +// 0.405601 +0x3ecfaaff +// 0.241329 +0x3e771ee6 +// -0.131911 +0xbe0713a1 +// -0.011413 +0xbc3afe89 +// 0.340258 +0x3eae365a +// 0.367270 +0x3ebc0acf +// 0.162617 +0x3e268519 +// 0.068636 +0x3d8c90ca +// -0.474845 +0xbef31ed5 +// 0.304870 +0x3e9c17e5 +// 0.458537 +0x3eeac558 +// 0.085863 +0x3dafd90e +// 0.675350 +0x3f2ce3b9 +// -0.231858 +0xbe6d6c3a +// -0.278680 +0xbe8eaf1a +// -0.319809 +0xbea3be01 +// 0.565995 +0x3f10e509 +// 0.168242 +0x3e2c47c1 +// 0.387074 +0x3ec62e83 +// -0.169125 +0xbe2d2f20 +// 0.328275 +0x3ea813b9 +// 0.299684 +0x3e99703f +// 0.101732 +0x3dd058fd +// 0.243272 +0x3e791c5d +// -0.241377 +0xbe772b72 +// 0.142001 +0x3e1168b8 +// -0.374696 +0xbebfd835 +// -0.070113 +0xbd8f9788 +// 0.149640 +0x3e193b2a +// -0.149205 +0xbe18c93d +// 0.378387 +0x3ec1bbe4 +// -0.417770 +0xbed5e601 +// 0.218877 +0x3e60214b +// -0.375152 +0xbec013ee +// -0.659300 +0xbf28c7ea +// 0.662723 +0x3f29a82f +// 0.207519 +0x3e547fee +// -0.020836 +0xbcaab0f9 +// 0.299500 +0x3e995811 +// 0.001345 +0x3ab051e7 +// -0.189639 +0xbe42309b +// -0.557715 +0xbf0ec66a +// -0.446359 +0xbee4892f +// 0.198029 +0x3e4ac825 +// 0.138943 +0x3e0e4717 +// 0.276137 +0x3e8d61c4 +// -0.043167 +0xbd30d019 +// -0.105984 +0xbdd90e18 +// 0.251236 +0x3e80a20d +// -0.391665 +0xbec88859 +// -0.159218 +0xbe230a0f +// -0.041162 +0xbd28990a +// 0.037266 +0x3d18a49c +// 0.022616 +0x3cb94587 +// 0.244601 +0x3e7a78bf +// 0.239559 +0x3e754ed8 +// 0.324953 +0x3ea6602e +// 0.300100 +0x3e99a6b6 +// 0.173920 +0x3e3217fa +// -0.337058 +0xbeac92db +// 0.359491 +0x3eb80f34 +// -0.180122 +0xbe3871ef +// -0.386273 +0xbec5c589 +// -0.610836 +0xbf1c5fc3 +// -0.142944 +0xbe125ffd +// 0.218753 +0x3e6000e2 +// -0.380813 +0xbec2f9fb +// -0.208921 +0xbe55ef84 +// -0.067368 +0xbd89f875 +// 0.120998 +0x3df7cda2 +// -0.159583 +0xbe2369b8 +// 0.044544 +0x3d367444 +// 0.076972 +0x3d9da371 +// 0.094107 +0x3dc0bb17 +// 0.369149 +0x3ebd0129 +// -0.181147 +0xbe397e9b +// 0.017212 +0x3c8d0042 +// 0.245536 +0x3e7b6dba +// -0.109880 +0xbde108dc +// 0.258475 +0x3e8456cd +// -0.295505 +0xbe974c6e +// 0.188197 +0x3e40b6b6 +// -0.377298 +0xbec12d2f +// 0.085243 +0x3dae93f2 +// 0.068968 +0x3d8d3f09 +// 0.160768 +0x3e24a059 +// -1.000000 +0xbf800000 +// -0.637145 +0xbf231bf4 +// 0.097624 +0x3dc7ef2d +// 0.303400 +0x3e9b5743 +// -0.593397 +0xbf17e8d7 +// -0.155009 +0xbe1eba9b +// -0.153017 +0xbe1cb072 +// 0.021298 +0x3cae78b9 +// 0.032262 +0x3d04258b +// -0.259754 +0xbe84fe80 +// -0.260177 +0xbe8535ef +// 0.094375 +0x3dc1479c +// 0.469493 +0x3ef0616b +// -0.471891 +0xbef19bc1 +// 0.447449 +0x3ee5180c +// 0.062863 +0x3d80be8e +// 0.801461 +0x3f4d2c90 +// -0.323758 +0xbea5c39d +// -0.044667 +0xbd36f51d +// 0.128438 +0x3e03852b +// -0.452756 +0xbee7cf9d +// 0.553617 +0x3f0db9d3 +// 0.290891 +0x3e94efaf +// 0.101079 +0x3dcf0291 diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_1024_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_1024_1_f32.txt new file mode 100755 index 00000000..1450a9a0 --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_1024_1_f32.txt @@ -0,0 +1,28 @@ +W +13 +// 29.476383 +0x41ebcfa2 +// -2.793829 +0xc032ce18 +// -0.138950 +0xbe0e48f1 +// -0.255028 +0xbe8292fe +// -0.086083 +0xbdb04c7c +// 0.079019 +0x3da1d4bc +// 0.053065 +0x3d595af3 +// -0.194468 +0xbe4722bc +// -0.113326 +0xbde81743 +// 0.161914 +0x3e25ccba +// -0.074321 +0xbd983584 +// -0.266463 +0xbe886dd2 +// 0.096700 +0x3dc60ad7 diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_256_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_256_1_f32.txt new file mode 100755 index 00000000..0780b03a --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_256_1_f32.txt @@ -0,0 +1,28 @@ +W +13 +// 16.614560 +0x4184ea9e +// -3.430914 +0xc05b9419 +// -0.449975 +0xbee6631a +// -0.719270 +0xbf382216 +// -0.009456 +0xbc1aee40 +// 0.375393 +0x3ec03390 +// 0.091797 +0x3dbc0008 +// 0.571371 +0x3f124566 +// 0.544033 +0x3f0b45b8 +// 0.122636 +0x3dfb2858 +// -0.240764 +0xbe768ac1 +// -0.119661 +0xbdf510f6 +// 0.306596 +0x3e9cfa2f diff --git a/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_512_1_f32.txt b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_512_1_f32.txt new file mode 100755 index 00000000..fef571a8 --- /dev/null +++ b/Testing/Patterns/DSP/Transform/MFCCF32/MFCCRef_512_1_f32.txt @@ -0,0 +1,28 @@ +W +13 +// 23.285167 +0x41ba4806 +// -3.167810 +0xc04abd66 +// -0.068430 +0xbd8c24da +// -0.381059 +0xbec31a39 +// -0.164060 +0xbe27ff4d +// -0.571221 +0xbf123b87 +// -0.156919 +0xbe20af4f +// 0.145660 +0x3e1527e4 +// 0.060968 +0x3d79b9dc +// 0.157476 +0x3e21414e +// 0.226390 +0x3e67d2b2 +// 0.023298 +0x3cbedb77 +// 0.141592 +0x3e10fd8c diff --git a/Testing/Source/Tests/MFCCF32.cpp b/Testing/Source/Tests/MFCCF32.cpp new file mode 100755 index 00000000..0297bbee --- /dev/null +++ b/Testing/Source/Tests/MFCCF32.cpp @@ -0,0 +1,109 @@ +#include "MFCCF32.h" +#include +#include "Error.h" + +#include "mfccdata.h" + +#define SNR_THRESHOLD 120 + +/* + +Reference patterns are generated with +a double precision computation. + +*/ +#define REL_ERROR (9.2e-5) + + + + void MFCCF32::test_mfcc_f32() + { + const float32_t *inp1=input1.ptr(); + float32_t *tmpinp=tmpin.ptr(); + float32_t *outp=output.ptr(); + float32_t *tmpp=tmp.ptr(); + + + memcpy((void*)tmpinp,(void*)inp1,sizeof(float32_t)*this->fftLen); + arm_mfcc_f32(&mfcc,tmpinp,outp,tmpp); + + ASSERT_EMPTY_TAIL(output); + + ASSERT_SNR(output,ref,(float32_t)SNR_THRESHOLD); + + ASSERT_REL_ERROR(output,ref,REL_ERROR); + + } + + + void MFCCF32::setUp(Testing::testID_t id,std::vector& params,Client::PatternMgr *mgr) + { + + (void)params; + + Testing::nbSamples_t nb=MAX_NB_SAMPLES; + + + switch(id) + { + case MFCCF32::TEST_MFCC_F32_1: + { + nb = 256; + this->fftLen = nb; + ref.reload(MFCCF32::REF_MFCC_256_F32_ID,mgr,nb); + input1.reload(MFCCF32::INPUTS_MFCC_256_F32_ID,mgr,nb); + arm_mfcc_init_f32(&mfcc, + nb,20,13,mfcc_dct_coefs_config1, + mfcc_filter_pos_config3,mfcc_filter_len_config3, + mfcc_filter_coefs_config3, + mfcc_window_coefs_config3); + tmp.create(2*nb,MFCCF32::TMP_MFCC_F32_ID,mgr); + tmpin.create(nb,MFCCF32::TMPIN_MFCC_F32_ID,mgr); + } + break; + + case MFCCF32::TEST_MFCC_F32_2: + { + nb = 512; + this->fftLen = nb; + ref.reload(MFCCF32::REF_MFCC_512_F32_ID,mgr,nb); + input1.reload(MFCCF32::INPUTS_MFCC_512_F32_ID,mgr,nb); + arm_mfcc_init_f32(&mfcc, + nb,20,13,mfcc_dct_coefs_config1, + mfcc_filter_pos_config2,mfcc_filter_len_config2, + mfcc_filter_coefs_config2, + mfcc_window_coefs_config2); + tmp.create(2*nb,MFCCF32::TMP_MFCC_F32_ID,mgr); + tmpin.create(nb,MFCCF32::TMPIN_MFCC_F32_ID,mgr); + } + break; + case MFCCF32::TEST_MFCC_F32_3: + { + nb = 1024; + this->fftLen = nb; + ref.reload(MFCCF32::REF_MFCC_1024_F32_ID,mgr,nb); + input1.reload(MFCCF32::INPUTS_MFCC_1024_F32_ID,mgr,nb); + arm_mfcc_init_f32(&mfcc, + nb,20,13,mfcc_dct_coefs_config1, + mfcc_filter_pos_config1,mfcc_filter_len_config1, + mfcc_filter_coefs_config1, + mfcc_window_coefs_config1); + tmp.create(2*nb,MFCCF32::TMP_MFCC_F32_ID,mgr); + tmpin.create(nb,MFCCF32::TMPIN_MFCC_F32_ID,mgr); + + } + break; + + } + + + output.create(ref.nbSamples(),MFCCF32::OUTPUT_MFCC_F32_ID,mgr); + + } + + void MFCCF32::tearDown(Testing::testID_t id,Client::PatternMgr *mgr) + { + (void)id; + (void)mgr; + //output.dump(mgr); + } diff --git a/Testing/Source/Tests/mfccdata.c b/Testing/Source/Tests/mfccdata.c new file mode 100755 index 00000000..949d194c --- /dev/null +++ b/Testing/Source/Tests/mfccdata.c @@ -0,0 +1,423 @@ +#include "mfccdata.h" + +const float32_t mfcc_dct_coefs_config1[NB_MFCC_DCT_COEFS_CONFIG1]={ +0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f, +0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f, +0.315253f,0.307490f,0.292156f,0.269628f,0.240461f,0.205374f,0.165229f,0.121015f,0.073822f,0.024811f, +-0.024811f,-0.073822f,-0.121015f,-0.165229f,-0.205374f,-0.240461f,-0.269628f,-0.292156f,-0.307490f,-0.315253f, +0.312334f,0.281761f,0.223607f,0.143564f,0.049469f,-0.049469f,-0.143564f,-0.223607f,-0.281761f,-0.312334f, +-0.312334f,-0.281761f,-0.223607f,-0.143564f,-0.049469f,0.049469f,0.143564f,0.223607f,0.281761f,0.312334f, +0.307490f,0.240461f,0.121015f,-0.024811f,-0.165229f,-0.269628f,-0.315253f,-0.292156f,-0.205374f,-0.073822f, +0.073822f,0.205374f,0.292156f,0.315253f,0.269628f,0.165229f,0.024811f,-0.121015f,-0.240461f,-0.307490f, +0.300750f,0.185874f,0.000000f,-0.185874f,-0.300750f,-0.300750f,-0.185874f,-0.000000f,0.185874f,0.300750f, +0.300750f,0.185874f,0.000000f,-0.185874f,-0.300750f,-0.300750f,-0.185874f,-0.000000f,0.185874f,0.300750f, +0.292156f,0.121015f,-0.121015f,-0.292156f,-0.292156f,-0.121015f,0.121015f,0.292156f,0.292156f,0.121015f, +-0.121015f,-0.292156f,-0.292156f,-0.121015f,0.121015f,0.292156f,0.292156f,0.121015f,-0.121015f,-0.292156f, +0.281761f,0.049469f,-0.223607f,-0.312334f,-0.143564f,0.143564f,0.312334f,0.223607f,-0.049469f,-0.281761f, +-0.281761f,-0.049469f,0.223607f,0.312334f,0.143564f,-0.143564f,-0.312334f,-0.223607f,0.049469f,0.281761f, +0.269628f,-0.024811f,-0.292156f,-0.240461f,0.073822f,0.307490f,0.205374f,-0.121015f,-0.315253f,-0.165229f, +0.165229f,0.315253f,0.121015f,-0.205374f,-0.307490f,-0.073822f,0.240461f,0.292156f,0.024811f,-0.269628f, +0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f,0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f, +0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f,0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f, +0.240461f,-0.165229f,-0.292156f,0.073822f,0.315253f,0.024811f,-0.307490f,-0.121015f,0.269628f,0.205374f, +-0.205374f,-0.269628f,0.121015f,0.307490f,-0.024811f,-0.315253f,-0.073822f,0.292156f,0.165229f,-0.240461f, +0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f, +-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f, +0.205374f,-0.269628f,-0.121015f,0.307490f,0.024811f,-0.315253f,0.073822f,0.292156f,-0.165229f,-0.240461f, +0.240461f,0.165229f,-0.292156f,-0.073822f,0.315253f,-0.024811f,-0.307490f,0.121015f,0.269628f,-0.205374f, +0.185874f,-0.300750f,-0.000000f,0.300750f,-0.185874f,-0.185874f,0.300750f,0.000000f,-0.300750f,0.185874f, +0.185874f,-0.300750f,-0.000000f,0.300750f,-0.185874f,-0.185874f,0.300750f,-0.000000f,-0.300750f,0.185874f, +}; + + +const float32_t mfcc_window_coefs_config1[NB_MFCC_WIN_COEFS_CONFIG1]={ +0.080000f,0.080009f,0.080035f,0.080078f,0.080139f,0.080216f,0.080312f,0.080424f,0.080554f,0.080701f, +0.080866f,0.081047f,0.081246f,0.081463f,0.081696f,0.081947f,0.082215f,0.082500f,0.082803f,0.083123f, +0.083459f,0.083814f,0.084185f,0.084573f,0.084979f,0.085402f,0.085841f,0.086298f,0.086772f,0.087263f, +0.087771f,0.088297f,0.088839f,0.089398f,0.089974f,0.090567f,0.091177f,0.091804f,0.092448f,0.093108f, +0.093786f,0.094480f,0.095191f,0.095919f,0.096663f,0.097424f,0.098202f,0.098996f,0.099807f,0.100635f, +0.101479f,0.102340f,0.103217f,0.104111f,0.105021f,0.105947f,0.106890f,0.107849f,0.108824f,0.109816f, +0.110823f,0.111847f,0.112887f,0.113943f,0.115015f,0.116104f,0.117208f,0.118328f,0.119464f,0.120615f, +0.121783f,0.122966f,0.124165f,0.125380f,0.126610f,0.127856f,0.129117f,0.130394f,0.131686f,0.132993f, +0.134316f,0.135654f,0.137008f,0.138376f,0.139760f,0.141159f,0.142572f,0.144001f,0.145445f,0.146903f, +0.148377f,0.149865f,0.151367f,0.152885f,0.154417f,0.155963f,0.157524f,0.159099f,0.160689f,0.162293f, +0.163911f,0.165543f,0.167190f,0.168850f,0.170525f,0.172213f,0.173915f,0.175631f,0.177361f,0.179104f, +0.180861f,0.182631f,0.184415f,0.186212f,0.188023f,0.189847f,0.191684f,0.193534f,0.195397f,0.197273f, +0.199162f,0.201064f,0.202979f,0.204906f,0.206846f,0.208799f,0.210764f,0.212741f,0.214731f,0.216733f, +0.218747f,0.220773f,0.222811f,0.224862f,0.226924f,0.228997f,0.231083f,0.233180f,0.235289f,0.237409f, +0.239540f,0.241683f,0.243837f,0.246003f,0.248179f,0.250366f,0.252565f,0.254774f,0.256993f,0.259224f, +0.261465f,0.263716f,0.265978f,0.268251f,0.270533f,0.272826f,0.275128f,0.277441f,0.279763f,0.282096f, +0.284438f,0.286789f,0.289151f,0.291521f,0.293901f,0.296290f,0.298689f,0.301096f,0.303513f,0.305938f, +0.308372f,0.310815f,0.313267f,0.315727f,0.318195f,0.320672f,0.323157f,0.325651f,0.328152f,0.330662f, +0.333179f,0.335704f,0.338237f,0.340777f,0.343325f,0.345880f,0.348442f,0.351012f,0.353589f,0.356173f, +0.358764f,0.361361f,0.363966f,0.366577f,0.369194f,0.371818f,0.374448f,0.377085f,0.379727f,0.382376f, +0.385031f,0.387691f,0.390357f,0.393029f,0.395706f,0.398389f,0.401077f,0.403771f,0.406469f,0.409173f, +0.411881f,0.414594f,0.417312f,0.420035f,0.422762f,0.425493f,0.428229f,0.430969f,0.433713f,0.436461f, +0.439213f,0.441969f,0.444729f,0.447492f,0.450258f,0.453028f,0.455802f,0.458578f,0.461358f,0.464140f, +0.466925f,0.469713f,0.472504f,0.475297f,0.478093f,0.480891f,0.483691f,0.486493f,0.489298f,0.492104f, +0.494912f,0.497722f,0.500533f,0.503346f,0.506160f,0.508976f,0.511792f,0.514610f,0.517429f,0.520248f, +0.523069f,0.525890f,0.528711f,0.531533f,0.534355f,0.537178f,0.540000f,0.542822f,0.545645f,0.548467f, +0.551289f,0.554110f,0.556931f,0.559752f,0.562571f,0.565390f,0.568208f,0.571024f,0.573840f,0.576654f, +0.579467f,0.582278f,0.585088f,0.587896f,0.590702f,0.593507f,0.596309f,0.599109f,0.601907f,0.604703f, +0.607496f,0.610287f,0.613075f,0.615860f,0.618642f,0.621422f,0.624198f,0.626972f,0.629742f,0.632508f, +0.635271f,0.638031f,0.640787f,0.643539f,0.646287f,0.649031f,0.651771f,0.654507f,0.657238f,0.659965f, +0.662688f,0.665406f,0.668119f,0.670827f,0.673531f,0.676229f,0.678923f,0.681611f,0.684294f,0.686971f, +0.689643f,0.692309f,0.694969f,0.697624f,0.700273f,0.702915f,0.705552f,0.708182f,0.710806f,0.713423f, +0.716034f,0.718639f,0.721236f,0.723827f,0.726411f,0.728988f,0.731558f,0.734120f,0.736675f,0.739223f, +0.741763f,0.744296f,0.746821f,0.749338f,0.751848f,0.754349f,0.756842f,0.759328f,0.761805f,0.764273f, +0.766733f,0.769185f,0.771628f,0.774062f,0.776487f,0.778904f,0.781311f,0.783710f,0.786099f,0.788479f, +0.790850f,0.793211f,0.795562f,0.797904f,0.800237f,0.802559f,0.804872f,0.807174f,0.809467f,0.811749f, +0.814022f,0.816284f,0.818535f,0.820776f,0.823007f,0.825226f,0.827435f,0.829634f,0.831821f,0.833997f, +0.836163f,0.838317f,0.840460f,0.842591f,0.844711f,0.846820f,0.848917f,0.851003f,0.853076f,0.855138f, +0.857189f,0.859227f,0.861253f,0.863267f,0.865269f,0.867259f,0.869236f,0.871201f,0.873154f,0.875094f, +0.877021f,0.878936f,0.880838f,0.882727f,0.884603f,0.886466f,0.888316f,0.890153f,0.891977f,0.893788f, +0.895585f,0.897369f,0.899139f,0.900896f,0.902639f,0.904369f,0.906085f,0.907787f,0.909475f,0.911150f, +0.912810f,0.914457f,0.916089f,0.917707f,0.919311f,0.920901f,0.922476f,0.924037f,0.925583f,0.927115f, +0.928633f,0.930135f,0.931623f,0.933097f,0.934555f,0.935999f,0.937428f,0.938841f,0.940240f,0.941624f, +0.942992f,0.944346f,0.945684f,0.947007f,0.948314f,0.949606f,0.950883f,0.952145f,0.953390f,0.954620f, +0.955835f,0.957034f,0.958217f,0.959385f,0.960536f,0.961672f,0.962792f,0.963896f,0.964985f,0.966057f, +0.967113f,0.968153f,0.969177f,0.970184f,0.971176f,0.972151f,0.973110f,0.974053f,0.974979f,0.975889f, +0.976783f,0.977660f,0.978521f,0.979365f,0.980193f,0.981004f,0.981798f,0.982576f,0.983337f,0.984081f, +0.984809f,0.985520f,0.986214f,0.986892f,0.987552f,0.988196f,0.988823f,0.989433f,0.990026f,0.990602f, +0.991161f,0.991703f,0.992229f,0.992737f,0.993228f,0.993702f,0.994159f,0.994599f,0.995021f,0.995427f, +0.995815f,0.996186f,0.996541f,0.996877f,0.997197f,0.997500f,0.997785f,0.998053f,0.998304f,0.998537f, +0.998754f,0.998953f,0.999134f,0.999299f,0.999446f,0.999576f,0.999688f,0.999784f,0.999861f,0.999922f, +0.999965f,0.999991f,1.000000f,0.999991f,0.999965f,0.999922f,0.999861f,0.999784f,0.999688f,0.999576f, +0.999446f,0.999299f,0.999134f,0.998953f,0.998754f,0.998537f,0.998304f,0.998053f,0.997785f,0.997500f, +0.997197f,0.996877f,0.996541f,0.996186f,0.995815f,0.995427f,0.995021f,0.994599f,0.994159f,0.993702f, +0.993228f,0.992737f,0.992229f,0.991703f,0.991161f,0.990602f,0.990026f,0.989433f,0.988823f,0.988196f, +0.987552f,0.986892f,0.986214f,0.985520f,0.984809f,0.984081f,0.983337f,0.982576f,0.981798f,0.981004f, +0.980193f,0.979365f,0.978521f,0.977660f,0.976783f,0.975889f,0.974979f,0.974053f,0.973110f,0.972151f, +0.971176f,0.970184f,0.969177f,0.968153f,0.967113f,0.966057f,0.964985f,0.963896f,0.962792f,0.961672f, +0.960536f,0.959385f,0.958217f,0.957034f,0.955835f,0.954620f,0.953390f,0.952145f,0.950883f,0.949606f, +0.948314f,0.947007f,0.945684f,0.944346f,0.942992f,0.941624f,0.940240f,0.938841f,0.937428f,0.935999f, +0.934555f,0.933097f,0.931623f,0.930135f,0.928633f,0.927115f,0.925583f,0.924037f,0.922476f,0.920901f, +0.919311f,0.917707f,0.916089f,0.914457f,0.912810f,0.911150f,0.909475f,0.907787f,0.906085f,0.904369f, +0.902639f,0.900896f,0.899139f,0.897369f,0.895585f,0.893788f,0.891977f,0.890153f,0.888316f,0.886466f, +0.884603f,0.882727f,0.880838f,0.878936f,0.877021f,0.875094f,0.873154f,0.871201f,0.869236f,0.867259f, +0.865269f,0.863267f,0.861253f,0.859227f,0.857189f,0.855138f,0.853076f,0.851003f,0.848917f,0.846820f, +0.844711f,0.842591f,0.840460f,0.838317f,0.836163f,0.833997f,0.831821f,0.829634f,0.827435f,0.825226f, +0.823007f,0.820776f,0.818535f,0.816284f,0.814022f,0.811749f,0.809467f,0.807174f,0.804872f,0.802559f, +0.800237f,0.797904f,0.795562f,0.793211f,0.790850f,0.788479f,0.786099f,0.783710f,0.781311f,0.778904f, +0.776487f,0.774062f,0.771628f,0.769185f,0.766733f,0.764273f,0.761805f,0.759328f,0.756842f,0.754349f, +0.751848f,0.749338f,0.746821f,0.744296f,0.741763f,0.739223f,0.736675f,0.734120f,0.731558f,0.728988f, +0.726411f,0.723827f,0.721236f,0.718639f,0.716034f,0.713423f,0.710806f,0.708182f,0.705552f,0.702915f, +0.700273f,0.697624f,0.694969f,0.692309f,0.689643f,0.686971f,0.684294f,0.681611f,0.678923f,0.676229f, +0.673531f,0.670827f,0.668119f,0.665406f,0.662688f,0.659965f,0.657238f,0.654507f,0.651771f,0.649031f, +0.646287f,0.643539f,0.640787f,0.638031f,0.635271f,0.632508f,0.629742f,0.626972f,0.624198f,0.621422f, +0.618642f,0.615860f,0.613075f,0.610287f,0.607496f,0.604703f,0.601907f,0.599109f,0.596309f,0.593507f, +0.590702f,0.587896f,0.585088f,0.582278f,0.579467f,0.576654f,0.573840f,0.571024f,0.568208f,0.565390f, +0.562571f,0.559752f,0.556931f,0.554110f,0.551289f,0.548467f,0.545645f,0.542822f,0.540000f,0.537178f, +0.534355f,0.531533f,0.528711f,0.525890f,0.523069f,0.520248f,0.517429f,0.514610f,0.511792f,0.508976f, +0.506160f,0.503346f,0.500533f,0.497722f,0.494912f,0.492104f,0.489298f,0.486493f,0.483691f,0.480891f, +0.478093f,0.475297f,0.472504f,0.469713f,0.466925f,0.464140f,0.461358f,0.458578f,0.455802f,0.453028f, +0.450258f,0.447492f,0.444729f,0.441969f,0.439213f,0.436461f,0.433713f,0.430969f,0.428229f,0.425493f, +0.422762f,0.420035f,0.417312f,0.414594f,0.411881f,0.409173f,0.406469f,0.403771f,0.401077f,0.398389f, +0.395706f,0.393029f,0.390357f,0.387691f,0.385031f,0.382376f,0.379727f,0.377085f,0.374448f,0.371818f, +0.369194f,0.366577f,0.363966f,0.361361f,0.358764f,0.356173f,0.353589f,0.351012f,0.348442f,0.345880f, +0.343325f,0.340777f,0.338237f,0.335704f,0.333179f,0.330662f,0.328152f,0.325651f,0.323157f,0.320672f, +0.318195f,0.315727f,0.313267f,0.310815f,0.308372f,0.305938f,0.303513f,0.301096f,0.298689f,0.296290f, +0.293901f,0.291521f,0.289151f,0.286789f,0.284438f,0.282096f,0.279763f,0.277441f,0.275128f,0.272826f, +0.270533f,0.268251f,0.265978f,0.263716f,0.261465f,0.259224f,0.256993f,0.254774f,0.252565f,0.250366f, +0.248179f,0.246003f,0.243837f,0.241683f,0.239540f,0.237409f,0.235289f,0.233180f,0.231083f,0.228997f, +0.226924f,0.224862f,0.222811f,0.220773f,0.218747f,0.216733f,0.214731f,0.212741f,0.210764f,0.208799f, +0.206846f,0.204906f,0.202979f,0.201064f,0.199162f,0.197273f,0.195397f,0.193534f,0.191684f,0.189847f, +0.188023f,0.186212f,0.184415f,0.182631f,0.180861f,0.179104f,0.177361f,0.175631f,0.173915f,0.172213f, +0.170525f,0.168850f,0.167190f,0.165543f,0.163911f,0.162293f,0.160689f,0.159099f,0.157524f,0.155963f, +0.154417f,0.152885f,0.151367f,0.149865f,0.148377f,0.146903f,0.145445f,0.144001f,0.142572f,0.141159f, +0.139760f,0.138376f,0.137008f,0.135654f,0.134316f,0.132993f,0.131686f,0.130394f,0.129117f,0.127856f, +0.126610f,0.125380f,0.124165f,0.122966f,0.121783f,0.120615f,0.119464f,0.118328f,0.117208f,0.116104f, +0.115015f,0.113943f,0.112887f,0.111847f,0.110823f,0.109816f,0.108824f,0.107849f,0.106890f,0.105947f, +0.105021f,0.104111f,0.103217f,0.102340f,0.101479f,0.100635f,0.099807f,0.098996f,0.098202f,0.097424f, +0.096663f,0.095919f,0.095191f,0.094480f,0.093786f,0.093108f,0.092448f,0.091804f,0.091177f,0.090567f, +0.089974f,0.089398f,0.088839f,0.088297f,0.087771f,0.087263f,0.086772f,0.086298f,0.085841f,0.085402f, +0.084979f,0.084573f,0.084185f,0.083814f,0.083459f,0.083123f,0.082803f,0.082500f,0.082215f,0.081947f, +0.081696f,0.081463f,0.081246f,0.081047f,0.080866f,0.080701f,0.080554f,0.080424f,0.080312f,0.080216f, +0.080139f,0.080078f,0.080035f,0.080009f,}; + +const float32_t mfcc_window_coefs_config2[NB_MFCC_WIN_COEFS_CONFIG2]={ +0.080000f,0.080035f,0.080139f,0.080312f,0.080554f,0.080866f,0.081246f,0.081696f,0.082215f,0.082803f, +0.083459f,0.084185f,0.084979f,0.085841f,0.086772f,0.087771f,0.088839f,0.089974f,0.091177f,0.092448f, +0.093786f,0.095191f,0.096663f,0.098202f,0.099807f,0.101479f,0.103217f,0.105021f,0.106890f,0.108824f, +0.110823f,0.112887f,0.115015f,0.117208f,0.119464f,0.121783f,0.124165f,0.126610f,0.129117f,0.131686f, +0.134316f,0.137008f,0.139760f,0.142572f,0.145445f,0.148377f,0.151367f,0.154417f,0.157524f,0.160689f, +0.163911f,0.167190f,0.170525f,0.173915f,0.177361f,0.180861f,0.184415f,0.188023f,0.191684f,0.195397f, +0.199162f,0.202979f,0.206846f,0.210764f,0.214731f,0.218747f,0.222811f,0.226924f,0.231083f,0.235289f, +0.239540f,0.243837f,0.248179f,0.252565f,0.256993f,0.261465f,0.265978f,0.270533f,0.275128f,0.279763f, +0.284438f,0.289151f,0.293901f,0.298689f,0.303513f,0.308372f,0.313267f,0.318195f,0.323157f,0.328152f, +0.333179f,0.338237f,0.343325f,0.348442f,0.353589f,0.358764f,0.363966f,0.369194f,0.374448f,0.379727f, +0.385031f,0.390357f,0.395706f,0.401077f,0.406469f,0.411881f,0.417312f,0.422762f,0.428229f,0.433713f, +0.439213f,0.444729f,0.450258f,0.455802f,0.461358f,0.466925f,0.472504f,0.478093f,0.483691f,0.489298f, +0.494912f,0.500533f,0.506160f,0.511792f,0.517429f,0.523069f,0.528711f,0.534355f,0.540000f,0.545645f, +0.551289f,0.556931f,0.562571f,0.568208f,0.573840f,0.579467f,0.585088f,0.590702f,0.596309f,0.601907f, +0.607496f,0.613075f,0.618642f,0.624198f,0.629742f,0.635271f,0.640787f,0.646287f,0.651771f,0.657238f, +0.662688f,0.668119f,0.673531f,0.678923f,0.684294f,0.689643f,0.694969f,0.700273f,0.705552f,0.710806f, +0.716034f,0.721236f,0.726411f,0.731558f,0.736675f,0.741763f,0.746821f,0.751848f,0.756842f,0.761805f, +0.766733f,0.771628f,0.776487f,0.781311f,0.786099f,0.790850f,0.795562f,0.800237f,0.804872f,0.809467f, +0.814022f,0.818535f,0.823007f,0.827435f,0.831821f,0.836163f,0.840460f,0.844711f,0.848917f,0.853076f, +0.857189f,0.861253f,0.865269f,0.869236f,0.873154f,0.877021f,0.880838f,0.884603f,0.888316f,0.891977f, +0.895585f,0.899139f,0.902639f,0.906085f,0.909475f,0.912810f,0.916089f,0.919311f,0.922476f,0.925583f, +0.928633f,0.931623f,0.934555f,0.937428f,0.940240f,0.942992f,0.945684f,0.948314f,0.950883f,0.953390f, +0.955835f,0.958217f,0.960536f,0.962792f,0.964985f,0.967113f,0.969177f,0.971176f,0.973110f,0.974979f, +0.976783f,0.978521f,0.980193f,0.981798f,0.983337f,0.984809f,0.986214f,0.987552f,0.988823f,0.990026f, +0.991161f,0.992229f,0.993228f,0.994159f,0.995021f,0.995815f,0.996541f,0.997197f,0.997785f,0.998304f, +0.998754f,0.999134f,0.999446f,0.999688f,0.999861f,0.999965f,1.000000f,0.999965f,0.999861f,0.999688f, +0.999446f,0.999134f,0.998754f,0.998304f,0.997785f,0.997197f,0.996541f,0.995815f,0.995021f,0.994159f, +0.993228f,0.992229f,0.991161f,0.990026f,0.988823f,0.987552f,0.986214f,0.984809f,0.983337f,0.981798f, +0.980193f,0.978521f,0.976783f,0.974979f,0.973110f,0.971176f,0.969177f,0.967113f,0.964985f,0.962792f, +0.960536f,0.958217f,0.955835f,0.953390f,0.950883f,0.948314f,0.945684f,0.942992f,0.940240f,0.937428f, +0.934555f,0.931623f,0.928633f,0.925583f,0.922476f,0.919311f,0.916089f,0.912810f,0.909475f,0.906085f, +0.902639f,0.899139f,0.895585f,0.891977f,0.888316f,0.884603f,0.880838f,0.877021f,0.873154f,0.869236f, +0.865269f,0.861253f,0.857189f,0.853076f,0.848917f,0.844711f,0.840460f,0.836163f,0.831821f,0.827435f, +0.823007f,0.818535f,0.814022f,0.809467f,0.804872f,0.800237f,0.795562f,0.790850f,0.786099f,0.781311f, +0.776487f,0.771628f,0.766733f,0.761805f,0.756842f,0.751848f,0.746821f,0.741763f,0.736675f,0.731558f, +0.726411f,0.721236f,0.716034f,0.710806f,0.705552f,0.700273f,0.694969f,0.689643f,0.684294f,0.678923f, +0.673531f,0.668119f,0.662688f,0.657238f,0.651771f,0.646287f,0.640787f,0.635271f,0.629742f,0.624198f, +0.618642f,0.613075f,0.607496f,0.601907f,0.596309f,0.590702f,0.585088f,0.579467f,0.573840f,0.568208f, +0.562571f,0.556931f,0.551289f,0.545645f,0.540000f,0.534355f,0.528711f,0.523069f,0.517429f,0.511792f, +0.506160f,0.500533f,0.494912f,0.489298f,0.483691f,0.478093f,0.472504f,0.466925f,0.461358f,0.455802f, +0.450258f,0.444729f,0.439213f,0.433713f,0.428229f,0.422762f,0.417312f,0.411881f,0.406469f,0.401077f, +0.395706f,0.390357f,0.385031f,0.379727f,0.374448f,0.369194f,0.363966f,0.358764f,0.353589f,0.348442f, +0.343325f,0.338237f,0.333179f,0.328152f,0.323157f,0.318195f,0.313267f,0.308372f,0.303513f,0.298689f, +0.293901f,0.289151f,0.284438f,0.279763f,0.275128f,0.270533f,0.265978f,0.261465f,0.256993f,0.252565f, +0.248179f,0.243837f,0.239540f,0.235289f,0.231083f,0.226924f,0.222811f,0.218747f,0.214731f,0.210764f, +0.206846f,0.202979f,0.199162f,0.195397f,0.191684f,0.188023f,0.184415f,0.180861f,0.177361f,0.173915f, +0.170525f,0.167190f,0.163911f,0.160689f,0.157524f,0.154417f,0.151367f,0.148377f,0.145445f,0.142572f, +0.139760f,0.137008f,0.134316f,0.131686f,0.129117f,0.126610f,0.124165f,0.121783f,0.119464f,0.117208f, +0.115015f,0.112887f,0.110823f,0.108824f,0.106890f,0.105021f,0.103217f,0.101479f,0.099807f,0.098202f, +0.096663f,0.095191f,0.093786f,0.092448f,0.091177f,0.089974f,0.088839f,0.087771f,0.086772f,0.085841f, +0.084979f,0.084185f,0.083459f,0.082803f,0.082215f,0.081696f,0.081246f,0.080866f,0.080554f,0.080312f, +0.080139f,0.080035f,}; + +const float32_t mfcc_window_coefs_config3[NB_MFCC_WIN_COEFS_CONFIG3]={ +0.080000f,0.080139f,0.080554f,0.081246f,0.082215f,0.083459f,0.084979f,0.086772f,0.088839f,0.091177f, +0.093786f,0.096663f,0.099807f,0.103217f,0.106890f,0.110823f,0.115015f,0.119464f,0.124165f,0.129117f, +0.134316f,0.139760f,0.145445f,0.151367f,0.157524f,0.163911f,0.170525f,0.177361f,0.184415f,0.191684f, +0.199162f,0.206846f,0.214731f,0.222811f,0.231083f,0.239540f,0.248179f,0.256993f,0.265978f,0.275128f, +0.284438f,0.293901f,0.303513f,0.313267f,0.323157f,0.333179f,0.343325f,0.353589f,0.363966f,0.374448f, +0.385031f,0.395706f,0.406469f,0.417312f,0.428229f,0.439213f,0.450258f,0.461358f,0.472504f,0.483691f, +0.494912f,0.506160f,0.517429f,0.528711f,0.540000f,0.551289f,0.562571f,0.573840f,0.585088f,0.596309f, +0.607496f,0.618642f,0.629742f,0.640787f,0.651771f,0.662688f,0.673531f,0.684294f,0.694969f,0.705552f, +0.716034f,0.726411f,0.736675f,0.746821f,0.756842f,0.766733f,0.776487f,0.786099f,0.795562f,0.804872f, +0.814022f,0.823007f,0.831821f,0.840460f,0.848917f,0.857189f,0.865269f,0.873154f,0.880838f,0.888316f, +0.895585f,0.902639f,0.909475f,0.916089f,0.922476f,0.928633f,0.934555f,0.940240f,0.945684f,0.950883f, +0.955835f,0.960536f,0.964985f,0.969177f,0.973110f,0.976783f,0.980193f,0.983337f,0.986214f,0.988823f, +0.991161f,0.993228f,0.995021f,0.996541f,0.997785f,0.998754f,0.999446f,0.999861f,1.000000f,0.999861f, +0.999446f,0.998754f,0.997785f,0.996541f,0.995021f,0.993228f,0.991161f,0.988823f,0.986214f,0.983337f, +0.980193f,0.976783f,0.973110f,0.969177f,0.964985f,0.960536f,0.955835f,0.950883f,0.945684f,0.940240f, +0.934555f,0.928633f,0.922476f,0.916089f,0.909475f,0.902639f,0.895585f,0.888316f,0.880838f,0.873154f, +0.865269f,0.857189f,0.848917f,0.840460f,0.831821f,0.823007f,0.814022f,0.804872f,0.795562f,0.786099f, +0.776487f,0.766733f,0.756842f,0.746821f,0.736675f,0.726411f,0.716034f,0.705552f,0.694969f,0.684294f, +0.673531f,0.662688f,0.651771f,0.640787f,0.629742f,0.618642f,0.607496f,0.596309f,0.585088f,0.573840f, +0.562571f,0.551289f,0.540000f,0.528711f,0.517429f,0.506160f,0.494912f,0.483691f,0.472504f,0.461358f, +0.450258f,0.439213f,0.428229f,0.417312f,0.406469f,0.395706f,0.385031f,0.374448f,0.363966f,0.353589f, +0.343325f,0.333179f,0.323157f,0.313267f,0.303513f,0.293901f,0.284438f,0.275128f,0.265978f,0.256993f, +0.248179f,0.239540f,0.231083f,0.222811f,0.214731f,0.206846f,0.199162f,0.191684f,0.184415f,0.177361f, +0.170525f,0.163911f,0.157524f,0.151367f,0.145445f,0.139760f,0.134316f,0.129117f,0.124165f,0.119464f, +0.115015f,0.110823f,0.106890f,0.103217f,0.099807f,0.096663f,0.093786f,0.091177f,0.088839f,0.086772f, +0.084979f,0.083459f,0.082215f,0.081246f,0.080554f,0.080139f,}; + + +const uint32_t mfcc_filter_pos_config1[NB_MFCC_NB_FILTER_CONFIG1]={ +5,11,17,25,33,43,54,66,79,94, +111,131,152,176,203,234,268,306,349,397, +}; +const uint32_t mfcc_filter_len_config1[NB_MFCC_NB_FILTER_CONFIG1]={ +12,14,16,18,21,23,25,28,32,37, +41,45,51,58,65,72,81,91,103,115, +}; + +const uint32_t mfcc_filter_pos_config2[NB_MFCC_NB_FILTER_CONFIG2]={ +3,6,9,13,17,22,27,33,40,47, +56,66,76,88,102,117,134,153,175,199, +}; +const uint32_t mfcc_filter_len_config2[NB_MFCC_NB_FILTER_CONFIG2]={ +6,7,8,9,10,11,13,14,16,19, +20,22,26,29,32,36,41,46,51,57, +}; + +const uint32_t mfcc_filter_pos_config3[NB_MFCC_NB_FILTER_CONFIG3]={ +2,3,5,7,9,11,14,17,20,24, +28,33,38,44,51,59,67,77,88,100, +}; +const uint32_t mfcc_filter_len_config3[NB_MFCC_NB_FILTER_CONFIG3]={ +3,4,4,4,5,6,6,7,8,9, +10,11,13,15,16,18,21,23,25,28, +}; + + + +const float32_t mfcc_filter_coefs_config1[NB_MFCC_FILTER_COEFS_CONFIG1]={ +0.158152f,0.329789f,0.498080f,0.663153f,0.825129f,0.984122f,0.859761f,0.706417f,0.555749f,0.407665f, +0.262079f,0.118907f,0.140239f,0.293583f,0.444251f,0.592335f,0.737921f,0.881093f,0.978071f,0.839496f, +0.703110f,0.568845f,0.436636f,0.306422f,0.178142f,0.051741f,0.021929f,0.160504f,0.296890f,0.431155f, +0.563364f,0.693578f,0.821858f,0.948259f,0.927164f,0.804358f,0.683276f,0.563868f,0.446089f,0.329895f, +0.215245f,0.102097f,0.072836f,0.195642f,0.316724f,0.436132f,0.553911f,0.670105f,0.784755f,0.897903f, +0.990413f,0.880155f,0.771288f,0.663777f,0.557588f,0.452689f,0.349050f,0.246640f,0.145430f,0.045394f, +0.009587f,0.119845f,0.228712f,0.336223f,0.442412f,0.547311f,0.650950f,0.753360f,0.854570f,0.954606f, +0.946503f,0.848733f,0.752057f,0.656452f,0.561894f,0.468360f,0.375829f,0.284280f,0.193690f,0.104042f, +0.015315f,0.053497f,0.151267f,0.247943f,0.343548f,0.438106f,0.531640f,0.624171f,0.715720f,0.806310f, +0.895958f,0.984685f,0.927491f,0.840551f,0.754478f,0.669255f,0.584864f,0.501291f,0.418519f,0.336533f, +0.255318f,0.174861f,0.095146f,0.016160f,0.072509f,0.159449f,0.245522f,0.330745f,0.415136f,0.498709f, +0.581481f,0.663467f,0.744682f,0.825139f,0.904854f,0.983840f,0.937891f,0.860325f,0.783449f,0.707252f, +0.631722f,0.556847f,0.482615f,0.409017f,0.336040f,0.263676f,0.191913f,0.120741f,0.050152f,0.062109f, +0.139675f,0.216551f,0.292748f,0.368278f,0.443153f,0.517385f,0.590983f,0.663960f,0.736324f,0.808087f, +0.879259f,0.949848f,0.980135f,0.910681f,0.841781f,0.773427f,0.705610f,0.638322f,0.571554f,0.505298f, +0.439548f,0.374294f,0.309529f,0.245247f,0.181440f,0.118101f,0.055223f,0.019865f,0.089319f,0.158219f, +0.226573f,0.294390f,0.361678f,0.428446f,0.494702f,0.560452f,0.625706f,0.690471f,0.754753f,0.818560f, +0.881899f,0.944777f,0.992800f,0.930826f,0.869293f,0.808195f,0.747527f,0.687282f,0.627454f,0.568039f, +0.509029f,0.450420f,0.392207f,0.334383f,0.276944f,0.219885f,0.163200f,0.106885f,0.050935f,0.007200f, +0.069174f,0.130707f,0.191805f,0.252473f,0.312718f,0.372546f,0.431961f,0.490971f,0.549580f,0.607793f, +0.665617f,0.723056f,0.780115f,0.836800f,0.893115f,0.949065f,0.995345f,0.940111f,0.885228f,0.830692f, +0.776498f,0.722642f,0.669120f,0.615928f,0.563062f,0.510517f,0.458290f,0.406378f,0.354775f,0.303479f, +0.252487f,0.201793f,0.151396f,0.101291f,0.051475f,0.001945f,0.004655f,0.059889f,0.114772f,0.169308f, +0.223502f,0.277358f,0.330880f,0.384072f,0.436938f,0.489483f,0.541710f,0.593622f,0.645225f,0.696521f, +0.747513f,0.798207f,0.848604f,0.898709f,0.948525f,0.998055f,0.952698f,0.903729f,0.855038f,0.806619f, +0.758470f,0.710588f,0.662971f,0.615614f,0.568516f,0.521674f,0.475084f,0.428744f,0.382652f,0.336804f, +0.291199f,0.245834f,0.200705f,0.155811f,0.111150f,0.066718f,0.022514f,0.047302f,0.096271f,0.144962f, +0.193381f,0.241530f,0.289412f,0.337029f,0.384386f,0.431484f,0.478326f,0.524916f,0.571256f,0.617348f, +0.663196f,0.708801f,0.754166f,0.799295f,0.844189f,0.888850f,0.933282f,0.977486f,0.978535f,0.934779f, +0.891243f,0.847926f,0.804826f,0.761939f,0.719265f,0.676800f,0.634543f,0.592492f,0.550645f,0.508999f, +0.467554f,0.426307f,0.385255f,0.344399f,0.303734f,0.263260f,0.222975f,0.182877f,0.142965f,0.103236f, +0.063689f,0.024323f,0.021465f,0.065221f,0.108757f,0.152074f,0.195174f,0.238061f,0.280735f,0.323200f, +0.365457f,0.407508f,0.449355f,0.491001f,0.532446f,0.573693f,0.614745f,0.655601f,0.696266f,0.736740f, +0.777025f,0.817123f,0.857035f,0.896764f,0.936311f,0.975677f,0.985135f,0.946124f,0.907289f,0.868628f, +0.830139f,0.791821f,0.753672f,0.715691f,0.677876f,0.640227f,0.602740f,0.565416f,0.528253f,0.491249f, +0.454402f,0.417713f,0.381178f,0.344798f,0.308570f,0.272494f,0.236568f,0.200790f,0.165161f,0.129678f, +0.094340f,0.059146f,0.024095f,0.014865f,0.053876f,0.092711f,0.131372f,0.169861f,0.208179f,0.246328f, +0.284309f,0.322124f,0.359773f,0.397260f,0.434584f,0.471747f,0.508751f,0.545597f,0.582287f,0.618822f, +0.655202f,0.691430f,0.727506f,0.763432f,0.799210f,0.834839f,0.870322f,0.905660f,0.940854f,0.975905f, +0.989185f,0.954417f,0.919787f,0.885297f,0.850943f,0.816725f,0.782643f,0.748695f,0.714879f,0.681196f, +0.647643f,0.614221f,0.580927f,0.547761f,0.514722f,0.481809f,0.449021f,0.416357f,0.383817f,0.351398f, +0.319101f,0.286924f,0.254866f,0.222928f,0.191107f,0.159402f,0.127814f,0.096341f,0.064982f,0.033737f, +0.002604f,0.010815f,0.045583f,0.080213f,0.114703f,0.149057f,0.183275f,0.217357f,0.251305f,0.285121f, +0.318804f,0.352357f,0.385779f,0.419073f,0.452239f,0.485278f,0.518191f,0.550979f,0.583643f,0.616183f, +0.648602f,0.680899f,0.713076f,0.745134f,0.777072f,0.808893f,0.840598f,0.872186f,0.903659f,0.935018f, +0.966263f,0.997396f,0.971584f,0.940674f,0.909875f,0.879185f,0.848604f,0.818130f,0.787764f,0.757505f, +0.727351f,0.697302f,0.667357f,0.637516f,0.607777f,0.578141f,0.548606f,0.519172f,0.489838f,0.460603f, +0.431467f,0.402428f,0.373487f,0.344643f,0.315895f,0.287242f,0.258684f,0.230221f,0.201850f,0.173573f, +0.145388f,0.117295f,0.089293f,0.061381f,0.033559f,0.005827f,0.028416f,0.059326f,0.090125f,0.120815f, +0.151396f,0.181870f,0.212236f,0.242495f,0.272649f,0.302698f,0.332643f,0.362484f,0.392223f,0.421859f, +0.451394f,0.480828f,0.510162f,0.539397f,0.568533f,0.597572f,0.626513f,0.655357f,0.684105f,0.712758f, +0.741315f,0.769779f,0.798150f,0.826427f,0.854612f,0.882705f,0.910707f,0.938619f,0.966441f,0.994173f, +0.978184f,0.950628f,0.923161f,0.895780f,0.868486f,0.841279f,0.814156f,0.787119f,0.760166f,0.733296f, +0.706511f,0.679808f,0.653187f,0.626648f,0.600191f,0.573814f,0.547518f,0.521302f,0.495165f,0.469106f, +0.443127f,0.417225f,0.391401f,0.365653f,0.339983f,0.314388f,0.288869f,0.263425f,0.238056f,0.212762f, +0.187541f,0.162394f,0.137319f,0.112318f,0.087388f,0.062531f,0.037744f,0.013029f,0.021816f,0.049372f, +0.076839f,0.104220f,0.131514f,0.158721f,0.185844f,0.212881f,0.239834f,0.266704f,0.293489f,0.320192f, +0.346813f,0.373352f,0.399809f,0.426186f,0.452482f,0.478698f,0.504835f,0.530894f,0.556873f,0.582775f, +0.608599f,0.634347f,0.660017f,0.685612f,0.711131f,0.736575f,0.761944f,0.787238f,0.812459f,0.837606f, +0.862681f,0.887682f,0.912612f,0.937469f,0.962256f,0.986971f,0.988384f,0.963810f,0.939305f,0.914869f, +0.890503f,0.866205f,0.841975f,0.817813f,0.793719f,0.769691f,0.745730f,0.721836f,0.698008f,0.674245f, +0.650547f,0.626914f,0.603346f,0.579842f,0.556401f,0.533025f,0.509711f,0.486460f,0.463272f,0.440145f, +0.417081f,0.394078f,0.371136f,0.348254f,0.325434f,0.302673f,0.279973f,0.257332f,0.234750f,0.212227f, +0.189762f,0.167356f,0.145008f,0.122718f,0.100485f,0.078309f,0.056190f,0.034127f,0.012121f,0.011616f, +0.036190f,0.060695f,0.085131f,0.109497f,0.133795f,0.158025f,0.182187f,0.206281f,0.230309f,0.254270f, +0.278164f,0.301992f,0.325755f,0.349453f,0.373086f,0.396654f,0.420158f,0.443599f,0.466975f,0.490289f, +0.513540f,0.536728f,0.559855f,0.582919f,0.605922f,0.628864f,0.651745f,0.674566f,0.697327f,0.720027f, +0.742669f,0.765250f,0.787773f,0.810238f,0.832644f,0.854992f,0.877282f,0.899515f,0.921691f,0.943810f, +0.965873f,0.987879f,0.990171f,0.968276f,0.946437f,0.924653f,0.902923f,0.881249f,0.859628f,0.838062f, +0.816549f,0.795090f,0.773684f,0.752330f,0.731030f,0.709782f,0.688586f,0.667442f,0.646350f,0.625309f, +0.604320f,0.583381f,0.562493f,0.541655f,0.520867f,0.500130f,0.479442f,0.458803f,0.438214f,0.417674f, +0.397182f,0.376740f,0.356345f,0.335998f,0.315700f,0.295448f,0.275245f,0.255088f,0.234978f,0.214916f, +0.194899f,0.174929f,0.155005f,0.135127f,0.115295f,0.095508f,0.075766f,0.056069f,0.036417f,0.016810f, +0.009829f,0.031724f,0.053563f,0.075347f,0.097077f,0.118751f,0.140372f,0.161938f,0.183451f,0.204910f, +0.226316f,0.247670f,0.268970f,0.290218f,0.311414f,0.332558f,0.353650f,0.374691f,0.395680f,0.416619f, +0.437507f,0.458345f,0.479133f,0.499870f,0.520558f,0.541197f,0.561786f,0.582326f,0.602817f,0.623260f, +0.643655f,0.664002f,0.684300f,0.704552f,0.724755f,0.744912f,0.765022f,0.785084f,0.805101f,0.825071f, +0.844995f,0.864873f,0.884705f,0.904492f,0.924234f,0.943931f,0.963583f,0.983190f,0.997247f,0.977729f, +0.958254f,0.938824f,0.919437f,0.900093f,0.880792f,0.861535f,0.842321f,0.823149f,0.804020f,0.784933f, +0.765888f,0.746885f,0.727923f,0.709004f,0.690125f,0.671288f,0.652492f,0.633737f,0.615022f,0.596348f, +0.577714f,0.559120f,0.540567f,0.522053f,0.503578f,0.485144f,0.466748f,0.448391f,0.430074f,0.411795f, +0.393555f,0.375353f,0.357190f,0.339065f,0.320977f,0.302928f,0.284916f,0.266942f,0.249005f,0.231105f, +0.213242f,0.195416f,0.177627f,0.159875f,0.142159f,0.124479f,0.106835f,0.089227f,0.071656f,0.054119f, +0.036619f,0.019154f,0.001724f,0.002753f,0.022271f,0.041746f,0.061176f,0.080564f,0.099907f,0.119208f, +0.138465f,0.157679f,0.176851f,0.195980f,0.215067f,0.234112f,0.253115f,0.272077f,0.290996f,0.309875f, +0.328712f,0.347508f,0.366263f,0.384978f,0.403652f,0.422286f,0.440880f,0.459433f,0.477947f,0.496422f, +0.514856f,0.533252f,0.551609f,0.569926f,0.588205f,0.606445f,0.624647f,0.642810f,0.660935f,0.679023f, +0.697072f,0.715084f,0.733058f,0.750995f,0.768895f,0.786758f,0.804583f,0.822373f,0.840125f,0.857841f, +0.875521f,0.893165f,0.910773f,0.928344f,0.945881f,0.963381f,0.980846f,0.998276f,0.984329f,0.966969f, +0.949644f,0.932354f,0.915098f,0.897877f,0.880689f,0.863537f,0.846418f,0.829333f,0.812281f,0.795264f, +0.778279f,0.761329f,0.744411f,0.727526f,0.710675f,0.693856f,0.677070f,0.660317f,0.643596f,0.626907f, +0.610251f,0.593626f,0.577034f,0.560473f,0.543944f,0.527447f,0.510981f,0.494546f,0.478143f,0.461771f, +0.445430f,0.429119f,0.412840f,0.396591f,0.380372f,0.364184f,0.348027f,0.331899f,0.315802f,0.299734f, +0.283697f,0.267689f,0.251710f,0.235762f,0.219842f,0.203952f,0.188091f,0.172260f,0.156457f,0.140683f, +0.124938f,0.109221f,0.093533f,0.077874f,0.062243f,0.046640f,0.031065f,0.015519f,}; + +const float32_t mfcc_filter_coefs_config2[NB_MFCC_FILTER_COEFS_CONFIG2]={ +0.329789f,0.663153f,0.984122f,0.706417f,0.407665f,0.118907f,0.293583f,0.592335f,0.881093f,0.839496f, +0.568845f,0.306422f,0.051741f,0.160504f,0.431155f,0.693578f,0.948259f,0.804358f,0.563868f,0.329895f, +0.102097f,0.195642f,0.436132f,0.670105f,0.897903f,0.880155f,0.663777f,0.452689f,0.246640f,0.045394f, +0.119845f,0.336223f,0.547311f,0.753360f,0.954606f,0.848733f,0.656452f,0.468360f,0.284280f,0.104042f, +0.151267f,0.343548f,0.531640f,0.715720f,0.895958f,0.927491f,0.754478f,0.584864f,0.418519f,0.255318f, +0.095146f,0.072509f,0.245522f,0.415136f,0.581481f,0.744682f,0.904854f,0.937891f,0.783449f,0.631722f, +0.482615f,0.336040f,0.191913f,0.050152f,0.062109f,0.216551f,0.368278f,0.517385f,0.663960f,0.808087f, +0.949848f,0.910681f,0.773427f,0.638322f,0.505298f,0.374294f,0.245247f,0.118101f,0.089319f,0.226573f, +0.361678f,0.494702f,0.625706f,0.754753f,0.881899f,0.992800f,0.869293f,0.747527f,0.627454f,0.509029f, +0.392207f,0.276944f,0.163200f,0.050935f,0.007200f,0.130707f,0.252473f,0.372546f,0.490971f,0.607793f, +0.723056f,0.836800f,0.949065f,0.940111f,0.830692f,0.722642f,0.615928f,0.510517f,0.406378f,0.303479f, +0.201793f,0.101291f,0.001945f,0.059889f,0.169308f,0.277358f,0.384072f,0.489483f,0.593622f,0.696521f, +0.798207f,0.898709f,0.998055f,0.903729f,0.806619f,0.710588f,0.615614f,0.521674f,0.428744f,0.336804f, +0.245834f,0.155811f,0.066718f,0.096271f,0.193381f,0.289412f,0.384386f,0.478326f,0.571256f,0.663196f, +0.754166f,0.844189f,0.933282f,0.978535f,0.891243f,0.804826f,0.719265f,0.634543f,0.550645f,0.467554f, +0.385255f,0.303734f,0.222975f,0.142965f,0.063689f,0.021465f,0.108757f,0.195174f,0.280735f,0.365457f, +0.449355f,0.532446f,0.614745f,0.696266f,0.777025f,0.857035f,0.936311f,0.985135f,0.907289f,0.830139f, +0.753672f,0.677876f,0.602740f,0.528253f,0.454402f,0.381178f,0.308570f,0.236568f,0.165161f,0.094340f, +0.024095f,0.014865f,0.092711f,0.169861f,0.246328f,0.322124f,0.397260f,0.471747f,0.545597f,0.618822f, +0.691430f,0.763432f,0.834839f,0.905660f,0.975905f,0.954417f,0.885297f,0.816725f,0.748695f,0.681196f, +0.614221f,0.547761f,0.481809f,0.416357f,0.351398f,0.286924f,0.222928f,0.159402f,0.096341f,0.033737f, +0.045583f,0.114703f,0.183275f,0.251305f,0.318804f,0.385779f,0.452239f,0.518191f,0.583643f,0.648602f, +0.713076f,0.777072f,0.840598f,0.903659f,0.966263f,0.971584f,0.909875f,0.848604f,0.787764f,0.727351f, +0.667357f,0.607777f,0.548606f,0.489838f,0.431467f,0.373487f,0.315895f,0.258684f,0.201850f,0.145388f, +0.089293f,0.033559f,0.028416f,0.090125f,0.151396f,0.212236f,0.272649f,0.332643f,0.392223f,0.451394f, +0.510162f,0.568533f,0.626513f,0.684105f,0.741315f,0.798150f,0.854612f,0.910707f,0.966441f,0.978184f, +0.923161f,0.868486f,0.814156f,0.760166f,0.706511f,0.653187f,0.600191f,0.547518f,0.495165f,0.443127f, +0.391401f,0.339983f,0.288869f,0.238056f,0.187541f,0.137319f,0.087388f,0.037744f,0.021816f,0.076839f, +0.131514f,0.185844f,0.239834f,0.293489f,0.346813f,0.399809f,0.452482f,0.504835f,0.556873f,0.608599f, +0.660017f,0.711131f,0.761944f,0.812459f,0.862681f,0.912612f,0.962256f,0.988384f,0.939305f,0.890503f, +0.841975f,0.793719f,0.745730f,0.698008f,0.650547f,0.603346f,0.556401f,0.509711f,0.463272f,0.417081f, +0.371136f,0.325434f,0.279973f,0.234750f,0.189762f,0.145008f,0.100485f,0.056190f,0.012121f,0.011616f, +0.060695f,0.109497f,0.158025f,0.206281f,0.254270f,0.301992f,0.349453f,0.396654f,0.443599f,0.490289f, +0.536728f,0.582919f,0.628864f,0.674566f,0.720027f,0.765250f,0.810238f,0.854992f,0.899515f,0.943810f, +0.987879f,0.968276f,0.924653f,0.881249f,0.838062f,0.795090f,0.752330f,0.709782f,0.667442f,0.625309f, +0.583381f,0.541655f,0.500130f,0.458803f,0.417674f,0.376740f,0.335998f,0.295448f,0.255088f,0.214916f, +0.174929f,0.135127f,0.095508f,0.056069f,0.016810f,0.031724f,0.075347f,0.118751f,0.161938f,0.204910f, +0.247670f,0.290218f,0.332558f,0.374691f,0.416619f,0.458345f,0.499870f,0.541197f,0.582326f,0.623260f, +0.664002f,0.704552f,0.744912f,0.785084f,0.825071f,0.864873f,0.904492f,0.943931f,0.983190f,0.977729f, +0.938824f,0.900093f,0.861535f,0.823149f,0.784933f,0.746885f,0.709004f,0.671288f,0.633737f,0.596348f, +0.559120f,0.522053f,0.485144f,0.448391f,0.411795f,0.375353f,0.339065f,0.302928f,0.266942f,0.231105f, +0.195416f,0.159875f,0.124479f,0.089227f,0.054119f,0.019154f,0.022271f,0.061176f,0.099907f,0.138465f, +0.176851f,0.215067f,0.253115f,0.290996f,0.328712f,0.366263f,0.403652f,0.440880f,0.477947f,0.514856f, +0.551609f,0.588205f,0.624647f,0.660935f,0.697072f,0.733058f,0.768895f,0.804583f,0.840125f,0.875521f, +0.910773f,0.945881f,0.980846f,0.984329f,0.949644f,0.915098f,0.880689f,0.846418f,0.812281f,0.778279f, +0.744411f,0.710675f,0.677070f,0.643596f,0.610251f,0.577034f,0.543944f,0.510981f,0.478143f,0.445430f, +0.412840f,0.380372f,0.348027f,0.315802f,0.283697f,0.251710f,0.219842f,0.188091f,0.156457f,0.124938f, +0.093533f,0.062243f,0.031065f,}; + +const float32_t mfcc_filter_coefs_config3[NB_MFCC_FILTER_COEFS_CONFIG3]={ +0.663153f,0.706417f,0.118907f,0.293583f,0.881093f,0.568845f,0.051741f,0.431155f,0.948259f,0.563868f, +0.102097f,0.436132f,0.897903f,0.663777f,0.246640f,0.336223f,0.753360f,0.848733f,0.468360f,0.104042f, +0.151267f,0.531640f,0.895958f,0.754478f,0.418519f,0.095146f,0.245522f,0.581481f,0.904854f,0.783449f, +0.482615f,0.191913f,0.216551f,0.517385f,0.808087f,0.910681f,0.638322f,0.374294f,0.118101f,0.089319f, +0.361678f,0.625706f,0.881899f,0.869293f,0.627454f,0.392207f,0.163200f,0.130707f,0.372546f,0.607793f, +0.836800f,0.940111f,0.722642f,0.510517f,0.303479f,0.101291f,0.059889f,0.277358f,0.489483f,0.696521f, +0.898709f,0.903729f,0.710588f,0.521674f,0.336804f,0.155811f,0.096271f,0.289412f,0.478326f,0.663196f, +0.844189f,0.978535f,0.804826f,0.634543f,0.467554f,0.303734f,0.142965f,0.021465f,0.195174f,0.365457f, +0.532446f,0.696266f,0.857035f,0.985135f,0.830139f,0.677876f,0.528253f,0.381178f,0.236568f,0.094340f, +0.014865f,0.169861f,0.322124f,0.471747f,0.618822f,0.763432f,0.905660f,0.954417f,0.816725f,0.681196f, +0.547761f,0.416357f,0.286924f,0.159402f,0.033737f,0.045583f,0.183275f,0.318804f,0.452239f,0.583643f, +0.713076f,0.840598f,0.966263f,0.909875f,0.787764f,0.667357f,0.548606f,0.431467f,0.315895f,0.201850f, +0.089293f,0.090125f,0.212236f,0.332643f,0.451394f,0.568533f,0.684105f,0.798150f,0.910707f,0.978184f, +0.868486f,0.760166f,0.653187f,0.547518f,0.443127f,0.339983f,0.238056f,0.137319f,0.037744f,0.021816f, +0.131514f,0.239834f,0.346813f,0.452482f,0.556873f,0.660017f,0.761944f,0.862681f,0.962256f,0.939305f, +0.841975f,0.745730f,0.650547f,0.556401f,0.463272f,0.371136f,0.279973f,0.189762f,0.100485f,0.012121f, +0.060695f,0.158025f,0.254270f,0.349453f,0.443599f,0.536728f,0.628864f,0.720027f,0.810238f,0.899515f, +0.987879f,0.924653f,0.838062f,0.752330f,0.667442f,0.583381f,0.500130f,0.417674f,0.335998f,0.255088f, +0.174929f,0.095508f,0.016810f,0.075347f,0.161938f,0.247670f,0.332558f,0.416619f,0.499870f,0.582326f, +0.664002f,0.744912f,0.825071f,0.904492f,0.983190f,0.938824f,0.861535f,0.784933f,0.709004f,0.633737f, +0.559120f,0.485144f,0.411795f,0.339065f,0.266942f,0.195416f,0.124479f,0.054119f,0.061176f,0.138465f, +0.215067f,0.290996f,0.366263f,0.440880f,0.514856f,0.588205f,0.660935f,0.733058f,0.804583f,0.875521f, +0.945881f,0.984329f,0.915098f,0.846418f,0.778279f,0.710675f,0.643596f,0.577034f,0.510981f,0.445430f, +0.380372f,0.315802f,0.251710f,0.188091f,0.124938f,0.062243f,}; + + diff --git a/Testing/desc.txt b/Testing/desc.txt index c2da40c8..913af7b3 100644 --- a/Testing/desc.txt +++ b/Testing/desc.txt @@ -2949,6 +2949,32 @@ group Root { class = TransformTests folder = Transform + suite MFCC F32 { + class = MFCCF32 + folder = MFCCF32 + + Pattern INPUTS_MFCC_256_F32_ID : MFCCInput_256_1_f32.txt + Pattern REF_MFCC_256_F32_ID : MFCCRef_256_1_f32.txt + + Pattern INPUTS_MFCC_512_F32_ID : MFCCInput_512_1_f32.txt + Pattern REF_MFCC_512_F32_ID : MFCCRef_512_1_f32.txt + + Pattern INPUTS_MFCC_1024_F32_ID : MFCCInput_1024_1_f32.txt + Pattern REF_MFCC_1024_F32_ID : MFCCRef_1024_1_f32.txt + + + Output OUTPUT_MFCC_F32_ID : MFCCOutputs + Output TMP_MFCC_F32_ID : MFCCTmp + Output TMPIN_MFCC_F32_ID : MFCCTmpIn + + Functions { + mfcc_256_f32:test_mfcc_f32 + mfcc_512_f32:test_mfcc_f32 + mfcc_1024_f32:test_mfcc_f32 + } + + } + suite Transform Complex F64 { class = TransformCF64 folder = TransformF64