CMSIS-DSP: Added MFCC F16
This first version is not very accurate due to problems with the log.
A coming commit will improve the log accuracy.
Issues #1305 and #1304 also corrected as part of this commit.
diff --git a/CMSIS/DSP/Include/dsp/fast_math_functions.h b/CMSIS/DSP/Include/dsp/fast_math_functions.h
index 90b1ee2..f230b0f 100755
--- a/CMSIS/DSP/Include/dsp/fast_math_functions.h
+++ b/CMSIS/DSP/Include/dsp/fast_math_functions.h
@@ -220,7 +220,7 @@
- \ref ARM_MATH_ARGUMENT_ERROR : input value is negative; *pOut is set to 0
*/
__STATIC_FORCEINLINE arm_status arm_sqrt_f32(
- float32_t in,
+ const float32_t in,
float32_t * pOut)
{
if (in >= 0.0f)
diff --git a/CMSIS/DSP/Include/dsp/transform_functions_f16.h b/CMSIS/DSP/Include/dsp/transform_functions_f16.h
index 0b1685d..a03352c 100755
--- a/CMSIS/DSP/Include/dsp/transform_functions_f16.h
+++ b/CMSIS/DSP/Include/dsp/transform_functions_f16.h
@@ -147,6 +147,57 @@
void arm_cfft_radix2_f16(
const arm_cfft_radix2_instance_f16 * S,
float16_t * pSrc);
+
+ /**
+ * @brief Instance structure for the Floating-point MFCC function.
+ */
+typedef struct
+ {
+ const float16_t *dctCoefs; /**< Internal DCT coefficients */
+ const float16_t *filterCoefs; /**< Internal Mel filter coefficients */
+ const float16_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_f16 cfft; /**< Internal CFFT instance */
+#else
+ /* Implementation of the MFCC is using a RFFT (default) */
+ arm_rfft_fast_instance_f16 rfft;
+#endif
+ } arm_mfcc_instance_f16 ;
+
+arm_status arm_mfcc_init_f16(
+ arm_mfcc_instance_f16 * S,
+ uint32_t fftLen,
+ uint32_t nbMelFilters,
+ uint32_t nbDctOutputs,
+ const float16_t *dctCoefs,
+ const uint32_t *filterPos,
+ const uint32_t *filterLengths,
+ const float16_t *filterCoefs,
+ const float16_t *windowCoefs
+ );
+
+
+/**
+ @brief MFCC F16
+ @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_f16(
+ arm_mfcc_instance_f16 * S,
+ float16_t *pSrc,
+ float16_t *pDst,
+ float16_t *pTmp
+ );
+
#endif /* defined(ARM_FLOAT16_SUPPORTED)*/
diff --git a/CMSIS/DSP/Scripts/GenMFCCDataForCPP.py b/CMSIS/DSP/Scripts/GenMFCCDataForCPP.py
index 1ad5fa3..84e162d 100755
--- a/CMSIS/DSP/Scripts/GenMFCCDataForCPP.py
+++ b/CMSIS/DSP/Scripts/GenMFCCDataForCPP.py
@@ -57,6 +57,7 @@
with open(args.others[0],"r") as f:
configs=yaml.safe_load(f)
+ mfccdata.checkF16(configs)
mfccdata.prepareDctconfig(configs["dct"])
mfccdata.prepareMelconfig(configs["melfilter"])
mfccdata.prepareWindowConfig(configs["window"])
diff --git a/CMSIS/DSP/Scripts/mfccconfig_f16.yaml b/CMSIS/DSP/Scripts/mfccconfig_f16.yaml
new file mode 100755
index 0000000..aa542ce
--- /dev/null
+++ b/CMSIS/DSP/Scripts/mfccconfig_f16.yaml
@@ -0,0 +1,46 @@
+dct:
+ config1_f16:
+ melFilters: 20
+ dctOutputs: 13
+ type: "f16"
+
+melfilter:
+ config1_f16:
+ fftlength: 1024
+ fmin: 64
+ fmax: 8000
+ samplingRate : 16000
+ melFilters: 20
+ type: "f16"
+
+ config2_f16:
+ fftlength: 512
+ fmin: 64
+ fmax: 8000
+ samplingRate : 16000
+ melFilters: 20
+ type: "f16"
+
+ config3_f16 :
+ fftlength: 256
+ fmin: 64
+ fmax: 8000
+ samplingRate : 16000
+ melFilters: 20
+ type: "f16"
+
+window:
+ config1_f16:
+ fftlength: 1024
+ type: "f16"
+ win: "hamming"
+
+ config2_f16:
+ fftlength: 512
+ type: "f16"
+ win: "hamming"
+
+ config3_f16:
+ fftlength: 256
+ type: "f16"
+ win: "hamming"
diff --git a/CMSIS/DSP/Scripts/mfccdata.py b/CMSIS/DSP/Scripts/mfccdata.py
index 80546d5..69111d2 100755
--- a/CMSIS/DSP/Scripts/mfccdata.py
+++ b/CMSIS/DSP/Scripts/mfccdata.py
@@ -48,7 +48,7 @@
return ("0x%s" % format(struct.unpack('<H', struct.pack('<h', r))[0],'04X'))
def to_f16(v):
- return("(float16_t)%f" % struct.unpack('<e',struct.pack('<e',v)))
+ return("(float16_t)%ff" % struct.unpack('<f',struct.pack('<f',v)))
def to_f32(v):
return("%ff" % struct.unpack('<f',struct.pack('<f',v)))
@@ -214,6 +214,28 @@
#print(configs)
+def checkF16(configs):
+ hasF16 = False
+ for config in configs["dct"]:
+ c=configs["dct"][config]
+ if c["type"]=="f16":
+ hasF16 = True
+ c["hasF16"]=True
+
+ for config in configs["melfilter"]:
+ c=configs["melfilter"][config]
+ if c["type"]=="f16":
+ hasF16 = True
+ c["hasF16"]=True
+
+ for config in configs["window"]:
+ c=configs["window"][config]
+ if c["type"]=="f16":
+ hasF16 = True
+ c["hasF16"]=True
+
+ configs["hasF16"]=hasF16
+
env = Environment(
loader=PackageLoader("mfccdata","mfcctemplates"),
autoescape=select_autoescape(),
diff --git a/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.c b/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.c
index ae7763a..7c2ba62 100755
--- a/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.c
+++ b/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.c
@@ -1,12 +1,28 @@
#include "{{filename}}.h"
+{% macro iff16(s,c) -%}
+{%- if configs[s][c]["hasF16"] %}
+#if defined(ARM_FLOAT16_SUPPORTED)
+{%- endif %}
+{% endmacro -%}
+
+{% macro endiff16(s,c) -%}
+{%- if configs[s][c]["hasF16"] %}
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+{%- endif %}
+{% endmacro -%}
+
{% for config in configs["dct"] %}
+{{iff16("dct",config)}}
const {{configs["dct"][config]["ctype"]}} mfcc_dct_coefs_{{config}}[NB_MFCC_DCT_COEFS_{{config.upper()}}]={{configs["dct"][config]["dctMatrix"]}};
+{{endiff16("dct",config)}}
{% endfor %}
{% for config in configs["window"] %}
+{{iff16("window",config)}}
const {{configs["window"][config]["ctype"]}} mfcc_window_coefs_{{config}}[NB_MFCC_WIN_COEFS_{{config.upper()}}]={{configs["window"][config]["winSamples"]}};
+{{endiff16("window",config)}}
{% endfor %}
@@ -18,6 +34,8 @@
{% for config in configs["melfilter"] %}
+{{iff16("melfilter",config)}}
const {{configs["melfilter"][config]["ctype"]}} mfcc_filter_coefs_{{config}}[NB_MFCC_FILTER_COEFS_{{config.upper()}}]={{configs["melfilter"][config]["filters"]}};
+{{endiff16("melfilter",config)}}
{% endfor %}
\ No newline at end of file
diff --git a/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.h b/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.h
index fdeee72..042bbe5 100755
--- a/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.h
+++ b/CMSIS/DSP/Scripts/mfcctemplates/mfccdata.h
@@ -1,8 +1,24 @@
#ifndef _MFCC_DATA_H_
#define _MFCC_DATA_H_
+{% macro iff16(s,c) -%}
+{%- if configs[s][c]["hasF16"] %}
+#if defined(ARM_FLOAT16_SUPPORTED)
+{%- endif %}
+{% endmacro -%}
+
+{% macro endiff16(s,c) -%}
+{%- if configs[s][c]["hasF16"] %}
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+{%- endif %}
+{% endmacro -%}
+
#include "arm_math_types.h"
+{% if configs["hasF16"] %}
+#include "arm_math_types_f16.h"
+{% endif %}
+
#ifdef __cplusplus
extern "C"
{
@@ -16,8 +32,10 @@
*****/
{% for config in configs["dct"] %}
+{{iff16("dct",config)}}
#define NB_MFCC_DCT_COEFS_{{config.upper()}} {{configs["dct"][config]['dctMatrixLength']}}
extern const {{configs["dct"][config]["ctype"]}} mfcc_dct_coefs_{{config}}[NB_MFCC_DCT_COEFS_{{config.upper()}}];
+{{endiff16("dct",config)}}
{% endfor %}
@@ -28,8 +46,10 @@
*****/
{% for config in configs["window"] %}
+{{iff16("window",config)}}
#define NB_MFCC_WIN_COEFS_{{config.upper()}} {{configs["window"][config]['fftlength']}}
extern const {{configs["window"][config]["ctype"]}} mfcc_window_coefs_{{config}}[NB_MFCC_WIN_COEFS_{{config.upper()}}];
+{{endiff16("window",config)}}
{% endfor %}
@@ -49,8 +69,10 @@
{% for config in configs["melfilter"] %}
+{{iff16("melfilter",config)}}
#define NB_MFCC_FILTER_COEFS_{{config.upper()}} {{configs["melfilter"][config]['totalLen']}}
extern const {{configs["melfilter"][config]["ctype"]}} mfcc_filter_coefs_{{config}}[NB_MFCC_FILTER_COEFS_{{config.upper()}}];
+{{endiff16("melfilter",config)}}
{% endfor %}
diff --git a/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f16.c b/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f16.c
index d93e35f..20f890b 100755
--- a/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f16.c
+++ b/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f16.c
@@ -60,6 +60,8 @@
* @param[in] blockSize vector length
* @return distance
*
+ * @par Description
+ * cosine_distance(u,v) is 1 - u . v / (Norm(u) Norm(v))
*/
float16_t arm_cosine_distance_f16(const float16_t *pA,const float16_t *pB, uint32_t blockSize)
diff --git a/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f32.c b/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f32.c
index 041e5e4..014bff0 100755
--- a/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f32.c
+++ b/CMSIS/DSP/Source/DistanceFunctions/arm_cosine_distance_f32.c
@@ -47,6 +47,8 @@
* @param[in] blockSize vector length
* @return distance
*
+ * @par Description
+ * cosine_distance(u,v) is 1 - u . v / (Norm(u) Norm(v))
*/
float32_t arm_cosine_distance_f32(const float32_t *pA,const float32_t *pB, uint32_t blockSize)
diff --git a/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt b/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
index 85e978b..a6122e8 100644
--- a/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
+++ b/CMSIS/DSP/Source/TransformFunctions/CMakeLists.txt
@@ -195,6 +195,10 @@
target_sources(CMSISDSPTransform PRIVATE arm_mfcc_init_f32.c)
target_sources(CMSISDSPTransform PRIVATE arm_mfcc_f32.c)
+if ((NOT ARMAC5) AND (NOT DISABLEFLOAT16))
+target_sources(CMSISDSPTransform PRIVATE arm_mfcc_init_f16.c)
+target_sources(CMSISDSPTransform PRIVATE arm_mfcc_f16.c)
+endif()
### Includes
target_include_directories(CMSISDSPTransform PUBLIC "${DSP}/Include")
diff --git a/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c b/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c
index 76e610e..b082d44 100755
--- a/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c
+++ b/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c
@@ -36,6 +36,9 @@
#include "arm_bitreversal_f16.c"
+#include "arm_mfcc_init_f16.c"
+#include "arm_mfcc_f16.c"
+
/* Deprecated */
#include "arm_cfft_radix2_init_f16.c"
#include "arm_cfft_radix4_init_f16.c"
diff --git a/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_f16.c b/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_f16.c
new file mode 100755
index 0000000..73ae341
--- /dev/null
+++ b/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_f16.c
@@ -0,0 +1,161 @@
+/* ----------------------------------------------------------------------
+ * Project: CMSIS DSP Library
+ * Title: arm_mfcc_f16.c
+ * Description: MFCC function for the f16 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.
+ */
+
+
+#include "dsp/transform_functions_f16.h"
+#include "dsp/statistics_functions_f16.h"
+#include "dsp/basic_math_functions_f16.h"
+#include "dsp/complex_math_functions_f16.h"
+#include "dsp/fast_math_functions_f16.h"
+#include "dsp/matrix_functions_f16.h"
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+
+/**
+ @ingroup groupTransforms
+ */
+
+
+/**
+ @defgroup MFCC MFCC
+
+ MFCC Transform
+
+ There are separate functions for floating-point, Q15, and Q31 data types.
+ */
+
+
+
+/**
+ @addtogroup MFCC
+ @{
+ */
+
+/**
+ @brief MFCC F16
+ @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
+
+ @par Description
+ The number of input samples if the FFT length used
+ when initializing the instance data structure.
+
+ The temporary buffer has a 2*fft length size when MFCC
+ is implemented with CFFT.
+ It has length FFT Length + 2 when implemented with RFFT
+ (default implementation).
+
+ The source buffer is modified by this function.
+
+ */
+void arm_mfcc_f16(
+ arm_mfcc_instance_f16 * S,
+ float16_t *pSrc,
+ float16_t *pDst,
+ float16_t *pTmp
+ )
+{
+ float16_t maxValue;
+ uint32_t index;
+ uint32_t i;
+ float16_t result;
+ const float16_t *coefs=S->filterCoefs;
+ arm_matrix_instance_f16 pDctMat;
+
+ /* Normalize */
+ arm_absmax_f16(pSrc,S->fftLen,&maxValue,&index);
+
+ arm_scale_f16(pSrc,1.0f16/(_Float16)maxValue,pSrc,S->fftLen);
+
+ /* Multiply by window */
+ arm_mult_f16(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.0f16;
+ }
+ arm_cfft_f16(&(S->cfft),pTmp,0,1);
+#else
+ /* Default RFFT based implementation */
+ arm_rfft_fast_f16(&(S->rfft),pSrc,pTmp,0);
+ /* Unpack real values */
+ pTmp[S->fftLen]=pTmp[1];
+ pTmp[S->fftLen+1]=0.0f16;
+ pTmp[1]=0.0f;
+#endif
+ arm_cmplx_mag_f16(pTmp,pSrc,S->fftLen);
+
+ /* Apply MEL filters */
+ for(i=0; i<S->nbMelFilters; i++)
+ {
+ arm_dot_prod_f16(pSrc+S->filterPos[i],
+ coefs,
+ S->filterLengths[i],
+ &result);
+
+ coefs += S->filterLengths[i];
+
+ pTmp[i] = result;
+
+ }
+
+ /* Compute the log */
+ arm_offset_f16(pTmp,1.0e-4f16,pTmp,S->nbMelFilters);
+ arm_vlog_f16(pTmp,pTmp,S->nbMelFilters);
+
+ /* Multiply with the DCT matrix */
+
+ pDctMat.numRows=S->nbDctOutputs;
+ pDctMat.numCols=S->nbMelFilters;
+ pDctMat.pData=(float16_t*)S->dctCoefs;
+
+ arm_mat_vec_mult_f16(&pDctMat, pTmp, pDst);
+
+
+}
+
+#endif /* defined(ARM_FLOAT16_SUPPORTED) */
+/**
+ @} end of MFCC group
+ */
diff --git a/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_init_f16.c b/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_init_f16.c
new file mode 100755
index 0000000..d90fd0d
--- /dev/null
+++ b/CMSIS/DSP/Source/TransformFunctions/arm_mfcc_init_f16.c
@@ -0,0 +1,110 @@
+/* ----------------------------------------------------------------------
+ * Project: CMSIS DSP Library
+ * Title: arm_mfcc_init_f16.c
+ * Description: MFCC initialization function for the f16 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_f16.h"
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+
+
+
+/**
+ @brief Initialization of the MFCC F16 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_f16(
+ arm_mfcc_instance_f16 * S,
+ uint32_t fftLen,
+ uint32_t nbMelFilters,
+ uint32_t nbDctOutputs,
+ const float16_t *dctCoefs,
+ const uint32_t *filterPos,
+ const uint32_t *filterLengths,
+ const float16_t *filterCoefs,
+ const float16_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_f16(&(S->cfft),fftLen);
+ #else
+ status=arm_rfft_fast_init_f16(&(S->rfft),fftLen);
+ #endif
+
+ return(status);
+}
+
+#endif /* defined(ARM_FLOAT16_SUPPORTED) */
+/**
+ @} end of MFCC group
+ */
diff --git a/CMSIS/DSP/Testing/CMakeLists.txt b/CMSIS/DSP/Testing/CMakeLists.txt
index d4a141a..dd64991 100644
--- a/CMSIS/DSP/Testing/CMakeLists.txt
+++ b/CMSIS/DSP/Testing/CMakeLists.txt
@@ -400,6 +400,8 @@
Source/Tests/DistanceTestsF16.cpp
Source/Tests/SVMF16.cpp
Source/Tests/BayesF16.cpp
+ Source/Tests/MFCCF16.cpp
+ Source/Tests/mfccdata_f16.c
)
endif()
endif()
diff --git a/CMSIS/DSP/Testing/Include/Tests/MFCCF16.h b/CMSIS/DSP/Testing/Include/Tests/MFCCF16.h
new file mode 100755
index 0000000..6af82fc
--- /dev/null
+++ b/CMSIS/DSP/Testing/Include/Tests/MFCCF16.h
@@ -0,0 +1,28 @@
+#include "Test.h"
+#include "Pattern.h"
+
+#include "dsp/transform_functions_f16.h"
+
+class MFCCF16:public Client::Suite
+ {
+ public:
+ MFCCF16(Testing::testID_t id);
+ virtual void setUp(Testing::testID_t,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr);
+ virtual void tearDown(Testing::testID_t,Client::PatternMgr *mgr);
+ private:
+ #include "MFCCF16_decl.h"
+
+ Client::Pattern<float16_t> input1;
+ Client::Pattern<float16_t> input2;
+ Client::LocalPattern<float16_t> output;
+ Client::LocalPattern<float16_t> tmp;
+ Client::LocalPattern<float16_t> tmpin;
+
+ // Reference patterns are not loaded when we are in dump mode
+ Client::RefPattern<float16_t> ref;
+
+ arm_mfcc_instance_f16 mfcc;
+
+ uint16_t fftLen;
+
+ };
diff --git a/CMSIS/DSP/Testing/Include/Tests/mfccdata_f16.h b/CMSIS/DSP/Testing/Include/Tests/mfccdata_f16.h
new file mode 100755
index 0000000..dde124e
--- /dev/null
+++ b/CMSIS/DSP/Testing/Include/Tests/mfccdata_f16.h
@@ -0,0 +1,90 @@
+#ifndef _MFCC_DATA_H_
+#define _MFCC_DATA_H_
+
+#include "arm_math_types.h"
+
+#include "arm_math_types_f16.h"
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+/*****
+
+ DCT COEFFICIENTS FOR THE MFCC
+
+*****/
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_DCT_COEFS_CONFIG1_F16 260
+extern const float16_t mfcc_dct_coefs_config1_f16[NB_MFCC_DCT_COEFS_CONFIG1_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
+/*****
+
+ WINDOW COEFFICIENTS
+
+*****/
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_WIN_COEFS_CONFIG1_F16 1024
+extern const float16_t mfcc_window_coefs_config1_f16[NB_MFCC_WIN_COEFS_CONFIG1_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_WIN_COEFS_CONFIG2_F16 512
+extern const float16_t mfcc_window_coefs_config2_f16[NB_MFCC_WIN_COEFS_CONFIG2_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_WIN_COEFS_CONFIG3_F16 256
+extern const float16_t mfcc_window_coefs_config3_f16[NB_MFCC_WIN_COEFS_CONFIG3_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
+/*****
+
+ MEL FILTER COEFFICIENTS FOR THE MFCC
+
+*****/
+
+#define NB_MFCC_NB_FILTER_CONFIG1_F16 20
+extern const uint32_t mfcc_filter_pos_config1_f16[NB_MFCC_NB_FILTER_CONFIG1_F16];
+extern const uint32_t mfcc_filter_len_config1_f16[NB_MFCC_NB_FILTER_CONFIG1_F16];
+
+#define NB_MFCC_NB_FILTER_CONFIG2_F16 20
+extern const uint32_t mfcc_filter_pos_config2_f16[NB_MFCC_NB_FILTER_CONFIG2_F16];
+extern const uint32_t mfcc_filter_len_config2_f16[NB_MFCC_NB_FILTER_CONFIG2_F16];
+
+#define NB_MFCC_NB_FILTER_CONFIG3_F16 20
+extern const uint32_t mfcc_filter_pos_config3_f16[NB_MFCC_NB_FILTER_CONFIG3_F16];
+extern const uint32_t mfcc_filter_len_config3_f16[NB_MFCC_NB_FILTER_CONFIG3_F16];
+
+
+
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_FILTER_COEFS_CONFIG1_F16 948
+extern const float16_t mfcc_filter_coefs_config1_f16[NB_MFCC_FILTER_COEFS_CONFIG1_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_FILTER_COEFS_CONFIG2_F16 473
+extern const float16_t mfcc_filter_coefs_config2_f16[NB_MFCC_FILTER_COEFS_CONFIG2_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+#define NB_MFCC_FILTER_COEFS_CONFIG3_F16 236
+extern const float16_t mfcc_filter_coefs_config3_f16[NB_MFCC_FILTER_COEFS_CONFIG3_F16];
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
diff --git a/CMSIS/DSP/Testing/PatternGeneration/MFCC.py b/CMSIS/DSP/Testing/PatternGeneration/MFCC.py
index 5c99eec..2500ece 100755
--- a/CMSIS/DSP/Testing/PatternGeneration/MFCC.py
+++ b/CMSIS/DSP/Testing/PatternGeneration/MFCC.py
@@ -229,7 +229,7 @@
PARAMDIR = os.path.join("Parameters","DSP","Transform","MFCC")
configf32=Tools.Config(PATTERNDIR,PARAMDIR,"f32")
- #configf16=Tools.Config(PATTERNDIR,PARAMDIR,"f16")
+ configf16=Tools.Config(PATTERNDIR,PARAMDIR,"f16")
#configq31=Tools.Config(PATTERNDIR,PARAMDIR,"q31")
#configq15=Tools.Config(PATTERNDIR,PARAMDIR,"q15")
#configq7=Tools.Config(PATTERNDIR,PARAMDIR,"q7")
@@ -239,6 +239,7 @@
writeTests(configf32,0)
+ writeTests(configf16,Tools.F16)
if __name__ == '__main__':
generatePatterns()
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_1024_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_1024_1_f16.txt
new file mode 100755
index 0000000..f56a180
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_1024_1_f16.txt
@@ -0,0 +1,2050 @@
+H
+1024
+// -0.134587
+0xb04f
+// -0.223526
+0xb327
+// 0.132967
+0x3041
+// -0.335567
+0xb55e
+// -0.029171
+0xa778
+// 0.251730
+0x3407
+// -0.136204
+0xb05c
+// -0.275652
+0xb469
+// -0.207957
+0xb2a8
+// -0.057721
+0xab63
+// 0.049988
+0x2a66
+// 0.376242
+0x3605
+// 0.008308
+0x2041
+// -0.221512
+0xb317
+// -0.506233
+0xb80d
+// 0.609235
+0x38e0
+// -0.067736
+0xac56
+// -0.244949
+0xb3d7
+// -0.596319
+0xb8c5
+// -0.051306
+0xaa91
+// -0.041667
+0xa955
+// -0.264308
+0xb43b
+// -0.002041
+0x982e
+// -0.197666
+0xb253
+// 0.144481
+0x30a0
+// 0.087860
+0x2da0
+// -0.015557
+0xa3f7
+// 0.338726
+0x356b
+// -0.377650
+0xb60b
+// 0.476575
+0x37a0
+// 0.180931
+0x31ca
+// -0.178379
+0xb1b5
+// 0.572678
+0x3895
+// -0.327049
+0xb53c
+// 0.148632
+0x30c2
+// -0.573650
+0xb897
+// 0.030646
+0x27d8
+// -0.393704
+0xb64d
+// 0.213297
+0x32d3
+// -0.062557
+0xac01
+// -0.480838
+0xb7b2
+// 0.075351
+0x2cd3
+// 0.015460
+0x23ea
+// -0.375831
+0xb603
+// -0.056460
+0xab3a
+// -0.079507
+0xad17
+// -0.247844
+0xb3ee
+// -0.114189
+0xaf4f
+// 0.015710
+0x2406
+// 0.520489
+0x382a
+// 0.300073
+0x34cd
+// 0.143783
+0x309a
+// -0.277643
+0xb471
+// 0.310282
+0x34f7
+// 0.735204
+0x39e2
+// -0.143815
+0xb09a
+// 0.168584
+0x3165
+// -0.297515
+0xb4c3
+// -0.585115
+0xb8ae
+// 0.586292
+0x38b1
+// -0.002527
+0x992d
+// 0.077609
+0x2cf8
+// 0.459088
+0x3758
+// 0.129063
+0x3021
+// 0.069617
+0x2c75
+// 0.256996
+0x341d
+// -0.281246
+0xb480
+// -0.039206
+0xa905
+// 0.256253
+0x341a
+// -0.192919
+0xb22c
+// -0.366664
+0xb5de
+// 0.482742
+0x37b9
+// -0.300253
+0xb4ce
+// 0.666409
+0x3955
+// -0.163956
+0xb13f
+// 0.221328
+0x3315
+// -0.251324
+0xb405
+// 0.204461
+0x328b
+// 0.158717
+0x3114
+// -0.243035
+0xb3c7
+// -0.010934
+0xa199
+// -0.241979
+0xb3be
+// 0.078859
+0x2d0c
+// 0.332753
+0x3553
+// -0.158125
+0xb10f
+// -0.172928
+0xb189
+// 0.230150
+0x335d
+// 0.151220
+0x30d7
+// -0.666854
+0xb956
+// 0.149604
+0x30ca
+// -0.042728
+0xa978
+// 0.397782
+0x365d
+// 0.353126
+0x35a6
+// -0.235846
+0xb38c
+// -0.179840
+0xb1c1
+// -0.166662
+0xb155
+// 0.099316
+0x2e5b
+// 0.379593
+0x3613
+// -0.025690
+0xa694
+// 0.208146
+0x32a9
+// -0.167091
+0xb159
+// -0.706237
+0xb9a6
+// 0.334962
+0x355c
+// 0.685691
+0x397c
+// 0.160073
+0x311f
+// -0.012201
+0xa23f
+// 0.075595
+0x2cd7
+// -0.428988
+0xb6dd
+// 0.034599
+0x286e
+// 0.397099
+0x365b
+// 0.709158
+0x39ac
+// 0.034930
+0x2879
+// 0.073115
+0x2cae
+// 0.311222
+0x34fb
+// -0.090995
+0xadd3
+// 0.376174
+0x3605
+// -0.186052
+0xb1f4
+// 0.108244
+0x2eed
+// 0.369039
+0x35e8
+// 0.047004
+0x2a04
+// 0.010836
+0x218c
+// 0.237626
+0x339b
+// 0.070766
+0x2c87
+// 0.052808
+0x2ac2
+// 0.286714
+0x3496
+// 0.051601
+0x2a9b
+// -0.509366
+0xb813
+// 0.220441
+0x330e
+// 0.182414
+0x31d6
+// 0.098275
+0x2e4a
+// 0.034365
+0x2866
+// -0.008732
+0xa078
+// -0.198964
+0xb25e
+// 0.130865
+0x3030
+// 0.372477
+0x35f6
+// 0.210683
+0x32be
+// -0.070176
+0xac7e
+// 0.085172
+0x2d73
+// -0.434043
+0xb6f2
+// 0.132113
+0x303a
+// 0.321185
+0x3524
+// 0.131311
+0x3034
+// -0.343428
+0xb57f
+// -0.002966
+0x9a13
+// -0.170011
+0xb171
+// 0.299474
+0x34cb
+// 0.320004
+0x351f
+// -0.262998
+0xb435
+// -0.540407
+0xb853
+// 0.058207
+0x2b73
+// -0.074119
+0xacbe
+// 0.038555
+0x28ef
+// 0.604616
+0x38d6
+// -0.266233
+0xb442
+// -0.001154
+0x94ba
+// 0.248570
+0x33f4
+// -0.158891
+0xb116
+// 0.227039
+0x3344
+// -0.238313
+0xb3a0
+// 0.081312
+0x2d34
+// -0.043106
+0xa984
+// -0.093200
+0xadf7
+// -0.460155
+0xb75d
+// -0.172221
+0xb183
+// 0.073941
+0x2cbb
+// -0.098048
+0xae46
+// 0.210509
+0x32bc
+// 0.263171
+0x3436
+// -0.602081
+0xb8d1
+// -0.161123
+0xb128
+// -0.514934
+0xb81f
+// -0.247672
+0xb3ed
+// 0.265774
+0x3441
+// 0.113245
+0x2f3f
+// 0.307910
+0x34ed
+// -0.509510
+0xb813
+// 0.502622
+0x3805
+// 0.018683
+0x24c8
+// 0.096834
+0x2e33
+// -0.225220
+0xb335
+// 0.454054
+0x3744
+// -0.121986
+0xafcf
+// 0.356939
+0x35b6
+// 0.028274
+0x273d
+// 0.300568
+0x34cf
+// 0.402008
+0x366f
+// -0.392776
+0xb649
+// 0.002429
+0x18fa
+// -0.047509
+0xaa15
+// 0.189822
+0x3213
+// 0.194145
+0x3236
+// -0.446479
+0xb725
+// 0.114799
+0x2f59
+// 0.316122
+0x350f
+// -0.179869
+0xb1c1
+// -0.334516
+0xb55a
+// -0.069046
+0xac6b
+// 0.451420
+0x3739
+// 0.479657
+0x37ad
+// -0.592085
+0xb8bd
+// 0.463278
+0x376a
+// -0.135896
+0xb059
+// 0.443050
+0x3717
+// 0.026276
+0x26ba
+// -0.100522
+0xae6f
+// 0.155296
+0x30f8
+// 0.083031
+0x2d50
+// -0.207181
+0xb2a1
+// 0.482804
+0x37ba
+// -0.509644
+0xb814
+// 0.376403
+0x3606
+// 0.219652
+0x3307
+// -0.371161
+0xb5f0
+// 0.096805
+0x2e32
+// -0.133227
+0xb043
+// -0.255326
+0xb416
+// -0.154125
+0xb0ef
+// -0.103602
+0xaea1
+// 0.231580
+0x3369
+// 0.021111
+0x2568
+// 0.458185
+0x3755
+// -0.033604
+0xa84d
+// 0.187665
+0x3201
+// -0.024209
+0xa633
+// 0.049201
+0x2a4c
+// -0.180665
+0xb1c8
+// 0.042936
+0x297f
+// 0.103140
+0x2e9a
+// 0.100375
+0x2e6d
+// 0.070479
+0x2c83
+// 0.736949
+0x39e5
+// 0.041394
+0x294c
+// -0.100676
+0xae71
+// 0.016581
+0x243f
+// -0.330810
+0xb54b
+// -0.587756
+0xb8b4
+// -0.397046
+0xb65a
+// -0.038243
+0xa8e5
+// -0.221802
+0xb319
+// 0.514448
+0x381e
+// -0.057991
+0xab6c
+// -0.323970
+0xb52f
+// 0.585663
+0x38af
+// -0.197495
+0xb252
+// -0.255209
+0xb415
+// 0.627848
+0x3906
+// -0.295600
+0xb4bb
+// 0.132210
+0x303b
+// 0.463094
+0x3769
+// -0.077694
+0xacf9
+// -0.236642
+0xb393
+// -0.282782
+0xb486
+// 0.156575
+0x3103
+// -0.133825
+0xb048
+// 0.449548
+0x3731
+// -0.240235
+0xb3b0
+// 0.420167
+0x36b9
+// 0.067121
+0x2c4c
+// -0.212303
+0xb2cb
+// -0.310546
+0xb4f8
+// -0.254224
+0xb411
+// 0.348757
+0x3595
+// 0.642707
+0x3924
+// 0.076302
+0x2ce2
+// -0.318932
+0xb51a
+// 0.249510
+0x33fc
+// 0.068243
+0x2c5e
+// -0.019351
+0xa4f4
+// -0.063660
+0xac13
+// -0.249578
+0xb3fd
+// 0.329295
+0x3545
+// 0.448665
+0x372e
+// -0.085364
+0xad77
+// 0.258725
+0x3424
+// 0.053050
+0x2aca
+// -0.168605
+0xb165
+// -0.414261
+0xb6a1
+// -0.265915
+0xb441
+// -0.059652
+0xaba3
+// -0.033108
+0xa83d
+// 0.225358
+0x3336
+// -0.030176
+0xa7ba
+// -0.347673
+0xb590
+// -0.463203
+0xb769
+// 0.212549
+0x32cd
+// 0.656883
+0x3941
+// -0.156167
+0xb0ff
+// 0.447759
+0x372a
+// 0.001110
+0x148c
+// -0.630194
+0xb90b
+// 0.322671
+0x352a
+// 0.199393
+0x3261
+// 0.002742
+0x199d
+// 0.343563
+0x357f
+// -0.196442
+0xb249
+// -0.518408
+0xb826
+// -0.503894
+0xb808
+// -0.655758
+0xb93f
+// -0.226062
+0xb33c
+// 0.314036
+0x3506
+// 0.354467
+0x35ac
+// 0.087472
+0x2d99
+// 0.284255
+0x348c
+// -0.396826
+0xb659
+// -0.101785
+0xae84
+// -0.215330
+0xb2e4
+// -0.230938
+0xb364
+// 0.217433
+0x32f5
+// 0.075816
+0x2cda
+// -0.409946
+0xb68f
+// 0.100349
+0x2e6c
+// -0.646430
+0xb92c
+// 0.099192
+0x2e59
+// 0.369702
+0x35ea
+// -0.268782
+0xb44d
+// 0.346934
+0x358d
+// 0.424279
+0x36ca
+// -0.295862
+0xb4bc
+// 0.298933
+0x34c8
+// -0.112446
+0xaf32
+// -0.501285
+0xb803
+// -0.101086
+0xae78
+// 0.001803
+0x1763
+// 0.527563
+0x3838
+// 0.428614
+0x36dc
+// -0.232720
+0xb372
+// -0.694835
+0xb98f
+// 0.297407
+0x34c2
+// -0.122316
+0xafd4
+// -0.037377
+0xa8c9
+// -0.008454
+0xa054
+// -0.204271
+0xb289
+// -0.343716
+0xb580
+// 0.636435
+0x3917
+// -0.033070
+0xa83c
+// 0.469429
+0x3783
+// -0.223390
+0xb326
+// 0.062150
+0x2bf5
+// -0.206781
+0xb29e
+// -0.300330
+0xb4ce
+// 0.131738
+0x3037
+// 0.024176
+0x2630
+// 0.029055
+0x2770
+// 0.340581
+0x3573
+// -0.182719
+0xb1d9
+// 0.110684
+0x2f15
+// 0.115789
+0x2f69
+// -0.540347
+0xb853
+// 0.359545
+0x35c1
+// 0.112414
+0x2f32
+// 0.726437
+0x39d0
+// 0.389390
+0x363b
+// 0.313551
+0x3504
+// -0.263158
+0xb436
+// 0.141517
+0x3087
+// 0.256138
+0x3419
+// 0.161987
+0x312f
+// -0.206960
+0xb29f
+// -0.139638
+0xb078
+// -0.437583
+0xb700
+// 0.117780
+0x2f8a
+// -0.002705
+0x998a
+// -0.164580
+0xb144
+// -0.045797
+0xa9dd
+// 0.248310
+0x33f2
+// -0.273706
+0xb461
+// -0.267339
+0xb447
+// -0.417164
+0xb6ad
+// -0.614859
+0xb8eb
+// 0.477775
+0x37a5
+// -0.007943
+0xa011
+// -0.258851
+0xb424
+// 0.354389
+0x35ac
+// 0.186019
+0x31f4
+// -0.190869
+0xb21c
+// 0.530432
+0x383e
+// -0.518558
+0xb826
+// 0.547056
+0x3860
+// 0.344651
+0x3584
+// 0.227245
+0x3346
+// 0.442920
+0x3716
+// 0.196610
+0x324b
+// -0.082866
+0xad4e
+// 0.156755
+0x3104
+// 0.142471
+0x308f
+// 0.113620
+0x2f46
+// -0.265392
+0xb43f
+// 0.020556
+0x2543
+// 0.175734
+0x31a0
+// -0.163786
+0xb13e
+// 0.489552
+0x37d5
+// 0.347043
+0x358d
+// -0.251918
+0xb408
+// 0.196413
+0x3249
+// 0.398235
+0x365f
+// -0.045876
+0xa9df
+// -0.198670
+0xb25c
+// -0.662086
+0xb94c
+// -0.216180
+0xb2eb
+// 0.378199
+0x360d
+// 0.171231
+0x317b
+// 0.002357
+0x18d4
+// 0.399759
+0x3665
+// 0.542468
+0x3857
+// 0.434624
+0x36f4
+// 0.799161
+0x3a65
+// -0.030315
+0xa7c3
+// 0.104499
+0x2eb0
+// -0.386718
+0xb630
+// 0.328878
+0x3543
+// -0.245869
+0xb3de
+// -0.002949
+0x9a0a
+// 0.016188
+0x2425
+// -0.068562
+0xac63
+// -0.027635
+0xa713
+// -0.360081
+0xb5c3
+// 0.199670
+0x3264
+// 0.104762
+0x2eb4
+// 0.315966
+0x350e
+// -0.483905
+0xb7be
+// 0.138156
+0x306c
+// -0.082457
+0xad47
+// 0.221258
+0x3315
+// -0.041646
+0xa955
+// 0.054871
+0x2b06
+// -0.037552
+0xa8cf
+// 0.280580
+0x347d
+// -0.012928
+0xa29f
+// 0.017621
+0x2483
+// 0.270779
+0x3455
+// 0.092040
+0x2de4
+// 0.249457
+0x33fc
+// -0.068754
+0xac66
+// -0.322740
+0xb52a
+// 0.285034
+0x348f
+// -0.577785
+0xb89f
+// -0.303598
+0xb4dc
+// -0.124527
+0xaff8
+// 0.892914
+0x3b25
+// 0.421294
+0x36be
+// -0.630085
+0xb90a
+// 0.451145
+0x3738
+// -0.123244
+0xafe3
+// 0.157497
+0x310a
+// 0.203990
+0x3287
+// -0.353675
+0xb5a9
+// -0.231524
+0xb369
+// -0.516960
+0xb823
+// 0.469582
+0x3783
+// 0.032912
+0x2836
+// 0.217215
+0x32f3
+// -0.251532
+0xb406
+// 0.095811
+0x2e22
+// 0.154363
+0x30f1
+// -0.072350
+0xaca1
+// 0.004143
+0x1c3e
+// 0.202838
+0x327e
+// -0.094680
+0xae0f
+// 0.680381
+0x3971
+// 0.529706
+0x383d
+// -0.078789
+0xad0b
+// 0.214551
+0x32de
+// -0.036848
+0xa8b7
+// 0.115474
+0x2f64
+// -0.272761
+0xb45d
+// 0.356117
+0x35b3
+// 0.030035
+0x27b0
+// 0.101197
+0x2e7a
+// -0.196892
+0xb24d
+// 0.187928
+0x3204
+// 0.226150
+0x333d
+// 0.337854
+0x3568
+// -0.055737
+0xab22
+// -0.373451
+0xb5fa
+// 0.016756
+0x244a
+// 0.404115
+0x3677
+// -0.563303
+0xb882
+// -0.011838
+0xa210
+// -0.305914
+0xb4e5
+// -0.222097
+0xb31b
+// -0.495291
+0xb7ed
+// 0.077748
+0x2cfa
+// 0.053596
+0x2adc
+// 0.002820
+0x19c6
+// -0.249606
+0xb3fd
+// 0.229827
+0x335b
+// 0.371430
+0x35f1
+// -0.124849
+0xaffe
+// 0.067368
+0x2c50
+// -0.042608
+0xa974
+// -0.117387
+0xaf83
+// -0.244968
+0xb3d7
+// 0.081588
+0x2d39
+// -0.190651
+0xb21a
+// 0.175301
+0x319c
+// -0.031434
+0xa806
+// -0.246687
+0xb3e5
+// -0.007789
+0x9ffa
+// -0.097024
+0xae36
+// -0.109705
+0xaf05
+// 0.097923
+0x2e44
+// -0.184250
+0xb1e5
+// 0.100905
+0x2e75
+// 0.432480
+0x36eb
+// -0.423106
+0xb6c5
+// 0.076574
+0x2ce7
+// 0.683714
+0x3978
+// 0.733011
+0x39dd
+// -0.034261
+0xa863
+// -0.074860
+0xaccb
+// 0.102278
+0x2e8c
+// 0.553615
+0x386e
+// 0.849621
+0x3acc
+// -0.189615
+0xb211
+// 0.470799
+0x3788
+// 0.143437
+0x3097
+// -0.569414
+0xb88e
+// 0.529095
+0x383c
+// 0.401858
+0x366e
+// -0.194467
+0xb239
+// 0.591105
+0x38bb
+// -0.226821
+0xb342
+// -0.040261
+0xa927
+// 0.017288
+0x246d
+// -0.222487
+0xb31f
+// -0.120238
+0xafb2
+// -0.341168
+0xb575
+// 0.647356
+0x392e
+// -0.160152
+0xb120
+// -0.719981
+0xb9c3
+// -0.369296
+0xb5e9
+// -0.560332
+0xb87c
+// 0.071839
+0x2c99
+// -0.406817
+0xb682
+// 0.103691
+0x2ea3
+// 0.101843
+0x2e85
+// 0.031227
+0x27ff
+// -0.265074
+0xb43e
+// 0.031390
+0x2805
+// 0.433635
+0x36f0
+// 0.155129
+0x30f7
+// 0.062640
+0x2c02
+// 0.009651
+0x20f1
+// 0.118446
+0x2f95
+// 0.147922
+0x30bc
+// 0.375447
+0x3602
+// 0.194315
+0x3238
+// 0.321011
+0x3523
+// 0.174279
+0x3194
+// -0.175482
+0xb19e
+// -0.133351
+0xb044
+// 0.150630
+0x30d2
+// 0.435450
+0x36f8
+// -0.161657
+0xb12c
+// -0.209377
+0xb2b3
+// 0.308319
+0x34ef
+// 0.470504
+0x3787
+// -0.200494
+0xb26a
+// -0.388264
+0xb636
+// 0.870192
+0x3af6
+// 0.294633
+0x34b7
+// 0.208634
+0x32ad
+// 0.517423
+0x3824
+// 0.046931
+0x2a02
+// -0.416718
+0xb6ab
+// -0.204985
+0xb28f
+// 0.018575
+0x24c1
+// -0.026251
+0xa6b8
+// -0.181443
+0xb1ce
+// 0.052918
+0x2ac6
+// -0.758408
+0xba11
+// 0.343321
+0x357e
+// 0.039431
+0x290c
+// 0.316772
+0x3511
+// -0.463980
+0xb76c
+// -0.171250
+0xb17b
+// -0.071273
+0xac90
+// 0.270076
+0x3452
+// -0.053652
+0xaade
+// -0.069609
+0xac74
+// 0.106420
+0x2ed0
+// 0.289819
+0x34a3
+// -0.568784
+0xb88d
+// -0.254731
+0xb413
+// 0.119606
+0x2fa8
+// 0.113282
+0x2f40
+// -0.392450
+0xb647
+// -0.056172
+0xab31
+// -0.130868
+0xb030
+// -0.252943
+0xb40c
+// 0.038384
+0x28ea
+// 0.076370
+0x2ce3
+// -0.031695
+0xa80f
+// 0.202012
+0x3277
+// 0.824879
+0x3a99
+// 0.192694
+0x322b
+// -0.383234
+0xb622
+// 0.051657
+0x2a9d
+// 0.504834
+0x380a
+// -0.056611
+0xab3f
+// 0.103256
+0x2e9c
+// 0.124971
+0x3000
+// -0.046205
+0xa9ea
+// 0.396873
+0x365a
+// 0.114870
+0x2f5a
+// -0.235323
+0xb388
+// 0.151078
+0x30d6
+// -0.316824
+0xb512
+// -0.139572
+0xb077
+// -0.060707
+0xabc5
+// -0.012395
+0xa259
+// 0.037985
+0x28dd
+// 0.381868
+0x361c
+// 0.291450
+0x34aa
+// -0.243558
+0xb3cb
+// 0.077298
+0x2cf2
+// 0.077097
+0x2cef
+// 0.013753
+0x230b
+// -0.140413
+0xb07e
+// 0.240622
+0x33b3
+// 0.371917
+0x35f3
+// -0.234555
+0xb381
+// -0.244467
+0xb3d3
+// 0.633963
+0x3912
+// 0.395795
+0x3655
+// -0.143091
+0xb094
+// 0.309175
+0x34f2
+// 0.299710
+0x34cc
+// 0.102696
+0x2e93
+// -0.032203
+0xa81f
+// -0.369344
+0xb5e9
+// 0.336617
+0x3563
+// -0.325903
+0xb537
+// -0.252185
+0xb409
+// -0.594227
+0xb8c1
+// 0.168940
+0x3168
+// 0.008743
+0x207a
+// -0.148656
+0xb0c2
+// -0.241635
+0xb3bb
+// 0.167863
+0x315f
+// -0.316839
+0xb512
+// -0.252003
+0xb408
+// 0.013748
+0x230a
+// 0.103689
+0x2ea3
+// -0.419558
+0xb6b7
+// 0.277335
+0x3470
+// -0.314659
+0xb509
+// 0.535405
+0x3849
+// -0.038788
+0xa8f7
+// 0.180787
+0x31c9
+// 0.073029
+0x2cad
+// -0.481028
+0xb7b2
+// -0.009065
+0xa0a4
+// 0.145278
+0x30a6
+// -0.126059
+0xb009
+// -0.167218
+0xb15a
+// 0.114729
+0x2f58
+// -0.277576
+0xb471
+// -0.096144
+0xae27
+// -0.262861
+0xb435
+// -0.185629
+0xb1f1
+// -0.342496
+0xb57b
+// 0.140761
+0x3081
+// -0.484239
+0xb7bf
+// -0.406008
+0xb67f
+// 0.031653
+0x280d
+// -0.539875
+0xb852
+// -0.492521
+0xb7e1
+// -0.001696
+0x96f3
+// 0.089270
+0x2db7
+// 0.239404
+0x33a9
+// -0.013661
+0xa2ff
+// -0.301032
+0xb4d1
+// 0.188888
+0x320b
+// 0.215995
+0x32e9
+// -0.149889
+0xb0cc
+// -0.488073
+0xb7cf
+// -0.180139
+0xb1c4
+// 0.425532
+0x36cf
+// 0.259333
+0x3426
+// 0.378727
+0x360f
+// 0.077127
+0x2cf0
+// 0.171263
+0x317b
+// -0.041042
+0xa941
+// -0.086297
+0xad86
+// 0.118490
+0x2f95
+// -0.411054
+0xb694
+// -0.259535
+0xb427
+// 0.570533
+0x3890
+// -0.278848
+0xb476
+// -0.169082
+0xb169
+// -0.009279
+0xa0c0
+// -0.262897
+0xb435
+// 0.071589
+0x2c95
+// 0.125624
+0x3005
+// 1.000000
+0x3c00
+// -0.180881
+0xb1ca
+// -0.090822
+0xadd0
+// -0.034257
+0xa863
+// -0.109049
+0xaefb
+// 0.538431
+0x384f
+// 0.907954
+0x3b43
+// 0.082119
+0x2d41
+// 0.240632
+0x33b3
+// -0.278110
+0xb473
+// -0.106508
+0xaed1
+// 0.111519
+0x2f23
+// 0.358089
+0x35bb
+// -0.029911
+0xa7a8
+// 0.451326
+0x3739
+// 0.045016
+0x29c3
+// -0.800640
+0xba68
+// 0.220420
+0x330e
+// 0.775124
+0x3a33
+// -0.037231
+0xa8c4
+// 0.182187
+0x31d4
+// 0.060697
+0x2bc5
+// 0.381974
+0x361d
+// 0.149913
+0x30cc
+// -0.389410
+0xb63b
+// -0.141451
+0xb087
+// 0.455395
+0x3749
+// 0.042953
+0x297f
+// -0.569529
+0xb88e
+// -0.030610
+0xa7d6
+// -0.354213
+0xb5ab
+// -0.212104
+0xb2ca
+// -0.216917
+0xb2f1
+// -0.483993
+0xb7be
+// 0.142179
+0x308d
+// -0.138646
+0xb070
+// 0.287960
+0x349b
+// -0.132454
+0xb03d
+// 0.027856
+0x2722
+// 0.194610
+0x323a
+// -0.306840
+0xb4e9
+// 0.773273
+0x3a30
+// -0.288161
+0xb49c
+// -0.705338
+0xb9a5
+// -0.129788
+0xb027
+// -0.018903
+0xa4d7
+// 0.028951
+0x2769
+// 0.004668
+0x1cc8
+// 0.489873
+0x37d7
+// -0.323267
+0xb52c
+// 0.190320
+0x3217
+// 0.190327
+0x3217
+// -0.136593
+0xb05f
+// 0.224647
+0x3330
+// -0.206372
+0xb29b
+// 0.252381
+0x340a
+// -0.052061
+0xaaaa
+// -0.038042
+0xa8df
+// 0.067452
+0x2c51
+// -0.149039
+0xb0c5
+// -0.025209
+0xa674
+// -0.004181
+0x9c48
+// 0.284496
+0x348d
+// 0.247258
+0x33ea
+// -0.435456
+0xb6f8
+// 0.016608
+0x2440
+// 0.143538
+0x3098
+// -0.139120
+0xb074
+// 0.195331
+0x3240
+// 0.040193
+0x2925
+// -0.345086
+0xb585
+// -0.079842
+0xad1c
+// 0.213797
+0x32d7
+// -0.495887
+0xb7ef
+// -0.234001
+0xb37d
+// 0.767872
+0x3a25
+// -0.479327
+0xb7ab
+// 0.626512
+0x3903
+// 0.491572
+0x37dd
+// -0.129413
+0xb024
+// 0.283752
+0x348a
+// -0.605375
+0xb8d8
+// -0.128903
+0xb020
+// 0.368903
+0x35e7
+// -0.034785
+0xa874
+// 0.120797
+0x2fbb
+// -0.205739
+0xb295
+// 0.287384
+0x3499
+// -0.129271
+0xb023
+// 0.276482
+0x346c
+// 0.619530
+0x38f5
+// -0.268860
+0xb44d
+// -0.206108
+0xb298
+// -0.324209
+0xb530
+// 0.361322
+0x35c8
+// 0.193773
+0x3233
+// 0.254482
+0x3412
+// -0.031510
+0xa809
+// -0.814695
+0xba84
+// -0.356238
+0xb5b3
+// -0.039606
+0xa912
+// 0.171068
+0x3179
+// -0.265030
+0xb43e
+// 0.025851
+0x269e
+// 0.563095
+0x3881
+// -0.178552
+0xb1b7
+// -0.001786
+0x9751
+// -0.693044
+0xb98b
+// 0.377752
+0x360b
+// -0.162717
+0xb135
+// -0.252591
+0xb40b
+// -0.479605
+0xb7ac
+// 0.047623
+0x2a19
+// -0.019766
+0xa50f
+// 0.141526
+0x3087
+// 0.348778
+0x3595
+// 0.136816
+0x3061
+// -0.048522
+0xaa36
+// -0.213476
+0xb2d5
+// 0.050944
+0x2a85
+// -0.001354
+0x958c
+// -0.600504
+0xb8ce
+// -0.022378
+0xa5bb
+// 0.358429
+0x35bc
+// 0.753351
+0x3a07
+// 0.238222
+0x33a0
+// 0.041903
+0x295d
+// 0.227462
+0x3347
+// 0.227959
+0x334b
+// -0.057090
+0xab4f
+// -0.291552
+0xb4aa
+// -0.056480
+0xab3b
+// 0.080432
+0x2d26
+// -0.134498
+0xb04e
+// -0.531703
+0xb841
+// -0.088864
+0xadb0
+// -0.188198
+0xb206
+// 0.181122
+0x31cc
+// 0.347342
+0x358f
+// -0.009942
+0xa117
+// 0.802550
+0x3a6c
+// 0.303430
+0x34db
+// 0.174662
+0x3197
+// 0.173854
+0x3190
+// 0.488797
+0x37d2
+// -0.008274
+0xa03c
+// -0.009781
+0xa102
+// -0.486953
+0xb7cb
+// -0.532557
+0xb843
+// 0.043158
+0x2986
+// 0.020656
+0x254a
+// -0.606181
+0xb8d9
+// -0.068052
+0xac5b
+// 0.254332
+0x3412
+// -0.014428
+0xa363
+// -0.119608
+0xafa8
+// 0.265606
+0x3440
+// 0.161764
+0x312d
+// -0.454236
+0xb745
+// -0.300770
+0xb4d0
+// 0.127624
+0x3015
+// -0.040073
+0xa921
+// -0.023201
+0xa5f1
+// 0.113135
+0x2f3e
+// -0.268646
+0xb44c
+// -0.136720
+0xb060
+// 0.268224
+0x344b
+// 0.103222
+0x2e9b
+// -0.166941
+0xb158
+// 0.290046
+0x34a4
+// 0.388827
+0x3639
+// 0.014379
+0x235d
+// -0.160478
+0xb123
+// 0.134744
+0x3050
+// 0.101732
+0x2e83
+// -0.232151
+0xb36e
+// 0.076393
+0x2ce4
+// 0.046369
+0x29ef
+// -0.048301
+0xaa2f
+// 0.437886
+0x3702
+// -0.245962
+0xb3df
+// -0.805987
+0xba73
+// -0.019317
+0xa4f2
+// 0.394669
+0x3651
+// -0.291422
+0xb4aa
+// 0.513880
+0x381c
+// 0.327461
+0x353d
+// -0.073774
+0xacb9
+// 0.080221
+0x2d22
+// 0.039579
+0x2911
+// 0.425355
+0x36ce
+// -0.411379
+0xb695
+// 0.188515
+0x3208
+// 0.700095
+0x399a
+// 0.288299
+0x349d
+// 0.126787
+0x300f
+// -0.182028
+0xb1d3
+// 0.129219
+0x3023
+// 0.164464
+0x3143
+// -0.003172
+0x9a7f
+// -0.124689
+0xaffb
+// -0.467658
+0xb77c
+// 0.129093
+0x3022
+// -0.371245
+0xb5f1
+// 0.456268
+0x374d
+// 0.251821
+0x3407
+// -0.374322
+0xb5fd
+// 0.170953
+0x3178
+// 0.023528
+0x2606
+// -0.080028
+0xad1f
+// 0.038411
+0x28eb
+// -0.739465
+0xb9ea
+// 0.159549
+0x311b
+// -0.397710
+0xb65d
+// 0.027864
+0x2722
+// 0.122707
+0x2fda
+// 0.055102
+0x2b0e
+// 0.252715
+0x340b
+// 0.460226
+0x375d
+// 0.362832
+0x35ce
+// -0.245256
+0xb3d9
+// 0.061759
+0x2be8
+// -0.130098
+0xb02a
+// -0.203163
+0xb280
+// -0.480767
+0xb7b1
+// -0.058831
+0xab88
+// 0.213407
+0x32d4
+// 0.007721
+0x1fe8
+// 0.115492
+0x2f64
+// 0.138152
+0x306c
+// 0.589876
+0x38b8
+// -0.021957
+0xa59f
+// -0.237081
+0xb396
+// -0.329128
+0xb544
+// 0.246015
+0x33df
+// -0.347025
+0xb58d
+// -0.237145
+0xb397
+// -0.305968
+0xb4e5
+// 0.048954
+0x2a44
+// 0.147550
+0x30b9
+// -0.361334
+0xb5c8
+// 0.251698
+0x3407
+// -0.727047
+0xb9d1
+// 0.345582
+0x3588
+// -0.615631
+0xb8ed
+// -0.475185
+0xb79a
+// -0.416429
+0xb6aa
+// -0.010074
+0xa128
+// 0.170024
+0x3171
+// -0.295605
+0xb4bb
+// 0.001104
+0x1485
+// -0.065628
+0xac33
+// -0.018052
+0xa49f
+// 0.096164
+0x2e28
+// 0.142416
+0x308f
+// 0.088652
+0x2dac
+// -0.402550
+0xb671
+// 0.281907
+0x3483
+// -0.098948
+0xae55
+// -0.042128
+0xa964
+// -0.269574
+0xb450
+// -0.378136
+0xb60d
+// -0.285903
+0xb493
+// 0.040433
+0x292d
+// -0.014206
+0xa346
+// 0.313333
+0x3503
+// -0.086529
+0xad8a
+// -0.261730
+0xb430
+// -0.181748
+0xb1d1
+// 0.171376
+0x317c
+// -0.549890
+0xb866
+// 0.015783
+0x240a
+// -0.589085
+0xb8b6
+// 0.002722
+0x1993
+// -0.726849
+0xb9d1
+// 0.569582
+0x388f
+// 0.256851
+0x341c
+// 0.203482
+0x3283
+// 0.034145
+0x285f
+// 0.077947
+0x2cfd
+// 0.521183
+0x382b
+// 0.274761
+0x3465
+// 0.015394
+0x23e2
+// 0.117662
+0x2f88
+// 0.232250
+0x336f
+// 0.017161
+0x2465
+// -0.403623
+0xb675
+// 0.096380
+0x2e2b
+// 0.201698
+0x3274
+// -0.118952
+0xaf9d
+// 0.551127
+0x3869
+// -0.174052
+0xb192
+// -0.205555
+0xb294
+// -0.050465
+0xaa76
+// -0.156790
+0xb104
+// 0.124933
+0x2fff
+// -0.346168
+0xb58a
+// 0.125530
+0x3004
+// -0.203366
+0xb282
+// -0.222446
+0xb31e
+// -0.076900
+0xacec
+// -0.097509
+0xae3e
+// 0.017829
+0x2490
+// 0.476229
+0x379f
+// -0.238528
+0xb3a2
+// -0.683472
+0xb978
+// -0.326428
+0xb539
+// -0.071529
+0xac94
+// 0.008482
+0x2058
+// 0.044346
+0x29ad
+// -0.088888
+0xadb0
+// 0.545436
+0x385d
+// 0.361032
+0x35c7
+// 0.019058
+0x24e1
+// -0.262298
+0xb432
+// 0.047519
+0x2a15
+// -0.424253
+0xb6ca
+// -0.077810
+0xacfb
+// 0.050700
+0x2a7d
+// -0.463491
+0xb76a
+// -0.352822
+0xb5a5
+// 0.296580
+0x34bf
+// -0.397783
+0xb65d
+// -0.205125
+0xb290
+// 0.053216
+0x2ad0
+// -0.146020
+0xb0ac
+// -0.436935
+0xb6fe
+// -0.304506
+0xb4df
+// 0.046419
+0x29f1
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_256_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_256_1_f16.txt
new file mode 100755
index 0000000..0eee262
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_256_1_f16.txt
@@ -0,0 +1,514 @@
+H
+256
+// 0.651351
+0x3936
+// -0.159919
+0xb11e
+// 0.472620
+0x3790
+// 0.298452
+0x34c6
+// -0.909062
+0xbb46
+// -0.334639
+0xb55b
+// -0.957140
+0xbba8
+// 0.737558
+0x39e7
+// -0.429820
+0xb6e1
+// 0.291110
+0x34a8
+// -0.197579
+0xb253
+// -0.060493
+0xabbe
+// -0.339184
+0xb56d
+// -0.140670
+0xb080
+// -0.224036
+0xb32b
+// -0.180058
+0xb1c3
+// -0.430940
+0xb6e5
+// -0.013360
+0xa2d7
+// -0.426466
+0xb6d3
+// 0.491511
+0x37dd
+// -0.175832
+0xb1a0
+// -0.103659
+0xaea2
+// -0.561266
+0xb87d
+// -0.225686
+0xb339
+// 0.057522
+0x2b5d
+// 0.493119
+0x37e4
+// -0.429683
+0xb6e0
+// -0.010633
+0xa172
+// -0.021098
+0xa567
+// 0.087809
+0x2d9f
+// -0.040429
+0xa92d
+// 0.123426
+0x2fe6
+// 0.772088
+0x3a2d
+// 0.045759
+0x29db
+// 0.249881
+0x33ff
+// 0.124251
+0x2ff4
+// -0.175216
+0xb19b
+// 0.622840
+0x38fc
+// 0.060416
+0x2bbc
+// -0.435381
+0xb6f7
+// -0.313553
+0xb504
+// 0.299365
+0x34ca
+// 0.066021
+0x2c3a
+// -0.391025
+0xb642
+// 0.419884
+0x36b8
+// 0.068105
+0x2c5c
+// -0.140990
+0xb083
+// -0.332668
+0xb553
+// 0.126909
+0x3010
+// -0.608431
+0xb8de
+// 0.092473
+0x2deb
+// -0.614935
+0xb8eb
+// 0.023997
+0x2625
+// 0.176081
+0x31a2
+// -0.160686
+0xb124
+// 0.622415
+0x38fb
+// -0.288473
+0xb49e
+// 0.167029
+0x3158
+// -0.161330
+0xb12a
+// -0.204897
+0xb28f
+// -0.018612
+0xa4c4
+// -0.457820
+0xb753
+// -0.159584
+0xb11b
+// 0.556137
+0x3873
+// 0.012168
+0x223b
+// -0.176035
+0xb1a2
+// -0.766406
+0xba22
+// -0.272770
+0xb45d
+// 0.219833
+0x3309
+// -0.115763
+0xaf69
+// -0.647071
+0xb92d
+// -0.340366
+0xb572
+// -0.135831
+0xb059
+// -0.532532
+0xb843
+// -0.189133
+0xb20d
+// -0.357618
+0xb5b9
+// -0.185971
+0xb1f3
+// 0.055489
+0x2b1a
+// -0.080755
+0xad2b
+// -0.060217
+0xabb5
+// -0.026644
+0xa6d2
+// 0.519728
+0x3828
+// -0.098612
+0xae50
+// -0.261454
+0xb42f
+// -0.161164
+0xb128
+// -0.918906
+0xbb5a
+// 0.203340
+0x3282
+// 0.062027
+0x2bf1
+// 0.137522
+0x3067
+// 0.670846
+0x395e
+// -0.507953
+0xb810
+// -0.180967
+0xb1ca
+// -0.178607
+0xb1b7
+// -0.133838
+0xb048
+// 0.113238
+0x2f3f
+// -0.167037
+0xb158
+// 0.327849
+0x353f
+// 0.296052
+0x34bd
+// -0.087033
+0xad92
+// 0.604596
+0x38d6
+// 0.865607
+0x3aed
+// 0.378973
+0x3610
+// -0.271438
+0xb458
+// 0.172540
+0x3185
+// 0.612656
+0x38e7
+// 0.362125
+0x35cb
+// 0.132841
+0x3040
+// 0.326161
+0x3538
+// 0.262743
+0x3434
+// -0.807064
+0xba75
+// 0.460359
+0x375e
+// 0.103901
+0x2ea6
+// 0.054028
+0x2aea
+// 0.190485
+0x3218
+// 0.480489
+0x37b0
+// -0.103955
+0xaea7
+// -0.122704
+0xafda
+// 0.058963
+0x2b8c
+// -0.180357
+0xb1c5
+// -0.115861
+0xaf6a
+// -0.186061
+0xb1f4
+// 0.295376
+0x34ba
+// 0.115507
+0x2f64
+// -0.299319
+0xb4ca
+// -0.431815
+0xb6e9
+// 0.159384
+0x311a
+// -0.355006
+0xb5ae
+// 0.209524
+0x32b4
+// -0.548384
+0xb863
+// -0.032045
+0xa81a
+// -0.170561
+0xb175
+// 0.395856
+0x3655
+// -0.439022
+0xb706
+// -0.554586
+0xb870
+// 0.675199
+0x3967
+// -0.399747
+0xb665
+// -0.564866
+0xb885
+// -0.257357
+0xb41e
+// -0.234934
+0xb385
+// 0.315039
+0x350a
+// -0.474671
+0xb798
+// 0.460690
+0x375f
+// -0.167693
+0xb15e
+// 0.160740
+0x3125
+// 0.293621
+0x34b3
+// 0.012954
+0x22a2
+// 0.024336
+0x263b
+// 0.246536
+0x33e4
+// -0.292200
+0xb4ad
+// -0.229237
+0xb356
+// 0.581892
+0x38a8
+// -0.290630
+0xb4a6
+// -0.114358
+0xaf52
+// 0.143827
+0x309a
+// -0.596524
+0xb8c6
+// 0.149309
+0x30c7
+// -0.287279
+0xb499
+// 0.292386
+0x34ae
+// 0.282049
+0x3483
+// 0.199314
+0x3261
+// -0.145206
+0xb0a6
+// -0.007418
+0x9f99
+// 0.002104
+0x184f
+// -0.070278
+0xac7f
+// -0.331321
+0xb54d
+// -0.337064
+0xb565
+// 0.241841
+0x33bd
+// -0.657843
+0xb943
+// -0.108504
+0xaef2
+// 0.284995
+0x348f
+// -0.019712
+0xa50c
+// 0.215097
+0x32e2
+// -0.453379
+0xb741
+// -0.780807
+0xba3f
+// 0.219002
+0x3302
+// 0.247271
+0x33ea
+// 0.922375
+0x3b61
+// 0.499520
+0x37fe
+// -0.676085
+0xb969
+// 0.287909
+0x349b
+// -0.175418
+0xb19d
+// 0.634792
+0x3914
+// 0.373048
+0x35f8
+// 0.536138
+0x384a
+// -0.453390
+0xb741
+// -0.318982
+0xb51b
+// 0.421646
+0x36bf
+// 0.243910
+0x33ce
+// 0.464730
+0x3770
+// 0.460676
+0x375f
+// 0.289985
+0x34a4
+// 0.371922
+0x35f3
+// -0.484633
+0xb7c1
+// -0.044184
+0xa9a8
+// 0.122215
+0x2fd2
+// -0.445449
+0xb721
+// -0.274381
+0xb464
+// -0.471374
+0xb78b
+// 0.376538
+0x3606
+// 1.000000
+0x3c00
+// 0.118789
+0x2f9a
+// -0.206356
+0xb29a
+// -0.128719
+0xb01e
+// 0.320831
+0x3522
+// -0.413969
+0xb6a0
+// 0.160744
+0x3125
+// -0.276643
+0xb46d
+// -0.188797
+0xb20b
+// -0.194768
+0xb23c
+// -0.600723
+0xb8ce
+// 0.515254
+0x381f
+// -0.357542
+0xb5b8
+// -0.300846
+0xb4d0
+// 0.189894
+0x3214
+// -0.065683
+0xac34
+// 0.279304
+0x3478
+// -0.064758
+0xac25
+// -0.206261
+0xb29a
+// -0.084869
+0xad6e
+// 0.308630
+0x34f0
+// 0.430592
+0x36e4
+// -0.169981
+0xb170
+// 0.094479
+0x2e0c
+// -0.202905
+0xb27e
+// 0.046133
+0x29e8
+// 0.657003
+0x3942
+// -0.567034
+0xb889
+// 0.405136
+0x367b
+// 0.454598
+0x3746
+// -0.048686
+0xaa3b
+// 0.301935
+0x34d5
+// -0.279395
+0xb478
+// 0.386205
+0x362e
+// 0.143527
+0x3098
+// 0.272389
+0x345c
+// -0.446975
+0xb727
+// -0.329068
+0xb544
+// -0.291997
+0xb4ac
+// -0.258472
+0xb423
+// 0.707295
+0x39a9
+// 0.420878
+0x36bc
+// -0.044797
+0xa9bc
+// -0.329843
+0xb547
+// -0.437947
+0xb702
+// -0.334430
+0xb55a
+// -0.352021
+0xb5a2
+// -0.472394
+0xb78f
+// -0.156912
+0xb105
+// 0.145481
+0x30a8
+// 0.180909
+0x31ca
+// 0.643799
+0x3927
+// -0.293079
+0xb4b0
+// 0.248816
+0x33f6
+// -0.471216
+0xb78a
+// 0.217075
+0x32f2
+// -0.154039
+0xb0ee
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_512_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_512_1_f16.txt
new file mode 100755
index 0000000..a88378f
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCInput_512_1_f16.txt
@@ -0,0 +1,1026 @@
+H
+512
+// -0.231636
+0xb36a
+// -0.183887
+0xb1e2
+// -0.401117
+0xb66b
+// -0.563052
+0xb881
+// 0.424994
+0x36cd
+// 0.772452
+0x3a2e
+// 0.069999
+0x2c7b
+// 0.105443
+0x2ec0
+// -0.163193
+0xb139
+// -0.034352
+0xa866
+// -0.328617
+0xb542
+// -0.350043
+0xb59a
+// 0.275091
+0x3467
+// 0.293318
+0x34b1
+// 0.602456
+0x38d2
+// -0.184854
+0xb1ea
+// 0.042399
+0x296d
+// 0.116968
+0x2f7c
+// -0.118322
+0xaf93
+// -0.119346
+0xafa3
+// 0.129568
+0x3025
+// -0.156030
+0xb0fe
+// 0.414085
+0x36a0
+// 0.182326
+0x31d6
+// -0.552032
+0xb86b
+// 0.149310
+0x30c7
+// 0.267364
+0x3447
+// 0.150831
+0x30d4
+// 0.313997
+0x3506
+// 0.358918
+0x35be
+// -0.362165
+0xb5cb
+// 0.211293
+0x32c3
+// 0.234220
+0x337f
+// 0.104563
+0x2eb1
+// 0.138013
+0x306b
+// -0.194054
+0xb236
+// -0.040517
+0xa930
+// -0.055814
+0xab25
+// -0.162080
+0xb130
+// -0.224437
+0xb32f
+// -0.310607
+0xb4f8
+// -0.124094
+0xaff1
+// -0.031400
+0xa805
+// 0.037375
+0x28c9
+// 0.179993
+0x31c3
+// 0.121311
+0x2fc4
+// -0.720735
+0xb9c4
+// 0.031517
+0x2809
+// 0.273319
+0x3460
+// 0.384314
+0x3626
+// 0.238297
+0x33a0
+// 0.235158
+0x3386
+// 0.316406
+0x3510
+// -0.237281
+0xb398
+// -0.261454
+0xb42f
+// -0.313646
+0xb505
+// -0.157211
+0xb108
+// 0.401264
+0x366c
+// -0.026830
+0xa6de
+// -0.409025
+0xb68b
+// 0.503983
+0x3808
+// 0.180838
+0x31c9
+// 0.037654
+0x28d2
+// -0.725521
+0xb9ce
+// -0.048439
+0xaa33
+// 0.772257
+0x3a2e
+// 0.158753
+0x3115
+// -0.740912
+0xb9ed
+// -0.118265
+0xaf92
+// 0.180880
+0x31ca
+// -0.085450
+0xad78
+// 0.178806
+0x31b9
+// -0.457056
+0xb750
+// -0.356646
+0xb5b5
+// 0.450125
+0x3734
+// 0.056345
+0x2b36
+// 0.180748
+0x31c9
+// 0.491289
+0x37dc
+// 0.342408
+0x357b
+// -0.030827
+0xa7e4
+// 0.418134
+0x36b1
+// -0.044889
+0xa9bf
+// -0.000553
+0x9088
+// -0.015722
+0xa406
+// 0.231876
+0x336c
+// -0.201777
+0xb275
+// -0.565455
+0xb886
+// 0.400393
+0x3668
+// -0.123985
+0xafef
+// 0.089423
+0x2db9
+// 0.512095
+0x3819
+// 0.897719
+0x3b2f
+// -0.674284
+0xb965
+// 0.125345
+0x3003
+// 0.015532
+0x23f4
+// -0.101438
+0xae7e
+// 0.180072
+0x31c3
+// -0.266457
+0xb443
+// 0.144752
+0x30a2
+// 0.326830
+0x353b
+// 0.199002
+0x325e
+// -0.729026
+0xb9d5
+// -0.438399
+0xb704
+// 0.634018
+0x3912
+// -0.638944
+0xb91d
+// -0.349889
+0xb599
+// -0.125808
+0xb007
+// -0.215441
+0xb2e5
+// -0.178593
+0xb1b7
+// 0.259520
+0x3427
+// -0.196109
+0xb247
+// 0.100900
+0x2e75
+// 0.418830
+0x36b4
+// 0.144076
+0x309c
+// 0.311981
+0x34fe
+// 0.165765
+0x314e
+// -0.346480
+0xb58b
+// -0.193194
+0xb22f
+// 0.211703
+0x32c6
+// 0.011657
+0x21f8
+// -0.305595
+0xb4e4
+// 0.159473
+0x311a
+// -0.102243
+0xae8b
+// 0.097855
+0x2e43
+// -0.014593
+0xa379
+// -0.244489
+0xb3d3
+// 0.158362
+0x3111
+// 0.318016
+0x3517
+// -0.101858
+0xae85
+// 0.411622
+0x3696
+// 0.202427
+0x327a
+// 0.168849
+0x3167
+// 0.275164
+0x3467
+// 0.835203
+0x3aae
+// 0.015774
+0x240a
+// -0.055514
+0xab1b
+// -0.203640
+0xb284
+// -0.097377
+0xae3b
+// -0.044715
+0xa9b9
+// -0.019293
+0xa4f0
+// -0.016021
+0xa41a
+// -0.186003
+0xb1f4
+// 0.112081
+0x2f2c
+// -0.271300
+0xb457
+// 0.250499
+0x3402
+// 0.182520
+0x31d7
+// -0.153302
+0xb0e8
+// -0.255815
+0xb418
+// -0.218043
+0xb2fa
+// -0.301247
+0xb4d2
+// -0.181339
+0xb1ce
+// 0.061330
+0x2bda
+// 0.366419
+0x35dd
+// -0.005801
+0x9df1
+// 0.086440
+0x2d88
+// -0.039813
+0xa919
+// 0.803333
+0x3a6d
+// 0.176370
+0x31a5
+// 0.044277
+0x29ab
+// -0.027716
+0xa718
+// -0.431336
+0xb6e7
+// -0.449225
+0xb730
+// -0.085502
+0xad79
+// 0.220326
+0x330d
+// -0.418454
+0xb6b2
+// -0.589145
+0xb8b7
+// -0.219352
+0xb305
+// -0.103903
+0xaea6
+// 0.383219
+0x3622
+// -0.277696
+0xb471
+// 0.371396
+0x35f1
+// -0.382581
+0xb61f
+// 0.600527
+0x38ce
+// -0.103773
+0xaea4
+// -0.663207
+0xb94e
+// -0.243718
+0xb3cd
+// 0.064574
+0x2c22
+// 0.138998
+0x3073
+// -0.252658
+0xb40b
+// 0.191904
+0x3224
+// -0.531585
+0xb841
+// 0.264840
+0x343d
+// 0.169251
+0x316b
+// -0.148990
+0xb0c5
+// -0.264727
+0xb43c
+// 0.806894
+0x3a75
+// 0.059302
+0x2b97
+// -0.781912
+0xba41
+// -0.011293
+0xa1c8
+// 0.172562
+0x3186
+// 0.646730
+0x392d
+// -0.618511
+0xb8f3
+// -0.223280
+0xb325
+// 0.025054
+0x266a
+// 0.089687
+0x2dbd
+// 0.415791
+0x36a7
+// 0.042296
+0x296a
+// -0.135920
+0xb059
+// -0.183873
+0xb1e2
+// -0.356148
+0xb5b3
+// -0.121394
+0xafc5
+// 0.204679
+0x328d
+// 0.278571
+0x3475
+// 0.204940
+0x328f
+// 0.307626
+0x34ec
+// -0.087135
+0xad94
+// -0.432672
+0xb6ec
+// 0.553425
+0x386d
+// 0.258826
+0x3424
+// -0.256720
+0xb41c
+// -0.669907
+0xb95c
+// 0.081587
+0x2d39
+// 0.518048
+0x3825
+// -0.290616
+0xb4a6
+// -0.051628
+0xaa9c
+// -0.220807
+0xb311
+// -0.152508
+0xb0e1
+// -0.235360
+0xb388
+// -0.191313
+0xb21f
+// -0.059932
+0xabac
+// -0.253209
+0xb40d
+// 0.059014
+0x2b8e
+// 0.459835
+0x375b
+// 0.142709
+0x3091
+// -0.264251
+0xb43a
+// -0.001149
+0x94b5
+// 0.649519
+0x3932
+// -1.000000
+0xbc00
+// 0.071975
+0x2c9b
+// -0.097549
+0xae3e
+// 0.295422
+0x34ba
+// 0.671976
+0x3960
+// -0.093078
+0xadf5
+// 0.187259
+0x31fe
+// 0.013471
+0x22e6
+// -0.020836
+0xa556
+// -0.558235
+0xb877
+// -0.240012
+0xb3ae
+// -0.145295
+0xb0a6
+// 0.048179
+0x2a2b
+// -0.465023
+0xb771
+// 0.374118
+0x35fc
+// -0.562847
+0xb881
+// -0.435945
+0xb6fa
+// -0.691792
+0xb989
+// -0.158186
+0xb110
+// 0.649192
+0x3932
+// 0.200079
+0x3267
+// -0.370384
+0xb5ed
+// -0.157067
+0xb107
+// -0.135202
+0xb054
+// 0.229805
+0x335b
+// -0.529463
+0xb83c
+// -0.530246
+0xb83e
+// 0.137844
+0x3069
+// -0.456304
+0xb74d
+// -0.183143
+0xb1dc
+// 0.350117
+0x359a
+// -0.519008
+0xb827
+// -0.077878
+0xacfc
+// 0.024490
+0x2645
+// 0.461099
+0x3761
+// -0.181605
+0xb1d0
+// -0.028298
+0xa73f
+// 0.157466
+0x310a
+// 0.210051
+0x32b9
+// -0.116011
+0xaf6d
+// -0.124393
+0xaff6
+// -0.159818
+0xb11d
+// 0.078749
+0x2d0a
+// 0.108914
+0x2ef8
+// -0.192457
+0xb229
+// 0.113580
+0x2f45
+// 0.108062
+0x2eea
+// 0.036232
+0x28a3
+// -0.019078
+0xa4e2
+// -0.250245
+0xb401
+// -0.552580
+0xb86c
+// 0.227758
+0x334a
+// 0.176438
+0x31a5
+// 0.005674
+0x1dcf
+// 0.681260
+0x3973
+// -0.285516
+0xb491
+// 0.249733
+0x33fe
+// 0.045333
+0x29cd
+// 0.021704
+0x258e
+// 0.050420
+0x2a74
+// 0.153177
+0x30e7
+// 0.357392
+0x35b8
+// 0.048755
+0x2a3e
+// 0.410543
+0x3692
+// -0.291945
+0xb4ac
+// 0.073829
+0x2cba
+// -0.279390
+0xb478
+// 0.179299
+0x31bd
+// 0.076174
+0x2ce0
+// -0.601562
+0xb8d0
+// 0.060908
+0x2bcc
+// 0.156704
+0x3104
+// -0.257057
+0xb41d
+// -0.265036
+0xb43e
+// 0.105676
+0x2ec3
+// -0.087281
+0xad96
+// -0.042909
+0xa97e
+// 0.068287
+0x2c5f
+// -0.256724
+0xb41c
+// 0.085570
+0x2d7a
+// 0.184731
+0x31e9
+// -0.338640
+0xb56b
+// 0.157260
+0x3108
+// 0.128982
+0x3021
+// 0.572642
+0x3895
+// 0.384859
+0x3628
+// 0.047269
+0x2a0d
+// -0.540779
+0xb854
+// 0.106049
+0x2eca
+// 0.379883
+0x3614
+// -0.068651
+0xac65
+// 0.145079
+0x30a4
+// 0.012261
+0x2247
+// -0.182449
+0xb1d7
+// 0.201065
+0x326f
+// -0.121264
+0xafc3
+// 0.268520
+0x344c
+// 0.208339
+0x32ab
+// 0.157365
+0x3109
+// 0.222330
+0x331d
+// 0.237853
+0x339c
+// 0.303651
+0x34dc
+// -0.421471
+0xb6be
+// 0.072080
+0x2c9d
+// 0.022793
+0x25d6
+// 0.342169
+0x357a
+// -0.154737
+0xb0f4
+// 0.343342
+0x357e
+// -0.140270
+0xb07d
+// -0.045828
+0xa9de
+// 0.365321
+0x35d8
+// -0.436206
+0xb6fb
+// 0.023029
+0x25e5
+// -0.005162
+0x9d49
+// -0.188272
+0xb206
+// -0.049258
+0xaa4e
+// 0.126251
+0x300a
+// 0.106390
+0x2ecf
+// 0.619277
+0x38f4
+// 0.031403
+0x2805
+// 0.110460
+0x2f12
+// -0.334484
+0xb55a
+// -0.490587
+0xb7d9
+// -0.009374
+0xa0cd
+// -0.264153
+0xb43a
+// -0.279382
+0xb478
+// 0.044468
+0x29b1
+// 0.402490
+0x3671
+// 0.271598
+0x3458
+// -0.370422
+0xb5ed
+// -0.618572
+0xb8f3
+// 0.113971
+0x2f4b
+// 0.241517
+0x33bb
+// -0.358365
+0xb5bc
+// 0.376002
+0x3604
+// -0.167886
+0xb15f
+// 0.133703
+0x3047
+// -0.767317
+0xba23
+// 0.324257
+0x3530
+// -0.049488
+0xaa56
+// 0.224022
+0x332b
+// -0.550024
+0xb866
+// -0.130815
+0xb030
+// -0.045495
+0xa9d3
+// -0.050020
+0xaa67
+// 0.252728
+0x340b
+// 0.164321
+0x3142
+// 0.171303
+0x317b
+// -0.191588
+0xb221
+// -0.030287
+0xa7c1
+// -0.224177
+0xb32c
+// 0.093669
+0x2dff
+// -0.413479
+0xb69e
+// 0.340667
+0x3573
+// 0.456884
+0x374f
+// -0.132961
+0xb041
+// 0.124153
+0x2ff2
+// -0.102880
+0xae96
+// 0.429840
+0x36e1
+// -0.554156
+0xb86f
+// 0.109956
+0x2f0a
+// -0.459566
+0xb75a
+// 0.119219
+0x2fa1
+// -0.244905
+0xb3d6
+// -0.311141
+0xb4fa
+// -0.090997
+0xadd3
+// 0.657623
+0x3943
+// -0.297391
+0xb4c2
+// 0.118196
+0x2f91
+// 0.534892
+0x3847
+// -0.446756
+0xb726
+// 0.349415
+0x3597
+// -0.282576
+0xb485
+// 0.199965
+0x3266
+// -0.383293
+0xb622
+// 0.489481
+0x37d5
+// 0.268345
+0x344b
+// -0.118716
+0xaf99
+// -0.276911
+0xb46e
+// -0.096017
+0xae25
+// 0.333059
+0x3554
+// -0.137547
+0xb067
+// 0.291596
+0x34aa
+// -0.039047
+0xa900
+// 0.093643
+0x2dfe
+// -0.174527
+0xb196
+// 0.258226
+0x3422
+// 0.282778
+0x3486
+// -0.014575
+0xa376
+// -0.145939
+0xb0ac
+// -0.902487
+0xbb38
+// -0.155720
+0xb0fc
+// -0.250462
+0xb402
+// 0.093693
+0x2dff
+// 0.307080
+0x34ea
+// 0.590747
+0x38ba
+// 0.083993
+0x2d60
+// 0.027213
+0x26f7
+// -0.084733
+0xad6c
+// -0.263913
+0xb439
+// 0.150878
+0x30d4
+// 0.066191
+0x2c3c
+// -0.017159
+0xa465
+// 0.117412
+0x2f84
+// -0.271532
+0xb458
+// 0.001489
+0x161a
+// -0.257619
+0xb41f
+// -0.547359
+0xb861
+// 0.025346
+0x267d
+// -0.071489
+0xac93
+// -0.126728
+0xb00e
+// -0.232882
+0xb374
+// 0.177312
+0x31ad
+// -0.319395
+0xb51c
+// 0.188061
+0x3205
+// 0.342925
+0x357d
+// -0.395127
+0xb652
+// -0.024727
+0xa655
+// 0.310185
+0x34f7
+// -0.160392
+0xb122
+// -0.343682
+0xb580
+// 0.198682
+0x325c
+// -0.075310
+0xacd2
+// 0.609516
+0x38e0
+// 0.304423
+0x34df
+// -0.391763
+0xb645
+// 0.433398
+0x36ef
+// 0.163894
+0x313f
+// 0.454013
+0x3744
+// 0.039636
+0x2913
+// -0.203333
+0xb282
+// -0.366662
+0xb5de
+// 0.382545
+0x361f
+// 0.072310
+0x2ca1
+// -0.023164
+0xa5ee
+// 0.162241
+0x3131
+// -0.121152
+0xafc1
+// -0.209400
+0xb2b3
+// -0.360993
+0xb5c7
+// -0.611021
+0xb8e3
+// -0.178909
+0xb1ba
+// -0.027033
+0xa6ec
+// -0.198496
+0xb25a
+// -0.325773
+0xb536
+// -0.742056
+0xb9f0
+// 0.037214
+0x28c3
+// 0.082754
+0x2d4c
+// 0.072732
+0x2ca8
+// -0.291381
+0xb4a9
+// -0.676452
+0xb969
+// 0.014021
+0x232e
+// 0.239839
+0x33ad
+// -0.023537
+0xa606
+// -0.121974
+0xafce
+// 0.044349
+0x29ad
+// 0.070100
+0x2c7d
+// 0.258153
+0x3421
+// 0.592408
+0x38bd
+// 0.294569
+0x34b7
+// -0.261923
+0xb431
+// -0.397616
+0xb65d
+// -0.140953
+0xb083
+// 0.089136
+0x2db4
+// -0.098553
+0xae4f
+// -0.482078
+0xb7b7
+// -0.326178
+0xb538
+// 0.017062
+0x245e
+// 0.458971
+0x3758
+// 0.134393
+0x304d
+// 0.554724
+0x3870
+// -0.335362
+0xb55e
+// 0.416249
+0x36a9
+// 0.222726
+0x3321
+// -0.119777
+0xafaa
+// -0.236482
+0xb391
+// -0.157286
+0xb108
+// -0.545953
+0xb85e
+// 0.019331
+0x24f3
+// -0.092419
+0xadea
+// -0.187730
+0xb202
+// -0.555277
+0xb871
+// -0.189563
+0xb211
+// 0.158126
+0x310f
+// -0.148329
+0xb0bf
+// 0.375860
+0x3604
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_1024_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_1024_1_f16.txt
new file mode 100755
index 0000000..897b50d
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_1024_1_f16.txt
@@ -0,0 +1,28 @@
+H
+13
+// 29.568101
+0x4f64
+// -2.890792
+0xc1c8
+// 0.253960
+0x3410
+// -0.051597
+0xaa9b
+// -0.014367
+0xa35b
+// -0.121046
+0xafbf
+// -0.163386
+0xb13a
+// -0.183892
+0xb1e2
+// -0.195525
+0xb242
+// -0.121099
+0xafc0
+// -0.047670
+0xaa1a
+// 0.016655
+0x2444
+// -0.228907
+0xb353
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_256_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_256_1_f16.txt
new file mode 100755
index 0000000..dc68c86
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_256_1_f16.txt
@@ -0,0 +1,28 @@
+H
+13
+// 17.300672
+0x4c53
+// -2.948481
+0xc1e6
+// 0.596755
+0x38c6
+// 0.282589
+0x3485
+// 0.510174
+0x3815
+// 0.121863
+0x2fcd
+// 0.121398
+0x2fc5
+// -0.010251
+0xa140
+// -0.115306
+0xaf61
+// -0.353407
+0xb5a8
+// -0.276013
+0xb46b
+// -0.461784
+0xb763
+// -0.293277
+0xb4b1
diff --git a/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_512_1_f16.txt b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_512_1_f16.txt
new file mode 100755
index 0000000..dec298e
--- /dev/null
+++ b/CMSIS/DSP/Testing/Patterns/DSP/Transform/MFCCF16/MFCCRef_512_1_f16.txt
@@ -0,0 +1,28 @@
+H
+13
+// 22.783578
+0x4db2
+// -3.252800
+0xc281
+// 0.012397
+0x2259
+// -0.117326
+0xaf82
+// 0.073564
+0x2cb5
+// -0.052523
+0xaab9
+// 0.088635
+0x2dac
+// -0.115187
+0xaf5f
+// 0.304263
+0x34de
+// -0.028946
+0xa769
+// -0.046098
+0xa9e7
+// 0.040847
+0x293a
+// -0.016524
+0xa43b
diff --git a/CMSIS/DSP/Testing/Source/Tests/MFCCF16.cpp b/CMSIS/DSP/Testing/Source/Tests/MFCCF16.cpp
new file mode 100755
index 0000000..39a21b8
--- /dev/null
+++ b/CMSIS/DSP/Testing/Source/Tests/MFCCF16.cpp
@@ -0,0 +1,109 @@
+#include "MFCCF16.h"
+#include <stdio.h>
+#include "Error.h"
+
+#include "mfccdata_f16.h"
+
+#define SNR_THRESHOLD 50
+
+/*
+
+Reference patterns are generated with
+a double precision computation.
+
+*/
+#define REL_ERROR (2.0e-2)
+#define ABS_ERROR (2.0e-2)
+
+
+ void MFCCF16::test_mfcc_f16()
+ {
+ const float16_t *inp1=input1.ptr();
+ float16_t *tmpinp=tmpin.ptr();
+ float16_t *outp=output.ptr();
+ float16_t *tmpp=tmp.ptr();
+
+
+ memcpy((void*)tmpinp,(void*)inp1,sizeof(float16_t)*this->fftLen);
+ arm_mfcc_f16(&mfcc,tmpinp,outp,tmpp);
+
+ ASSERT_EMPTY_TAIL(output);
+
+ ASSERT_SNR(output,ref,(float16_t)SNR_THRESHOLD);
+
+ ASSERT_CLOSE_ERROR(output,ref,ABS_ERROR,REL_ERROR);
+
+ }
+
+
+ void MFCCF16::setUp(Testing::testID_t id,std::vector<Testing::param_t>& params,Client::PatternMgr *mgr)
+ {
+
+ (void)params;
+
+ Testing::nbSamples_t nb=MAX_NB_SAMPLES;
+
+
+ switch(id)
+ {
+ case MFCCF16::TEST_MFCC_F16_1:
+ {
+ nb = 256;
+ this->fftLen = nb;
+ ref.reload(MFCCF16::REF_MFCC_256_F16_ID,mgr,nb);
+ input1.reload(MFCCF16::INPUTS_MFCC_256_F16_ID,mgr,nb);
+ arm_mfcc_init_f16(&mfcc,
+ nb,20,13,mfcc_dct_coefs_config1_f16,
+ mfcc_filter_pos_config3_f16,mfcc_filter_len_config3_f16,
+ mfcc_filter_coefs_config3_f16,
+ mfcc_window_coefs_config3_f16);
+ tmp.create(2*nb,MFCCF16::TMP_MFCC_F16_ID,mgr);
+ tmpin.create(nb,MFCCF16::TMPIN_MFCC_F16_ID,mgr);
+ }
+ break;
+
+ case MFCCF16::TEST_MFCC_F16_2:
+ {
+ nb = 512;
+ this->fftLen = nb;
+ ref.reload(MFCCF16::REF_MFCC_512_F16_ID,mgr,nb);
+ input1.reload(MFCCF16::INPUTS_MFCC_512_F16_ID,mgr,nb);
+ arm_mfcc_init_f16(&mfcc,
+ nb,20,13,mfcc_dct_coefs_config1_f16,
+ mfcc_filter_pos_config2_f16,mfcc_filter_len_config2_f16,
+ mfcc_filter_coefs_config2_f16,
+ mfcc_window_coefs_config2_f16);
+ tmp.create(2*nb,MFCCF16::TMP_MFCC_F16_ID,mgr);
+ tmpin.create(nb,MFCCF16::TMPIN_MFCC_F16_ID,mgr);
+ }
+ break;
+ case MFCCF16::TEST_MFCC_F16_3:
+ {
+ nb = 1024;
+ this->fftLen = nb;
+ ref.reload(MFCCF16::REF_MFCC_1024_F16_ID,mgr,nb);
+ input1.reload(MFCCF16::INPUTS_MFCC_1024_F16_ID,mgr,nb);
+ arm_mfcc_init_f16(&mfcc,
+ nb,20,13,mfcc_dct_coefs_config1_f16,
+ mfcc_filter_pos_config1_f16,mfcc_filter_len_config1_f16,
+ mfcc_filter_coefs_config1_f16,
+ mfcc_window_coefs_config1_f16);
+ tmp.create(2*nb,MFCCF16::TMP_MFCC_F16_ID,mgr);
+ tmpin.create(nb,MFCCF16::TMPIN_MFCC_F16_ID,mgr);
+
+ }
+ break;
+
+ }
+
+
+ output.create(ref.nbSamples(),MFCCF16::OUTPUT_MFCC_F16_ID,mgr);
+
+ }
+
+ void MFCCF16::tearDown(Testing::testID_t id,Client::PatternMgr *mgr)
+ {
+ (void)id;
+ (void)mgr;
+ //output.dump(mgr);
+ }
diff --git a/CMSIS/DSP/Testing/Source/Tests/mfccdata_f16.c b/CMSIS/DSP/Testing/Source/Tests/mfccdata_f16.c
new file mode 100755
index 0000000..857c5ae
--- /dev/null
+++ b/CMSIS/DSP/Testing/Source/Tests/mfccdata_f16.c
@@ -0,0 +1,437 @@
+#include "mfccdata_f16.h"
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_dct_coefs_config1_f16[NB_MFCC_DCT_COEFS_CONFIG1_F16]={
+(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,
+(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,(float16_t)0.316228f,
+(float16_t)0.315253f,(float16_t)0.307490f,(float16_t)0.292156f,(float16_t)0.269628f,(float16_t)0.240461f,(float16_t)0.205374f,(float16_t)0.165229f,(float16_t)0.121015f,(float16_t)0.073822f,(float16_t)0.024811f,
+(float16_t)-0.024811f,(float16_t)-0.073822f,(float16_t)-0.121015f,(float16_t)-0.165229f,(float16_t)-0.205374f,(float16_t)-0.240461f,(float16_t)-0.269628f,(float16_t)-0.292156f,(float16_t)-0.307490f,(float16_t)-0.315253f,
+(float16_t)0.312334f,(float16_t)0.281761f,(float16_t)0.223607f,(float16_t)0.143564f,(float16_t)0.049469f,(float16_t)-0.049469f,(float16_t)-0.143564f,(float16_t)-0.223607f,(float16_t)-0.281761f,(float16_t)-0.312334f,
+(float16_t)-0.312334f,(float16_t)-0.281761f,(float16_t)-0.223607f,(float16_t)-0.143564f,(float16_t)-0.049469f,(float16_t)0.049469f,(float16_t)0.143564f,(float16_t)0.223607f,(float16_t)0.281761f,(float16_t)0.312334f,
+(float16_t)0.307490f,(float16_t)0.240461f,(float16_t)0.121015f,(float16_t)-0.024811f,(float16_t)-0.165229f,(float16_t)-0.269628f,(float16_t)-0.315253f,(float16_t)-0.292156f,(float16_t)-0.205374f,(float16_t)-0.073822f,
+(float16_t)0.073822f,(float16_t)0.205374f,(float16_t)0.292156f,(float16_t)0.315253f,(float16_t)0.269628f,(float16_t)0.165229f,(float16_t)0.024811f,(float16_t)-0.121015f,(float16_t)-0.240461f,(float16_t)-0.307490f,
+(float16_t)0.300750f,(float16_t)0.185874f,(float16_t)0.000000f,(float16_t)-0.185874f,(float16_t)-0.300750f,(float16_t)-0.300750f,(float16_t)-0.185874f,(float16_t)-0.000000f,(float16_t)0.185874f,(float16_t)0.300750f,
+(float16_t)0.300750f,(float16_t)0.185874f,(float16_t)0.000000f,(float16_t)-0.185874f,(float16_t)-0.300750f,(float16_t)-0.300750f,(float16_t)-0.185874f,(float16_t)-0.000000f,(float16_t)0.185874f,(float16_t)0.300750f,
+(float16_t)0.292156f,(float16_t)0.121015f,(float16_t)-0.121015f,(float16_t)-0.292156f,(float16_t)-0.292156f,(float16_t)-0.121015f,(float16_t)0.121015f,(float16_t)0.292156f,(float16_t)0.292156f,(float16_t)0.121015f,
+(float16_t)-0.121015f,(float16_t)-0.292156f,(float16_t)-0.292156f,(float16_t)-0.121015f,(float16_t)0.121015f,(float16_t)0.292156f,(float16_t)0.292156f,(float16_t)0.121015f,(float16_t)-0.121015f,(float16_t)-0.292156f,
+(float16_t)0.281761f,(float16_t)0.049469f,(float16_t)-0.223607f,(float16_t)-0.312334f,(float16_t)-0.143564f,(float16_t)0.143564f,(float16_t)0.312334f,(float16_t)0.223607f,(float16_t)-0.049469f,(float16_t)-0.281761f,
+(float16_t)-0.281761f,(float16_t)-0.049469f,(float16_t)0.223607f,(float16_t)0.312334f,(float16_t)0.143564f,(float16_t)-0.143564f,(float16_t)-0.312334f,(float16_t)-0.223607f,(float16_t)0.049469f,(float16_t)0.281761f,
+(float16_t)0.269628f,(float16_t)-0.024811f,(float16_t)-0.292156f,(float16_t)-0.240461f,(float16_t)0.073822f,(float16_t)0.307490f,(float16_t)0.205374f,(float16_t)-0.121015f,(float16_t)-0.315253f,(float16_t)-0.165229f,
+(float16_t)0.165229f,(float16_t)0.315253f,(float16_t)0.121015f,(float16_t)-0.205374f,(float16_t)-0.307490f,(float16_t)-0.073822f,(float16_t)0.240461f,(float16_t)0.292156f,(float16_t)0.024811f,(float16_t)-0.269628f,
+(float16_t)0.255834f,(float16_t)-0.097720f,(float16_t)-0.316228f,(float16_t)-0.097720f,(float16_t)0.255834f,(float16_t)0.255834f,(float16_t)-0.097720f,(float16_t)-0.316228f,(float16_t)-0.097720f,(float16_t)0.255834f,
+(float16_t)0.255834f,(float16_t)-0.097720f,(float16_t)-0.316228f,(float16_t)-0.097720f,(float16_t)0.255834f,(float16_t)0.255834f,(float16_t)-0.097720f,(float16_t)-0.316228f,(float16_t)-0.097720f,(float16_t)0.255834f,
+(float16_t)0.240461f,(float16_t)-0.165229f,(float16_t)-0.292156f,(float16_t)0.073822f,(float16_t)0.315253f,(float16_t)0.024811f,(float16_t)-0.307490f,(float16_t)-0.121015f,(float16_t)0.269628f,(float16_t)0.205374f,
+(float16_t)-0.205374f,(float16_t)-0.269628f,(float16_t)0.121015f,(float16_t)0.307490f,(float16_t)-0.024811f,(float16_t)-0.315253f,(float16_t)-0.073822f,(float16_t)0.292156f,(float16_t)0.165229f,(float16_t)-0.240461f,
+(float16_t)0.223607f,(float16_t)-0.223607f,(float16_t)-0.223607f,(float16_t)0.223607f,(float16_t)0.223607f,(float16_t)-0.223607f,(float16_t)-0.223607f,(float16_t)0.223607f,(float16_t)0.223607f,(float16_t)-0.223607f,
+(float16_t)-0.223607f,(float16_t)0.223607f,(float16_t)0.223607f,(float16_t)-0.223607f,(float16_t)-0.223607f,(float16_t)0.223607f,(float16_t)0.223607f,(float16_t)-0.223607f,(float16_t)-0.223607f,(float16_t)0.223607f,
+(float16_t)0.205374f,(float16_t)-0.269628f,(float16_t)-0.121015f,(float16_t)0.307490f,(float16_t)0.024811f,(float16_t)-0.315253f,(float16_t)0.073822f,(float16_t)0.292156f,(float16_t)-0.165229f,(float16_t)-0.240461f,
+(float16_t)0.240461f,(float16_t)0.165229f,(float16_t)-0.292156f,(float16_t)-0.073822f,(float16_t)0.315253f,(float16_t)-0.024811f,(float16_t)-0.307490f,(float16_t)0.121015f,(float16_t)0.269628f,(float16_t)-0.205374f,
+(float16_t)0.185874f,(float16_t)-0.300750f,(float16_t)-0.000000f,(float16_t)0.300750f,(float16_t)-0.185874f,(float16_t)-0.185874f,(float16_t)0.300750f,(float16_t)0.000000f,(float16_t)-0.300750f,(float16_t)0.185874f,
+(float16_t)0.185874f,(float16_t)-0.300750f,(float16_t)-0.000000f,(float16_t)0.300750f,(float16_t)-0.185874f,(float16_t)-0.185874f,(float16_t)0.300750f,(float16_t)-0.000000f,(float16_t)-0.300750f,(float16_t)0.185874f,
+};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_window_coefs_config1_f16[NB_MFCC_WIN_COEFS_CONFIG1_F16]={
+(float16_t)0.080000f,(float16_t)0.080009f,(float16_t)0.080035f,(float16_t)0.080078f,(float16_t)0.080139f,(float16_t)0.080216f,(float16_t)0.080312f,(float16_t)0.080424f,(float16_t)0.080554f,(float16_t)0.080701f,
+(float16_t)0.080866f,(float16_t)0.081047f,(float16_t)0.081246f,(float16_t)0.081463f,(float16_t)0.081696f,(float16_t)0.081947f,(float16_t)0.082215f,(float16_t)0.082500f,(float16_t)0.082803f,(float16_t)0.083123f,
+(float16_t)0.083459f,(float16_t)0.083814f,(float16_t)0.084185f,(float16_t)0.084573f,(float16_t)0.084979f,(float16_t)0.085402f,(float16_t)0.085841f,(float16_t)0.086298f,(float16_t)0.086772f,(float16_t)0.087263f,
+(float16_t)0.087771f,(float16_t)0.088297f,(float16_t)0.088839f,(float16_t)0.089398f,(float16_t)0.089974f,(float16_t)0.090567f,(float16_t)0.091177f,(float16_t)0.091804f,(float16_t)0.092448f,(float16_t)0.093108f,
+(float16_t)0.093786f,(float16_t)0.094480f,(float16_t)0.095191f,(float16_t)0.095919f,(float16_t)0.096663f,(float16_t)0.097424f,(float16_t)0.098202f,(float16_t)0.098996f,(float16_t)0.099807f,(float16_t)0.100635f,
+(float16_t)0.101479f,(float16_t)0.102340f,(float16_t)0.103217f,(float16_t)0.104111f,(float16_t)0.105021f,(float16_t)0.105947f,(float16_t)0.106890f,(float16_t)0.107849f,(float16_t)0.108824f,(float16_t)0.109816f,
+(float16_t)0.110823f,(float16_t)0.111847f,(float16_t)0.112887f,(float16_t)0.113943f,(float16_t)0.115015f,(float16_t)0.116104f,(float16_t)0.117208f,(float16_t)0.118328f,(float16_t)0.119464f,(float16_t)0.120615f,
+(float16_t)0.121783f,(float16_t)0.122966f,(float16_t)0.124165f,(float16_t)0.125380f,(float16_t)0.126610f,(float16_t)0.127856f,(float16_t)0.129117f,(float16_t)0.130394f,(float16_t)0.131686f,(float16_t)0.132993f,
+(float16_t)0.134316f,(float16_t)0.135654f,(float16_t)0.137008f,(float16_t)0.138376f,(float16_t)0.139760f,(float16_t)0.141159f,(float16_t)0.142572f,(float16_t)0.144001f,(float16_t)0.145445f,(float16_t)0.146903f,
+(float16_t)0.148377f,(float16_t)0.149865f,(float16_t)0.151367f,(float16_t)0.152885f,(float16_t)0.154417f,(float16_t)0.155963f,(float16_t)0.157524f,(float16_t)0.159099f,(float16_t)0.160689f,(float16_t)0.162293f,
+(float16_t)0.163911f,(float16_t)0.165543f,(float16_t)0.167190f,(float16_t)0.168850f,(float16_t)0.170525f,(float16_t)0.172213f,(float16_t)0.173915f,(float16_t)0.175631f,(float16_t)0.177361f,(float16_t)0.179104f,
+(float16_t)0.180861f,(float16_t)0.182631f,(float16_t)0.184415f,(float16_t)0.186212f,(float16_t)0.188023f,(float16_t)0.189847f,(float16_t)0.191684f,(float16_t)0.193534f,(float16_t)0.195397f,(float16_t)0.197273f,
+(float16_t)0.199162f,(float16_t)0.201064f,(float16_t)0.202979f,(float16_t)0.204906f,(float16_t)0.206846f,(float16_t)0.208799f,(float16_t)0.210764f,(float16_t)0.212741f,(float16_t)0.214731f,(float16_t)0.216733f,
+(float16_t)0.218747f,(float16_t)0.220773f,(float16_t)0.222811f,(float16_t)0.224862f,(float16_t)0.226924f,(float16_t)0.228997f,(float16_t)0.231083f,(float16_t)0.233180f,(float16_t)0.235289f,(float16_t)0.237409f,
+(float16_t)0.239540f,(float16_t)0.241683f,(float16_t)0.243837f,(float16_t)0.246003f,(float16_t)0.248179f,(float16_t)0.250366f,(float16_t)0.252565f,(float16_t)0.254774f,(float16_t)0.256993f,(float16_t)0.259224f,
+(float16_t)0.261465f,(float16_t)0.263716f,(float16_t)0.265978f,(float16_t)0.268251f,(float16_t)0.270533f,(float16_t)0.272826f,(float16_t)0.275128f,(float16_t)0.277441f,(float16_t)0.279763f,(float16_t)0.282096f,
+(float16_t)0.284438f,(float16_t)0.286789f,(float16_t)0.289151f,(float16_t)0.291521f,(float16_t)0.293901f,(float16_t)0.296290f,(float16_t)0.298689f,(float16_t)0.301096f,(float16_t)0.303513f,(float16_t)0.305938f,
+(float16_t)0.308372f,(float16_t)0.310815f,(float16_t)0.313267f,(float16_t)0.315727f,(float16_t)0.318195f,(float16_t)0.320672f,(float16_t)0.323157f,(float16_t)0.325651f,(float16_t)0.328152f,(float16_t)0.330662f,
+(float16_t)0.333179f,(float16_t)0.335704f,(float16_t)0.338237f,(float16_t)0.340777f,(float16_t)0.343325f,(float16_t)0.345880f,(float16_t)0.348442f,(float16_t)0.351012f,(float16_t)0.353589f,(float16_t)0.356173f,
+(float16_t)0.358764f,(float16_t)0.361361f,(float16_t)0.363966f,(float16_t)0.366577f,(float16_t)0.369194f,(float16_t)0.371818f,(float16_t)0.374448f,(float16_t)0.377085f,(float16_t)0.379727f,(float16_t)0.382376f,
+(float16_t)0.385031f,(float16_t)0.387691f,(float16_t)0.390357f,(float16_t)0.393029f,(float16_t)0.395706f,(float16_t)0.398389f,(float16_t)0.401077f,(float16_t)0.403771f,(float16_t)0.406469f,(float16_t)0.409173f,
+(float16_t)0.411881f,(float16_t)0.414594f,(float16_t)0.417312f,(float16_t)0.420035f,(float16_t)0.422762f,(float16_t)0.425493f,(float16_t)0.428229f,(float16_t)0.430969f,(float16_t)0.433713f,(float16_t)0.436461f,
+(float16_t)0.439213f,(float16_t)0.441969f,(float16_t)0.444729f,(float16_t)0.447492f,(float16_t)0.450258f,(float16_t)0.453028f,(float16_t)0.455802f,(float16_t)0.458578f,(float16_t)0.461358f,(float16_t)0.464140f,
+(float16_t)0.466925f,(float16_t)0.469713f,(float16_t)0.472504f,(float16_t)0.475297f,(float16_t)0.478093f,(float16_t)0.480891f,(float16_t)0.483691f,(float16_t)0.486493f,(float16_t)0.489298f,(float16_t)0.492104f,
+(float16_t)0.494912f,(float16_t)0.497722f,(float16_t)0.500533f,(float16_t)0.503346f,(float16_t)0.506160f,(float16_t)0.508976f,(float16_t)0.511792f,(float16_t)0.514610f,(float16_t)0.517429f,(float16_t)0.520248f,
+(float16_t)0.523069f,(float16_t)0.525890f,(float16_t)0.528711f,(float16_t)0.531533f,(float16_t)0.534355f,(float16_t)0.537178f,(float16_t)0.540000f,(float16_t)0.542822f,(float16_t)0.545645f,(float16_t)0.548467f,
+(float16_t)0.551289f,(float16_t)0.554110f,(float16_t)0.556931f,(float16_t)0.559752f,(float16_t)0.562571f,(float16_t)0.565390f,(float16_t)0.568208f,(float16_t)0.571024f,(float16_t)0.573840f,(float16_t)0.576654f,
+(float16_t)0.579467f,(float16_t)0.582278f,(float16_t)0.585088f,(float16_t)0.587896f,(float16_t)0.590702f,(float16_t)0.593507f,(float16_t)0.596309f,(float16_t)0.599109f,(float16_t)0.601907f,(float16_t)0.604703f,
+(float16_t)0.607496f,(float16_t)0.610287f,(float16_t)0.613075f,(float16_t)0.615860f,(float16_t)0.618642f,(float16_t)0.621422f,(float16_t)0.624198f,(float16_t)0.626972f,(float16_t)0.629742f,(float16_t)0.632508f,
+(float16_t)0.635271f,(float16_t)0.638031f,(float16_t)0.640787f,(float16_t)0.643539f,(float16_t)0.646287f,(float16_t)0.649031f,(float16_t)0.651771f,(float16_t)0.654507f,(float16_t)0.657238f,(float16_t)0.659965f,
+(float16_t)0.662688f,(float16_t)0.665406f,(float16_t)0.668119f,(float16_t)0.670827f,(float16_t)0.673531f,(float16_t)0.676229f,(float16_t)0.678923f,(float16_t)0.681611f,(float16_t)0.684294f,(float16_t)0.686971f,
+(float16_t)0.689643f,(float16_t)0.692309f,(float16_t)0.694969f,(float16_t)0.697624f,(float16_t)0.700273f,(float16_t)0.702915f,(float16_t)0.705552f,(float16_t)0.708182f,(float16_t)0.710806f,(float16_t)0.713423f,
+(float16_t)0.716034f,(float16_t)0.718639f,(float16_t)0.721236f,(float16_t)0.723827f,(float16_t)0.726411f,(float16_t)0.728988f,(float16_t)0.731558f,(float16_t)0.734120f,(float16_t)0.736675f,(float16_t)0.739223f,
+(float16_t)0.741763f,(float16_t)0.744296f,(float16_t)0.746821f,(float16_t)0.749338f,(float16_t)0.751848f,(float16_t)0.754349f,(float16_t)0.756842f,(float16_t)0.759328f,(float16_t)0.761805f,(float16_t)0.764273f,
+(float16_t)0.766733f,(float16_t)0.769185f,(float16_t)0.771628f,(float16_t)0.774062f,(float16_t)0.776487f,(float16_t)0.778904f,(float16_t)0.781311f,(float16_t)0.783710f,(float16_t)0.786099f,(float16_t)0.788479f,
+(float16_t)0.790850f,(float16_t)0.793211f,(float16_t)0.795562f,(float16_t)0.797904f,(float16_t)0.800237f,(float16_t)0.802559f,(float16_t)0.804872f,(float16_t)0.807174f,(float16_t)0.809467f,(float16_t)0.811749f,
+(float16_t)0.814022f,(float16_t)0.816284f,(float16_t)0.818535f,(float16_t)0.820776f,(float16_t)0.823007f,(float16_t)0.825226f,(float16_t)0.827435f,(float16_t)0.829634f,(float16_t)0.831821f,(float16_t)0.833997f,
+(float16_t)0.836163f,(float16_t)0.838317f,(float16_t)0.840460f,(float16_t)0.842591f,(float16_t)0.844711f,(float16_t)0.846820f,(float16_t)0.848917f,(float16_t)0.851003f,(float16_t)0.853076f,(float16_t)0.855138f,
+(float16_t)0.857189f,(float16_t)0.859227f,(float16_t)0.861253f,(float16_t)0.863267f,(float16_t)0.865269f,(float16_t)0.867259f,(float16_t)0.869236f,(float16_t)0.871201f,(float16_t)0.873154f,(float16_t)0.875094f,
+(float16_t)0.877021f,(float16_t)0.878936f,(float16_t)0.880838f,(float16_t)0.882727f,(float16_t)0.884603f,(float16_t)0.886466f,(float16_t)0.888316f,(float16_t)0.890153f,(float16_t)0.891977f,(float16_t)0.893788f,
+(float16_t)0.895585f,(float16_t)0.897369f,(float16_t)0.899139f,(float16_t)0.900896f,(float16_t)0.902639f,(float16_t)0.904369f,(float16_t)0.906085f,(float16_t)0.907787f,(float16_t)0.909475f,(float16_t)0.911150f,
+(float16_t)0.912810f,(float16_t)0.914457f,(float16_t)0.916089f,(float16_t)0.917707f,(float16_t)0.919311f,(float16_t)0.920901f,(float16_t)0.922476f,(float16_t)0.924037f,(float16_t)0.925583f,(float16_t)0.927115f,
+(float16_t)0.928633f,(float16_t)0.930135f,(float16_t)0.931623f,(float16_t)0.933097f,(float16_t)0.934555f,(float16_t)0.935999f,(float16_t)0.937428f,(float16_t)0.938841f,(float16_t)0.940240f,(float16_t)0.941624f,
+(float16_t)0.942992f,(float16_t)0.944346f,(float16_t)0.945684f,(float16_t)0.947007f,(float16_t)0.948314f,(float16_t)0.949606f,(float16_t)0.950883f,(float16_t)0.952145f,(float16_t)0.953390f,(float16_t)0.954620f,
+(float16_t)0.955835f,(float16_t)0.957034f,(float16_t)0.958217f,(float16_t)0.959385f,(float16_t)0.960536f,(float16_t)0.961672f,(float16_t)0.962792f,(float16_t)0.963896f,(float16_t)0.964985f,(float16_t)0.966057f,
+(float16_t)0.967113f,(float16_t)0.968153f,(float16_t)0.969177f,(float16_t)0.970184f,(float16_t)0.971176f,(float16_t)0.972151f,(float16_t)0.973110f,(float16_t)0.974053f,(float16_t)0.974979f,(float16_t)0.975889f,
+(float16_t)0.976783f,(float16_t)0.977660f,(float16_t)0.978521f,(float16_t)0.979365f,(float16_t)0.980193f,(float16_t)0.981004f,(float16_t)0.981798f,(float16_t)0.982576f,(float16_t)0.983337f,(float16_t)0.984081f,
+(float16_t)0.984809f,(float16_t)0.985520f,(float16_t)0.986214f,(float16_t)0.986892f,(float16_t)0.987552f,(float16_t)0.988196f,(float16_t)0.988823f,(float16_t)0.989433f,(float16_t)0.990026f,(float16_t)0.990602f,
+(float16_t)0.991161f,(float16_t)0.991703f,(float16_t)0.992229f,(float16_t)0.992737f,(float16_t)0.993228f,(float16_t)0.993702f,(float16_t)0.994159f,(float16_t)0.994599f,(float16_t)0.995021f,(float16_t)0.995427f,
+(float16_t)0.995815f,(float16_t)0.996186f,(float16_t)0.996541f,(float16_t)0.996877f,(float16_t)0.997197f,(float16_t)0.997500f,(float16_t)0.997785f,(float16_t)0.998053f,(float16_t)0.998304f,(float16_t)0.998537f,
+(float16_t)0.998754f,(float16_t)0.998953f,(float16_t)0.999134f,(float16_t)0.999299f,(float16_t)0.999446f,(float16_t)0.999576f,(float16_t)0.999688f,(float16_t)0.999784f,(float16_t)0.999861f,(float16_t)0.999922f,
+(float16_t)0.999965f,(float16_t)0.999991f,(float16_t)1.000000f,(float16_t)0.999991f,(float16_t)0.999965f,(float16_t)0.999922f,(float16_t)0.999861f,(float16_t)0.999784f,(float16_t)0.999688f,(float16_t)0.999576f,
+(float16_t)0.999446f,(float16_t)0.999299f,(float16_t)0.999134f,(float16_t)0.998953f,(float16_t)0.998754f,(float16_t)0.998537f,(float16_t)0.998304f,(float16_t)0.998053f,(float16_t)0.997785f,(float16_t)0.997500f,
+(float16_t)0.997197f,(float16_t)0.996877f,(float16_t)0.996541f,(float16_t)0.996186f,(float16_t)0.995815f,(float16_t)0.995427f,(float16_t)0.995021f,(float16_t)0.994599f,(float16_t)0.994159f,(float16_t)0.993702f,
+(float16_t)0.993228f,(float16_t)0.992737f,(float16_t)0.992229f,(float16_t)0.991703f,(float16_t)0.991161f,(float16_t)0.990602f,(float16_t)0.990026f,(float16_t)0.989433f,(float16_t)0.988823f,(float16_t)0.988196f,
+(float16_t)0.987552f,(float16_t)0.986892f,(float16_t)0.986214f,(float16_t)0.985520f,(float16_t)0.984809f,(float16_t)0.984081f,(float16_t)0.983337f,(float16_t)0.982576f,(float16_t)0.981798f,(float16_t)0.981004f,
+(float16_t)0.980193f,(float16_t)0.979365f,(float16_t)0.978521f,(float16_t)0.977660f,(float16_t)0.976783f,(float16_t)0.975889f,(float16_t)0.974979f,(float16_t)0.974053f,(float16_t)0.973110f,(float16_t)0.972151f,
+(float16_t)0.971176f,(float16_t)0.970184f,(float16_t)0.969177f,(float16_t)0.968153f,(float16_t)0.967113f,(float16_t)0.966057f,(float16_t)0.964985f,(float16_t)0.963896f,(float16_t)0.962792f,(float16_t)0.961672f,
+(float16_t)0.960536f,(float16_t)0.959385f,(float16_t)0.958217f,(float16_t)0.957034f,(float16_t)0.955835f,(float16_t)0.954620f,(float16_t)0.953390f,(float16_t)0.952145f,(float16_t)0.950883f,(float16_t)0.949606f,
+(float16_t)0.948314f,(float16_t)0.947007f,(float16_t)0.945684f,(float16_t)0.944346f,(float16_t)0.942992f,(float16_t)0.941624f,(float16_t)0.940240f,(float16_t)0.938841f,(float16_t)0.937428f,(float16_t)0.935999f,
+(float16_t)0.934555f,(float16_t)0.933097f,(float16_t)0.931623f,(float16_t)0.930135f,(float16_t)0.928633f,(float16_t)0.927115f,(float16_t)0.925583f,(float16_t)0.924037f,(float16_t)0.922476f,(float16_t)0.920901f,
+(float16_t)0.919311f,(float16_t)0.917707f,(float16_t)0.916089f,(float16_t)0.914457f,(float16_t)0.912810f,(float16_t)0.911150f,(float16_t)0.909475f,(float16_t)0.907787f,(float16_t)0.906085f,(float16_t)0.904369f,
+(float16_t)0.902639f,(float16_t)0.900896f,(float16_t)0.899139f,(float16_t)0.897369f,(float16_t)0.895585f,(float16_t)0.893788f,(float16_t)0.891977f,(float16_t)0.890153f,(float16_t)0.888316f,(float16_t)0.886466f,
+(float16_t)0.884603f,(float16_t)0.882727f,(float16_t)0.880838f,(float16_t)0.878936f,(float16_t)0.877021f,(float16_t)0.875094f,(float16_t)0.873154f,(float16_t)0.871201f,(float16_t)0.869236f,(float16_t)0.867259f,
+(float16_t)0.865269f,(float16_t)0.863267f,(float16_t)0.861253f,(float16_t)0.859227f,(float16_t)0.857189f,(float16_t)0.855138f,(float16_t)0.853076f,(float16_t)0.851003f,(float16_t)0.848917f,(float16_t)0.846820f,
+(float16_t)0.844711f,(float16_t)0.842591f,(float16_t)0.840460f,(float16_t)0.838317f,(float16_t)0.836163f,(float16_t)0.833997f,(float16_t)0.831821f,(float16_t)0.829634f,(float16_t)0.827435f,(float16_t)0.825226f,
+(float16_t)0.823007f,(float16_t)0.820776f,(float16_t)0.818535f,(float16_t)0.816284f,(float16_t)0.814022f,(float16_t)0.811749f,(float16_t)0.809467f,(float16_t)0.807174f,(float16_t)0.804872f,(float16_t)0.802559f,
+(float16_t)0.800237f,(float16_t)0.797904f,(float16_t)0.795562f,(float16_t)0.793211f,(float16_t)0.790850f,(float16_t)0.788479f,(float16_t)0.786099f,(float16_t)0.783710f,(float16_t)0.781311f,(float16_t)0.778904f,
+(float16_t)0.776487f,(float16_t)0.774062f,(float16_t)0.771628f,(float16_t)0.769185f,(float16_t)0.766733f,(float16_t)0.764273f,(float16_t)0.761805f,(float16_t)0.759328f,(float16_t)0.756842f,(float16_t)0.754349f,
+(float16_t)0.751848f,(float16_t)0.749338f,(float16_t)0.746821f,(float16_t)0.744296f,(float16_t)0.741763f,(float16_t)0.739223f,(float16_t)0.736675f,(float16_t)0.734120f,(float16_t)0.731558f,(float16_t)0.728988f,
+(float16_t)0.726411f,(float16_t)0.723827f,(float16_t)0.721236f,(float16_t)0.718639f,(float16_t)0.716034f,(float16_t)0.713423f,(float16_t)0.710806f,(float16_t)0.708182f,(float16_t)0.705552f,(float16_t)0.702915f,
+(float16_t)0.700273f,(float16_t)0.697624f,(float16_t)0.694969f,(float16_t)0.692309f,(float16_t)0.689643f,(float16_t)0.686971f,(float16_t)0.684294f,(float16_t)0.681611f,(float16_t)0.678923f,(float16_t)0.676229f,
+(float16_t)0.673531f,(float16_t)0.670827f,(float16_t)0.668119f,(float16_t)0.665406f,(float16_t)0.662688f,(float16_t)0.659965f,(float16_t)0.657238f,(float16_t)0.654507f,(float16_t)0.651771f,(float16_t)0.649031f,
+(float16_t)0.646287f,(float16_t)0.643539f,(float16_t)0.640787f,(float16_t)0.638031f,(float16_t)0.635271f,(float16_t)0.632508f,(float16_t)0.629742f,(float16_t)0.626972f,(float16_t)0.624198f,(float16_t)0.621422f,
+(float16_t)0.618642f,(float16_t)0.615860f,(float16_t)0.613075f,(float16_t)0.610287f,(float16_t)0.607496f,(float16_t)0.604703f,(float16_t)0.601907f,(float16_t)0.599109f,(float16_t)0.596309f,(float16_t)0.593507f,
+(float16_t)0.590702f,(float16_t)0.587896f,(float16_t)0.585088f,(float16_t)0.582278f,(float16_t)0.579467f,(float16_t)0.576654f,(float16_t)0.573840f,(float16_t)0.571024f,(float16_t)0.568208f,(float16_t)0.565390f,
+(float16_t)0.562571f,(float16_t)0.559752f,(float16_t)0.556931f,(float16_t)0.554110f,(float16_t)0.551289f,(float16_t)0.548467f,(float16_t)0.545645f,(float16_t)0.542822f,(float16_t)0.540000f,(float16_t)0.537178f,
+(float16_t)0.534355f,(float16_t)0.531533f,(float16_t)0.528711f,(float16_t)0.525890f,(float16_t)0.523069f,(float16_t)0.520248f,(float16_t)0.517429f,(float16_t)0.514610f,(float16_t)0.511792f,(float16_t)0.508976f,
+(float16_t)0.506160f,(float16_t)0.503346f,(float16_t)0.500533f,(float16_t)0.497722f,(float16_t)0.494912f,(float16_t)0.492104f,(float16_t)0.489298f,(float16_t)0.486493f,(float16_t)0.483691f,(float16_t)0.480891f,
+(float16_t)0.478093f,(float16_t)0.475297f,(float16_t)0.472504f,(float16_t)0.469713f,(float16_t)0.466925f,(float16_t)0.464140f,(float16_t)0.461358f,(float16_t)0.458578f,(float16_t)0.455802f,(float16_t)0.453028f,
+(float16_t)0.450258f,(float16_t)0.447492f,(float16_t)0.444729f,(float16_t)0.441969f,(float16_t)0.439213f,(float16_t)0.436461f,(float16_t)0.433713f,(float16_t)0.430969f,(float16_t)0.428229f,(float16_t)0.425493f,
+(float16_t)0.422762f,(float16_t)0.420035f,(float16_t)0.417312f,(float16_t)0.414594f,(float16_t)0.411881f,(float16_t)0.409173f,(float16_t)0.406469f,(float16_t)0.403771f,(float16_t)0.401077f,(float16_t)0.398389f,
+(float16_t)0.395706f,(float16_t)0.393029f,(float16_t)0.390357f,(float16_t)0.387691f,(float16_t)0.385031f,(float16_t)0.382376f,(float16_t)0.379727f,(float16_t)0.377085f,(float16_t)0.374448f,(float16_t)0.371818f,
+(float16_t)0.369194f,(float16_t)0.366577f,(float16_t)0.363966f,(float16_t)0.361361f,(float16_t)0.358764f,(float16_t)0.356173f,(float16_t)0.353589f,(float16_t)0.351012f,(float16_t)0.348442f,(float16_t)0.345880f,
+(float16_t)0.343325f,(float16_t)0.340777f,(float16_t)0.338237f,(float16_t)0.335704f,(float16_t)0.333179f,(float16_t)0.330662f,(float16_t)0.328152f,(float16_t)0.325651f,(float16_t)0.323157f,(float16_t)0.320672f,
+(float16_t)0.318195f,(float16_t)0.315727f,(float16_t)0.313267f,(float16_t)0.310815f,(float16_t)0.308372f,(float16_t)0.305938f,(float16_t)0.303513f,(float16_t)0.301096f,(float16_t)0.298689f,(float16_t)0.296290f,
+(float16_t)0.293901f,(float16_t)0.291521f,(float16_t)0.289151f,(float16_t)0.286789f,(float16_t)0.284438f,(float16_t)0.282096f,(float16_t)0.279763f,(float16_t)0.277441f,(float16_t)0.275128f,(float16_t)0.272826f,
+(float16_t)0.270533f,(float16_t)0.268251f,(float16_t)0.265978f,(float16_t)0.263716f,(float16_t)0.261465f,(float16_t)0.259224f,(float16_t)0.256993f,(float16_t)0.254774f,(float16_t)0.252565f,(float16_t)0.250366f,
+(float16_t)0.248179f,(float16_t)0.246003f,(float16_t)0.243837f,(float16_t)0.241683f,(float16_t)0.239540f,(float16_t)0.237409f,(float16_t)0.235289f,(float16_t)0.233180f,(float16_t)0.231083f,(float16_t)0.228997f,
+(float16_t)0.226924f,(float16_t)0.224862f,(float16_t)0.222811f,(float16_t)0.220773f,(float16_t)0.218747f,(float16_t)0.216733f,(float16_t)0.214731f,(float16_t)0.212741f,(float16_t)0.210764f,(float16_t)0.208799f,
+(float16_t)0.206846f,(float16_t)0.204906f,(float16_t)0.202979f,(float16_t)0.201064f,(float16_t)0.199162f,(float16_t)0.197273f,(float16_t)0.195397f,(float16_t)0.193534f,(float16_t)0.191684f,(float16_t)0.189847f,
+(float16_t)0.188023f,(float16_t)0.186212f,(float16_t)0.184415f,(float16_t)0.182631f,(float16_t)0.180861f,(float16_t)0.179104f,(float16_t)0.177361f,(float16_t)0.175631f,(float16_t)0.173915f,(float16_t)0.172213f,
+(float16_t)0.170525f,(float16_t)0.168850f,(float16_t)0.167190f,(float16_t)0.165543f,(float16_t)0.163911f,(float16_t)0.162293f,(float16_t)0.160689f,(float16_t)0.159099f,(float16_t)0.157524f,(float16_t)0.155963f,
+(float16_t)0.154417f,(float16_t)0.152885f,(float16_t)0.151367f,(float16_t)0.149865f,(float16_t)0.148377f,(float16_t)0.146903f,(float16_t)0.145445f,(float16_t)0.144001f,(float16_t)0.142572f,(float16_t)0.141159f,
+(float16_t)0.139760f,(float16_t)0.138376f,(float16_t)0.137008f,(float16_t)0.135654f,(float16_t)0.134316f,(float16_t)0.132993f,(float16_t)0.131686f,(float16_t)0.130394f,(float16_t)0.129117f,(float16_t)0.127856f,
+(float16_t)0.126610f,(float16_t)0.125380f,(float16_t)0.124165f,(float16_t)0.122966f,(float16_t)0.121783f,(float16_t)0.120615f,(float16_t)0.119464f,(float16_t)0.118328f,(float16_t)0.117208f,(float16_t)0.116104f,
+(float16_t)0.115015f,(float16_t)0.113943f,(float16_t)0.112887f,(float16_t)0.111847f,(float16_t)0.110823f,(float16_t)0.109816f,(float16_t)0.108824f,(float16_t)0.107849f,(float16_t)0.106890f,(float16_t)0.105947f,
+(float16_t)0.105021f,(float16_t)0.104111f,(float16_t)0.103217f,(float16_t)0.102340f,(float16_t)0.101479f,(float16_t)0.100635f,(float16_t)0.099807f,(float16_t)0.098996f,(float16_t)0.098202f,(float16_t)0.097424f,
+(float16_t)0.096663f,(float16_t)0.095919f,(float16_t)0.095191f,(float16_t)0.094480f,(float16_t)0.093786f,(float16_t)0.093108f,(float16_t)0.092448f,(float16_t)0.091804f,(float16_t)0.091177f,(float16_t)0.090567f,
+(float16_t)0.089974f,(float16_t)0.089398f,(float16_t)0.088839f,(float16_t)0.088297f,(float16_t)0.087771f,(float16_t)0.087263f,(float16_t)0.086772f,(float16_t)0.086298f,(float16_t)0.085841f,(float16_t)0.085402f,
+(float16_t)0.084979f,(float16_t)0.084573f,(float16_t)0.084185f,(float16_t)0.083814f,(float16_t)0.083459f,(float16_t)0.083123f,(float16_t)0.082803f,(float16_t)0.082500f,(float16_t)0.082215f,(float16_t)0.081947f,
+(float16_t)0.081696f,(float16_t)0.081463f,(float16_t)0.081246f,(float16_t)0.081047f,(float16_t)0.080866f,(float16_t)0.080701f,(float16_t)0.080554f,(float16_t)0.080424f,(float16_t)0.080312f,(float16_t)0.080216f,
+(float16_t)0.080139f,(float16_t)0.080078f,(float16_t)0.080035f,(float16_t)0.080009f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_window_coefs_config2_f16[NB_MFCC_WIN_COEFS_CONFIG2_F16]={
+(float16_t)0.080000f,(float16_t)0.080035f,(float16_t)0.080139f,(float16_t)0.080312f,(float16_t)0.080554f,(float16_t)0.080866f,(float16_t)0.081246f,(float16_t)0.081696f,(float16_t)0.082215f,(float16_t)0.082803f,
+(float16_t)0.083459f,(float16_t)0.084185f,(float16_t)0.084979f,(float16_t)0.085841f,(float16_t)0.086772f,(float16_t)0.087771f,(float16_t)0.088839f,(float16_t)0.089974f,(float16_t)0.091177f,(float16_t)0.092448f,
+(float16_t)0.093786f,(float16_t)0.095191f,(float16_t)0.096663f,(float16_t)0.098202f,(float16_t)0.099807f,(float16_t)0.101479f,(float16_t)0.103217f,(float16_t)0.105021f,(float16_t)0.106890f,(float16_t)0.108824f,
+(float16_t)0.110823f,(float16_t)0.112887f,(float16_t)0.115015f,(float16_t)0.117208f,(float16_t)0.119464f,(float16_t)0.121783f,(float16_t)0.124165f,(float16_t)0.126610f,(float16_t)0.129117f,(float16_t)0.131686f,
+(float16_t)0.134316f,(float16_t)0.137008f,(float16_t)0.139760f,(float16_t)0.142572f,(float16_t)0.145445f,(float16_t)0.148377f,(float16_t)0.151367f,(float16_t)0.154417f,(float16_t)0.157524f,(float16_t)0.160689f,
+(float16_t)0.163911f,(float16_t)0.167190f,(float16_t)0.170525f,(float16_t)0.173915f,(float16_t)0.177361f,(float16_t)0.180861f,(float16_t)0.184415f,(float16_t)0.188023f,(float16_t)0.191684f,(float16_t)0.195397f,
+(float16_t)0.199162f,(float16_t)0.202979f,(float16_t)0.206846f,(float16_t)0.210764f,(float16_t)0.214731f,(float16_t)0.218747f,(float16_t)0.222811f,(float16_t)0.226924f,(float16_t)0.231083f,(float16_t)0.235289f,
+(float16_t)0.239540f,(float16_t)0.243837f,(float16_t)0.248179f,(float16_t)0.252565f,(float16_t)0.256993f,(float16_t)0.261465f,(float16_t)0.265978f,(float16_t)0.270533f,(float16_t)0.275128f,(float16_t)0.279763f,
+(float16_t)0.284438f,(float16_t)0.289151f,(float16_t)0.293901f,(float16_t)0.298689f,(float16_t)0.303513f,(float16_t)0.308372f,(float16_t)0.313267f,(float16_t)0.318195f,(float16_t)0.323157f,(float16_t)0.328152f,
+(float16_t)0.333179f,(float16_t)0.338237f,(float16_t)0.343325f,(float16_t)0.348442f,(float16_t)0.353589f,(float16_t)0.358764f,(float16_t)0.363966f,(float16_t)0.369194f,(float16_t)0.374448f,(float16_t)0.379727f,
+(float16_t)0.385031f,(float16_t)0.390357f,(float16_t)0.395706f,(float16_t)0.401077f,(float16_t)0.406469f,(float16_t)0.411881f,(float16_t)0.417312f,(float16_t)0.422762f,(float16_t)0.428229f,(float16_t)0.433713f,
+(float16_t)0.439213f,(float16_t)0.444729f,(float16_t)0.450258f,(float16_t)0.455802f,(float16_t)0.461358f,(float16_t)0.466925f,(float16_t)0.472504f,(float16_t)0.478093f,(float16_t)0.483691f,(float16_t)0.489298f,
+(float16_t)0.494912f,(float16_t)0.500533f,(float16_t)0.506160f,(float16_t)0.511792f,(float16_t)0.517429f,(float16_t)0.523069f,(float16_t)0.528711f,(float16_t)0.534355f,(float16_t)0.540000f,(float16_t)0.545645f,
+(float16_t)0.551289f,(float16_t)0.556931f,(float16_t)0.562571f,(float16_t)0.568208f,(float16_t)0.573840f,(float16_t)0.579467f,(float16_t)0.585088f,(float16_t)0.590702f,(float16_t)0.596309f,(float16_t)0.601907f,
+(float16_t)0.607496f,(float16_t)0.613075f,(float16_t)0.618642f,(float16_t)0.624198f,(float16_t)0.629742f,(float16_t)0.635271f,(float16_t)0.640787f,(float16_t)0.646287f,(float16_t)0.651771f,(float16_t)0.657238f,
+(float16_t)0.662688f,(float16_t)0.668119f,(float16_t)0.673531f,(float16_t)0.678923f,(float16_t)0.684294f,(float16_t)0.689643f,(float16_t)0.694969f,(float16_t)0.700273f,(float16_t)0.705552f,(float16_t)0.710806f,
+(float16_t)0.716034f,(float16_t)0.721236f,(float16_t)0.726411f,(float16_t)0.731558f,(float16_t)0.736675f,(float16_t)0.741763f,(float16_t)0.746821f,(float16_t)0.751848f,(float16_t)0.756842f,(float16_t)0.761805f,
+(float16_t)0.766733f,(float16_t)0.771628f,(float16_t)0.776487f,(float16_t)0.781311f,(float16_t)0.786099f,(float16_t)0.790850f,(float16_t)0.795562f,(float16_t)0.800237f,(float16_t)0.804872f,(float16_t)0.809467f,
+(float16_t)0.814022f,(float16_t)0.818535f,(float16_t)0.823007f,(float16_t)0.827435f,(float16_t)0.831821f,(float16_t)0.836163f,(float16_t)0.840460f,(float16_t)0.844711f,(float16_t)0.848917f,(float16_t)0.853076f,
+(float16_t)0.857189f,(float16_t)0.861253f,(float16_t)0.865269f,(float16_t)0.869236f,(float16_t)0.873154f,(float16_t)0.877021f,(float16_t)0.880838f,(float16_t)0.884603f,(float16_t)0.888316f,(float16_t)0.891977f,
+(float16_t)0.895585f,(float16_t)0.899139f,(float16_t)0.902639f,(float16_t)0.906085f,(float16_t)0.909475f,(float16_t)0.912810f,(float16_t)0.916089f,(float16_t)0.919311f,(float16_t)0.922476f,(float16_t)0.925583f,
+(float16_t)0.928633f,(float16_t)0.931623f,(float16_t)0.934555f,(float16_t)0.937428f,(float16_t)0.940240f,(float16_t)0.942992f,(float16_t)0.945684f,(float16_t)0.948314f,(float16_t)0.950883f,(float16_t)0.953390f,
+(float16_t)0.955835f,(float16_t)0.958217f,(float16_t)0.960536f,(float16_t)0.962792f,(float16_t)0.964985f,(float16_t)0.967113f,(float16_t)0.969177f,(float16_t)0.971176f,(float16_t)0.973110f,(float16_t)0.974979f,
+(float16_t)0.976783f,(float16_t)0.978521f,(float16_t)0.980193f,(float16_t)0.981798f,(float16_t)0.983337f,(float16_t)0.984809f,(float16_t)0.986214f,(float16_t)0.987552f,(float16_t)0.988823f,(float16_t)0.990026f,
+(float16_t)0.991161f,(float16_t)0.992229f,(float16_t)0.993228f,(float16_t)0.994159f,(float16_t)0.995021f,(float16_t)0.995815f,(float16_t)0.996541f,(float16_t)0.997197f,(float16_t)0.997785f,(float16_t)0.998304f,
+(float16_t)0.998754f,(float16_t)0.999134f,(float16_t)0.999446f,(float16_t)0.999688f,(float16_t)0.999861f,(float16_t)0.999965f,(float16_t)1.000000f,(float16_t)0.999965f,(float16_t)0.999861f,(float16_t)0.999688f,
+(float16_t)0.999446f,(float16_t)0.999134f,(float16_t)0.998754f,(float16_t)0.998304f,(float16_t)0.997785f,(float16_t)0.997197f,(float16_t)0.996541f,(float16_t)0.995815f,(float16_t)0.995021f,(float16_t)0.994159f,
+(float16_t)0.993228f,(float16_t)0.992229f,(float16_t)0.991161f,(float16_t)0.990026f,(float16_t)0.988823f,(float16_t)0.987552f,(float16_t)0.986214f,(float16_t)0.984809f,(float16_t)0.983337f,(float16_t)0.981798f,
+(float16_t)0.980193f,(float16_t)0.978521f,(float16_t)0.976783f,(float16_t)0.974979f,(float16_t)0.973110f,(float16_t)0.971176f,(float16_t)0.969177f,(float16_t)0.967113f,(float16_t)0.964985f,(float16_t)0.962792f,
+(float16_t)0.960536f,(float16_t)0.958217f,(float16_t)0.955835f,(float16_t)0.953390f,(float16_t)0.950883f,(float16_t)0.948314f,(float16_t)0.945684f,(float16_t)0.942992f,(float16_t)0.940240f,(float16_t)0.937428f,
+(float16_t)0.934555f,(float16_t)0.931623f,(float16_t)0.928633f,(float16_t)0.925583f,(float16_t)0.922476f,(float16_t)0.919311f,(float16_t)0.916089f,(float16_t)0.912810f,(float16_t)0.909475f,(float16_t)0.906085f,
+(float16_t)0.902639f,(float16_t)0.899139f,(float16_t)0.895585f,(float16_t)0.891977f,(float16_t)0.888316f,(float16_t)0.884603f,(float16_t)0.880838f,(float16_t)0.877021f,(float16_t)0.873154f,(float16_t)0.869236f,
+(float16_t)0.865269f,(float16_t)0.861253f,(float16_t)0.857189f,(float16_t)0.853076f,(float16_t)0.848917f,(float16_t)0.844711f,(float16_t)0.840460f,(float16_t)0.836163f,(float16_t)0.831821f,(float16_t)0.827435f,
+(float16_t)0.823007f,(float16_t)0.818535f,(float16_t)0.814022f,(float16_t)0.809467f,(float16_t)0.804872f,(float16_t)0.800237f,(float16_t)0.795562f,(float16_t)0.790850f,(float16_t)0.786099f,(float16_t)0.781311f,
+(float16_t)0.776487f,(float16_t)0.771628f,(float16_t)0.766733f,(float16_t)0.761805f,(float16_t)0.756842f,(float16_t)0.751848f,(float16_t)0.746821f,(float16_t)0.741763f,(float16_t)0.736675f,(float16_t)0.731558f,
+(float16_t)0.726411f,(float16_t)0.721236f,(float16_t)0.716034f,(float16_t)0.710806f,(float16_t)0.705552f,(float16_t)0.700273f,(float16_t)0.694969f,(float16_t)0.689643f,(float16_t)0.684294f,(float16_t)0.678923f,
+(float16_t)0.673531f,(float16_t)0.668119f,(float16_t)0.662688f,(float16_t)0.657238f,(float16_t)0.651771f,(float16_t)0.646287f,(float16_t)0.640787f,(float16_t)0.635271f,(float16_t)0.629742f,(float16_t)0.624198f,
+(float16_t)0.618642f,(float16_t)0.613075f,(float16_t)0.607496f,(float16_t)0.601907f,(float16_t)0.596309f,(float16_t)0.590702f,(float16_t)0.585088f,(float16_t)0.579467f,(float16_t)0.573840f,(float16_t)0.568208f,
+(float16_t)0.562571f,(float16_t)0.556931f,(float16_t)0.551289f,(float16_t)0.545645f,(float16_t)0.540000f,(float16_t)0.534355f,(float16_t)0.528711f,(float16_t)0.523069f,(float16_t)0.517429f,(float16_t)0.511792f,
+(float16_t)0.506160f,(float16_t)0.500533f,(float16_t)0.494912f,(float16_t)0.489298f,(float16_t)0.483691f,(float16_t)0.478093f,(float16_t)0.472504f,(float16_t)0.466925f,(float16_t)0.461358f,(float16_t)0.455802f,
+(float16_t)0.450258f,(float16_t)0.444729f,(float16_t)0.439213f,(float16_t)0.433713f,(float16_t)0.428229f,(float16_t)0.422762f,(float16_t)0.417312f,(float16_t)0.411881f,(float16_t)0.406469f,(float16_t)0.401077f,
+(float16_t)0.395706f,(float16_t)0.390357f,(float16_t)0.385031f,(float16_t)0.379727f,(float16_t)0.374448f,(float16_t)0.369194f,(float16_t)0.363966f,(float16_t)0.358764f,(float16_t)0.353589f,(float16_t)0.348442f,
+(float16_t)0.343325f,(float16_t)0.338237f,(float16_t)0.333179f,(float16_t)0.328152f,(float16_t)0.323157f,(float16_t)0.318195f,(float16_t)0.313267f,(float16_t)0.308372f,(float16_t)0.303513f,(float16_t)0.298689f,
+(float16_t)0.293901f,(float16_t)0.289151f,(float16_t)0.284438f,(float16_t)0.279763f,(float16_t)0.275128f,(float16_t)0.270533f,(float16_t)0.265978f,(float16_t)0.261465f,(float16_t)0.256993f,(float16_t)0.252565f,
+(float16_t)0.248179f,(float16_t)0.243837f,(float16_t)0.239540f,(float16_t)0.235289f,(float16_t)0.231083f,(float16_t)0.226924f,(float16_t)0.222811f,(float16_t)0.218747f,(float16_t)0.214731f,(float16_t)0.210764f,
+(float16_t)0.206846f,(float16_t)0.202979f,(float16_t)0.199162f,(float16_t)0.195397f,(float16_t)0.191684f,(float16_t)0.188023f,(float16_t)0.184415f,(float16_t)0.180861f,(float16_t)0.177361f,(float16_t)0.173915f,
+(float16_t)0.170525f,(float16_t)0.167190f,(float16_t)0.163911f,(float16_t)0.160689f,(float16_t)0.157524f,(float16_t)0.154417f,(float16_t)0.151367f,(float16_t)0.148377f,(float16_t)0.145445f,(float16_t)0.142572f,
+(float16_t)0.139760f,(float16_t)0.137008f,(float16_t)0.134316f,(float16_t)0.131686f,(float16_t)0.129117f,(float16_t)0.126610f,(float16_t)0.124165f,(float16_t)0.121783f,(float16_t)0.119464f,(float16_t)0.117208f,
+(float16_t)0.115015f,(float16_t)0.112887f,(float16_t)0.110823f,(float16_t)0.108824f,(float16_t)0.106890f,(float16_t)0.105021f,(float16_t)0.103217f,(float16_t)0.101479f,(float16_t)0.099807f,(float16_t)0.098202f,
+(float16_t)0.096663f,(float16_t)0.095191f,(float16_t)0.093786f,(float16_t)0.092448f,(float16_t)0.091177f,(float16_t)0.089974f,(float16_t)0.088839f,(float16_t)0.087771f,(float16_t)0.086772f,(float16_t)0.085841f,
+(float16_t)0.084979f,(float16_t)0.084185f,(float16_t)0.083459f,(float16_t)0.082803f,(float16_t)0.082215f,(float16_t)0.081696f,(float16_t)0.081246f,(float16_t)0.080866f,(float16_t)0.080554f,(float16_t)0.080312f,
+(float16_t)0.080139f,(float16_t)0.080035f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_window_coefs_config3_f16[NB_MFCC_WIN_COEFS_CONFIG3_F16]={
+(float16_t)0.080000f,(float16_t)0.080139f,(float16_t)0.080554f,(float16_t)0.081246f,(float16_t)0.082215f,(float16_t)0.083459f,(float16_t)0.084979f,(float16_t)0.086772f,(float16_t)0.088839f,(float16_t)0.091177f,
+(float16_t)0.093786f,(float16_t)0.096663f,(float16_t)0.099807f,(float16_t)0.103217f,(float16_t)0.106890f,(float16_t)0.110823f,(float16_t)0.115015f,(float16_t)0.119464f,(float16_t)0.124165f,(float16_t)0.129117f,
+(float16_t)0.134316f,(float16_t)0.139760f,(float16_t)0.145445f,(float16_t)0.151367f,(float16_t)0.157524f,(float16_t)0.163911f,(float16_t)0.170525f,(float16_t)0.177361f,(float16_t)0.184415f,(float16_t)0.191684f,
+(float16_t)0.199162f,(float16_t)0.206846f,(float16_t)0.214731f,(float16_t)0.222811f,(float16_t)0.231083f,(float16_t)0.239540f,(float16_t)0.248179f,(float16_t)0.256993f,(float16_t)0.265978f,(float16_t)0.275128f,
+(float16_t)0.284438f,(float16_t)0.293901f,(float16_t)0.303513f,(float16_t)0.313267f,(float16_t)0.323157f,(float16_t)0.333179f,(float16_t)0.343325f,(float16_t)0.353589f,(float16_t)0.363966f,(float16_t)0.374448f,
+(float16_t)0.385031f,(float16_t)0.395706f,(float16_t)0.406469f,(float16_t)0.417312f,(float16_t)0.428229f,(float16_t)0.439213f,(float16_t)0.450258f,(float16_t)0.461358f,(float16_t)0.472504f,(float16_t)0.483691f,
+(float16_t)0.494912f,(float16_t)0.506160f,(float16_t)0.517429f,(float16_t)0.528711f,(float16_t)0.540000f,(float16_t)0.551289f,(float16_t)0.562571f,(float16_t)0.573840f,(float16_t)0.585088f,(float16_t)0.596309f,
+(float16_t)0.607496f,(float16_t)0.618642f,(float16_t)0.629742f,(float16_t)0.640787f,(float16_t)0.651771f,(float16_t)0.662688f,(float16_t)0.673531f,(float16_t)0.684294f,(float16_t)0.694969f,(float16_t)0.705552f,
+(float16_t)0.716034f,(float16_t)0.726411f,(float16_t)0.736675f,(float16_t)0.746821f,(float16_t)0.756842f,(float16_t)0.766733f,(float16_t)0.776487f,(float16_t)0.786099f,(float16_t)0.795562f,(float16_t)0.804872f,
+(float16_t)0.814022f,(float16_t)0.823007f,(float16_t)0.831821f,(float16_t)0.840460f,(float16_t)0.848917f,(float16_t)0.857189f,(float16_t)0.865269f,(float16_t)0.873154f,(float16_t)0.880838f,(float16_t)0.888316f,
+(float16_t)0.895585f,(float16_t)0.902639f,(float16_t)0.909475f,(float16_t)0.916089f,(float16_t)0.922476f,(float16_t)0.928633f,(float16_t)0.934555f,(float16_t)0.940240f,(float16_t)0.945684f,(float16_t)0.950883f,
+(float16_t)0.955835f,(float16_t)0.960536f,(float16_t)0.964985f,(float16_t)0.969177f,(float16_t)0.973110f,(float16_t)0.976783f,(float16_t)0.980193f,(float16_t)0.983337f,(float16_t)0.986214f,(float16_t)0.988823f,
+(float16_t)0.991161f,(float16_t)0.993228f,(float16_t)0.995021f,(float16_t)0.996541f,(float16_t)0.997785f,(float16_t)0.998754f,(float16_t)0.999446f,(float16_t)0.999861f,(float16_t)1.000000f,(float16_t)0.999861f,
+(float16_t)0.999446f,(float16_t)0.998754f,(float16_t)0.997785f,(float16_t)0.996541f,(float16_t)0.995021f,(float16_t)0.993228f,(float16_t)0.991161f,(float16_t)0.988823f,(float16_t)0.986214f,(float16_t)0.983337f,
+(float16_t)0.980193f,(float16_t)0.976783f,(float16_t)0.973110f,(float16_t)0.969177f,(float16_t)0.964985f,(float16_t)0.960536f,(float16_t)0.955835f,(float16_t)0.950883f,(float16_t)0.945684f,(float16_t)0.940240f,
+(float16_t)0.934555f,(float16_t)0.928633f,(float16_t)0.922476f,(float16_t)0.916089f,(float16_t)0.909475f,(float16_t)0.902639f,(float16_t)0.895585f,(float16_t)0.888316f,(float16_t)0.880838f,(float16_t)0.873154f,
+(float16_t)0.865269f,(float16_t)0.857189f,(float16_t)0.848917f,(float16_t)0.840460f,(float16_t)0.831821f,(float16_t)0.823007f,(float16_t)0.814022f,(float16_t)0.804872f,(float16_t)0.795562f,(float16_t)0.786099f,
+(float16_t)0.776487f,(float16_t)0.766733f,(float16_t)0.756842f,(float16_t)0.746821f,(float16_t)0.736675f,(float16_t)0.726411f,(float16_t)0.716034f,(float16_t)0.705552f,(float16_t)0.694969f,(float16_t)0.684294f,
+(float16_t)0.673531f,(float16_t)0.662688f,(float16_t)0.651771f,(float16_t)0.640787f,(float16_t)0.629742f,(float16_t)0.618642f,(float16_t)0.607496f,(float16_t)0.596309f,(float16_t)0.585088f,(float16_t)0.573840f,
+(float16_t)0.562571f,(float16_t)0.551289f,(float16_t)0.540000f,(float16_t)0.528711f,(float16_t)0.517429f,(float16_t)0.506160f,(float16_t)0.494912f,(float16_t)0.483691f,(float16_t)0.472504f,(float16_t)0.461358f,
+(float16_t)0.450258f,(float16_t)0.439213f,(float16_t)0.428229f,(float16_t)0.417312f,(float16_t)0.406469f,(float16_t)0.395706f,(float16_t)0.385031f,(float16_t)0.374448f,(float16_t)0.363966f,(float16_t)0.353589f,
+(float16_t)0.343325f,(float16_t)0.333179f,(float16_t)0.323157f,(float16_t)0.313267f,(float16_t)0.303513f,(float16_t)0.293901f,(float16_t)0.284438f,(float16_t)0.275128f,(float16_t)0.265978f,(float16_t)0.256993f,
+(float16_t)0.248179f,(float16_t)0.239540f,(float16_t)0.231083f,(float16_t)0.222811f,(float16_t)0.214731f,(float16_t)0.206846f,(float16_t)0.199162f,(float16_t)0.191684f,(float16_t)0.184415f,(float16_t)0.177361f,
+(float16_t)0.170525f,(float16_t)0.163911f,(float16_t)0.157524f,(float16_t)0.151367f,(float16_t)0.145445f,(float16_t)0.139760f,(float16_t)0.134316f,(float16_t)0.129117f,(float16_t)0.124165f,(float16_t)0.119464f,
+(float16_t)0.115015f,(float16_t)0.110823f,(float16_t)0.106890f,(float16_t)0.103217f,(float16_t)0.099807f,(float16_t)0.096663f,(float16_t)0.093786f,(float16_t)0.091177f,(float16_t)0.088839f,(float16_t)0.086772f,
+(float16_t)0.084979f,(float16_t)0.083459f,(float16_t)0.082215f,(float16_t)0.081246f,(float16_t)0.080554f,(float16_t)0.080139f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
+const uint32_t mfcc_filter_pos_config1_f16[NB_MFCC_NB_FILTER_CONFIG1_F16]={
+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_f16[NB_MFCC_NB_FILTER_CONFIG1_F16]={
+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_f16[NB_MFCC_NB_FILTER_CONFIG2_F16]={
+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_f16[NB_MFCC_NB_FILTER_CONFIG2_F16]={
+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_f16[NB_MFCC_NB_FILTER_CONFIG3_F16]={
+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_f16[NB_MFCC_NB_FILTER_CONFIG3_F16]={
+3,4,4,4,5,6,6,7,8,9,
+10,11,13,15,16,18,21,23,25,28,
+};
+
+
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_filter_coefs_config1_f16[NB_MFCC_FILTER_COEFS_CONFIG1_F16]={
+(float16_t)0.158152f,(float16_t)0.329789f,(float16_t)0.498080f,(float16_t)0.663153f,(float16_t)0.825129f,(float16_t)0.984122f,(float16_t)0.859761f,(float16_t)0.706417f,(float16_t)0.555749f,(float16_t)0.407665f,
+(float16_t)0.262079f,(float16_t)0.118907f,(float16_t)0.140239f,(float16_t)0.293583f,(float16_t)0.444251f,(float16_t)0.592335f,(float16_t)0.737921f,(float16_t)0.881093f,(float16_t)0.978071f,(float16_t)0.839496f,
+(float16_t)0.703110f,(float16_t)0.568845f,(float16_t)0.436636f,(float16_t)0.306422f,(float16_t)0.178142f,(float16_t)0.051741f,(float16_t)0.021929f,(float16_t)0.160504f,(float16_t)0.296890f,(float16_t)0.431155f,
+(float16_t)0.563364f,(float16_t)0.693578f,(float16_t)0.821858f,(float16_t)0.948259f,(float16_t)0.927164f,(float16_t)0.804358f,(float16_t)0.683276f,(float16_t)0.563868f,(float16_t)0.446089f,(float16_t)0.329895f,
+(float16_t)0.215245f,(float16_t)0.102097f,(float16_t)0.072836f,(float16_t)0.195642f,(float16_t)0.316724f,(float16_t)0.436132f,(float16_t)0.553911f,(float16_t)0.670105f,(float16_t)0.784755f,(float16_t)0.897903f,
+(float16_t)0.990413f,(float16_t)0.880155f,(float16_t)0.771288f,(float16_t)0.663777f,(float16_t)0.557588f,(float16_t)0.452689f,(float16_t)0.349050f,(float16_t)0.246640f,(float16_t)0.145430f,(float16_t)0.045394f,
+(float16_t)0.009587f,(float16_t)0.119845f,(float16_t)0.228712f,(float16_t)0.336223f,(float16_t)0.442412f,(float16_t)0.547311f,(float16_t)0.650950f,(float16_t)0.753360f,(float16_t)0.854570f,(float16_t)0.954606f,
+(float16_t)0.946503f,(float16_t)0.848733f,(float16_t)0.752057f,(float16_t)0.656452f,(float16_t)0.561894f,(float16_t)0.468360f,(float16_t)0.375829f,(float16_t)0.284280f,(float16_t)0.193690f,(float16_t)0.104042f,
+(float16_t)0.015315f,(float16_t)0.053497f,(float16_t)0.151267f,(float16_t)0.247943f,(float16_t)0.343548f,(float16_t)0.438106f,(float16_t)0.531640f,(float16_t)0.624171f,(float16_t)0.715720f,(float16_t)0.806310f,
+(float16_t)0.895958f,(float16_t)0.984685f,(float16_t)0.927491f,(float16_t)0.840551f,(float16_t)0.754478f,(float16_t)0.669255f,(float16_t)0.584864f,(float16_t)0.501291f,(float16_t)0.418519f,(float16_t)0.336533f,
+(float16_t)0.255318f,(float16_t)0.174861f,(float16_t)0.095146f,(float16_t)0.016160f,(float16_t)0.072509f,(float16_t)0.159449f,(float16_t)0.245522f,(float16_t)0.330745f,(float16_t)0.415136f,(float16_t)0.498709f,
+(float16_t)0.581481f,(float16_t)0.663467f,(float16_t)0.744682f,(float16_t)0.825139f,(float16_t)0.904854f,(float16_t)0.983840f,(float16_t)0.937891f,(float16_t)0.860325f,(float16_t)0.783449f,(float16_t)0.707252f,
+(float16_t)0.631722f,(float16_t)0.556847f,(float16_t)0.482615f,(float16_t)0.409017f,(float16_t)0.336040f,(float16_t)0.263676f,(float16_t)0.191913f,(float16_t)0.120741f,(float16_t)0.050152f,(float16_t)0.062109f,
+(float16_t)0.139675f,(float16_t)0.216551f,(float16_t)0.292748f,(float16_t)0.368278f,(float16_t)0.443153f,(float16_t)0.517385f,(float16_t)0.590983f,(float16_t)0.663960f,(float16_t)0.736324f,(float16_t)0.808087f,
+(float16_t)0.879259f,(float16_t)0.949848f,(float16_t)0.980135f,(float16_t)0.910681f,(float16_t)0.841781f,(float16_t)0.773427f,(float16_t)0.705610f,(float16_t)0.638322f,(float16_t)0.571554f,(float16_t)0.505298f,
+(float16_t)0.439548f,(float16_t)0.374294f,(float16_t)0.309529f,(float16_t)0.245247f,(float16_t)0.181440f,(float16_t)0.118101f,(float16_t)0.055223f,(float16_t)0.019865f,(float16_t)0.089319f,(float16_t)0.158219f,
+(float16_t)0.226573f,(float16_t)0.294390f,(float16_t)0.361678f,(float16_t)0.428446f,(float16_t)0.494702f,(float16_t)0.560452f,(float16_t)0.625706f,(float16_t)0.690471f,(float16_t)0.754753f,(float16_t)0.818560f,
+(float16_t)0.881899f,(float16_t)0.944777f,(float16_t)0.992800f,(float16_t)0.930826f,(float16_t)0.869293f,(float16_t)0.808195f,(float16_t)0.747527f,(float16_t)0.687282f,(float16_t)0.627454f,(float16_t)0.568039f,
+(float16_t)0.509029f,(float16_t)0.450420f,(float16_t)0.392207f,(float16_t)0.334383f,(float16_t)0.276944f,(float16_t)0.219885f,(float16_t)0.163200f,(float16_t)0.106885f,(float16_t)0.050935f,(float16_t)0.007200f,
+(float16_t)0.069174f,(float16_t)0.130707f,(float16_t)0.191805f,(float16_t)0.252473f,(float16_t)0.312718f,(float16_t)0.372546f,(float16_t)0.431961f,(float16_t)0.490971f,(float16_t)0.549580f,(float16_t)0.607793f,
+(float16_t)0.665617f,(float16_t)0.723056f,(float16_t)0.780115f,(float16_t)0.836800f,(float16_t)0.893115f,(float16_t)0.949065f,(float16_t)0.995345f,(float16_t)0.940111f,(float16_t)0.885228f,(float16_t)0.830692f,
+(float16_t)0.776498f,(float16_t)0.722642f,(float16_t)0.669120f,(float16_t)0.615928f,(float16_t)0.563062f,(float16_t)0.510517f,(float16_t)0.458290f,(float16_t)0.406378f,(float16_t)0.354775f,(float16_t)0.303479f,
+(float16_t)0.252487f,(float16_t)0.201793f,(float16_t)0.151396f,(float16_t)0.101291f,(float16_t)0.051475f,(float16_t)0.001945f,(float16_t)0.004655f,(float16_t)0.059889f,(float16_t)0.114772f,(float16_t)0.169308f,
+(float16_t)0.223502f,(float16_t)0.277358f,(float16_t)0.330880f,(float16_t)0.384072f,(float16_t)0.436938f,(float16_t)0.489483f,(float16_t)0.541710f,(float16_t)0.593622f,(float16_t)0.645225f,(float16_t)0.696521f,
+(float16_t)0.747513f,(float16_t)0.798207f,(float16_t)0.848604f,(float16_t)0.898709f,(float16_t)0.948525f,(float16_t)0.998055f,(float16_t)0.952698f,(float16_t)0.903729f,(float16_t)0.855038f,(float16_t)0.806619f,
+(float16_t)0.758470f,(float16_t)0.710588f,(float16_t)0.662971f,(float16_t)0.615614f,(float16_t)0.568516f,(float16_t)0.521674f,(float16_t)0.475084f,(float16_t)0.428744f,(float16_t)0.382652f,(float16_t)0.336804f,
+(float16_t)0.291199f,(float16_t)0.245834f,(float16_t)0.200705f,(float16_t)0.155811f,(float16_t)0.111150f,(float16_t)0.066718f,(float16_t)0.022514f,(float16_t)0.047302f,(float16_t)0.096271f,(float16_t)0.144962f,
+(float16_t)0.193381f,(float16_t)0.241530f,(float16_t)0.289412f,(float16_t)0.337029f,(float16_t)0.384386f,(float16_t)0.431484f,(float16_t)0.478326f,(float16_t)0.524916f,(float16_t)0.571256f,(float16_t)0.617348f,
+(float16_t)0.663196f,(float16_t)0.708801f,(float16_t)0.754166f,(float16_t)0.799295f,(float16_t)0.844189f,(float16_t)0.888850f,(float16_t)0.933282f,(float16_t)0.977486f,(float16_t)0.978535f,(float16_t)0.934779f,
+(float16_t)0.891243f,(float16_t)0.847926f,(float16_t)0.804826f,(float16_t)0.761939f,(float16_t)0.719265f,(float16_t)0.676800f,(float16_t)0.634543f,(float16_t)0.592492f,(float16_t)0.550645f,(float16_t)0.508999f,
+(float16_t)0.467554f,(float16_t)0.426307f,(float16_t)0.385255f,(float16_t)0.344399f,(float16_t)0.303734f,(float16_t)0.263260f,(float16_t)0.222975f,(float16_t)0.182877f,(float16_t)0.142965f,(float16_t)0.103236f,
+(float16_t)0.063689f,(float16_t)0.024323f,(float16_t)0.021465f,(float16_t)0.065221f,(float16_t)0.108757f,(float16_t)0.152074f,(float16_t)0.195174f,(float16_t)0.238061f,(float16_t)0.280735f,(float16_t)0.323200f,
+(float16_t)0.365457f,(float16_t)0.407508f,(float16_t)0.449355f,(float16_t)0.491001f,(float16_t)0.532446f,(float16_t)0.573693f,(float16_t)0.614745f,(float16_t)0.655601f,(float16_t)0.696266f,(float16_t)0.736740f,
+(float16_t)0.777025f,(float16_t)0.817123f,(float16_t)0.857035f,(float16_t)0.896764f,(float16_t)0.936311f,(float16_t)0.975677f,(float16_t)0.985135f,(float16_t)0.946124f,(float16_t)0.907289f,(float16_t)0.868628f,
+(float16_t)0.830139f,(float16_t)0.791821f,(float16_t)0.753672f,(float16_t)0.715691f,(float16_t)0.677876f,(float16_t)0.640227f,(float16_t)0.602740f,(float16_t)0.565416f,(float16_t)0.528253f,(float16_t)0.491249f,
+(float16_t)0.454402f,(float16_t)0.417713f,(float16_t)0.381178f,(float16_t)0.344798f,(float16_t)0.308570f,(float16_t)0.272494f,(float16_t)0.236568f,(float16_t)0.200790f,(float16_t)0.165161f,(float16_t)0.129678f,
+(float16_t)0.094340f,(float16_t)0.059146f,(float16_t)0.024095f,(float16_t)0.014865f,(float16_t)0.053876f,(float16_t)0.092711f,(float16_t)0.131372f,(float16_t)0.169861f,(float16_t)0.208179f,(float16_t)0.246328f,
+(float16_t)0.284309f,(float16_t)0.322124f,(float16_t)0.359773f,(float16_t)0.397260f,(float16_t)0.434584f,(float16_t)0.471747f,(float16_t)0.508751f,(float16_t)0.545597f,(float16_t)0.582287f,(float16_t)0.618822f,
+(float16_t)0.655202f,(float16_t)0.691430f,(float16_t)0.727506f,(float16_t)0.763432f,(float16_t)0.799210f,(float16_t)0.834839f,(float16_t)0.870322f,(float16_t)0.905660f,(float16_t)0.940854f,(float16_t)0.975905f,
+(float16_t)0.989185f,(float16_t)0.954417f,(float16_t)0.919787f,(float16_t)0.885297f,(float16_t)0.850943f,(float16_t)0.816725f,(float16_t)0.782643f,(float16_t)0.748695f,(float16_t)0.714879f,(float16_t)0.681196f,
+(float16_t)0.647643f,(float16_t)0.614221f,(float16_t)0.580927f,(float16_t)0.547761f,(float16_t)0.514722f,(float16_t)0.481809f,(float16_t)0.449021f,(float16_t)0.416357f,(float16_t)0.383817f,(float16_t)0.351398f,
+(float16_t)0.319101f,(float16_t)0.286924f,(float16_t)0.254866f,(float16_t)0.222928f,(float16_t)0.191107f,(float16_t)0.159402f,(float16_t)0.127814f,(float16_t)0.096341f,(float16_t)0.064982f,(float16_t)0.033737f,
+(float16_t)0.002604f,(float16_t)0.010815f,(float16_t)0.045583f,(float16_t)0.080213f,(float16_t)0.114703f,(float16_t)0.149057f,(float16_t)0.183275f,(float16_t)0.217357f,(float16_t)0.251305f,(float16_t)0.285121f,
+(float16_t)0.318804f,(float16_t)0.352357f,(float16_t)0.385779f,(float16_t)0.419073f,(float16_t)0.452239f,(float16_t)0.485278f,(float16_t)0.518191f,(float16_t)0.550979f,(float16_t)0.583643f,(float16_t)0.616183f,
+(float16_t)0.648602f,(float16_t)0.680899f,(float16_t)0.713076f,(float16_t)0.745134f,(float16_t)0.777072f,(float16_t)0.808893f,(float16_t)0.840598f,(float16_t)0.872186f,(float16_t)0.903659f,(float16_t)0.935018f,
+(float16_t)0.966263f,(float16_t)0.997396f,(float16_t)0.971584f,(float16_t)0.940674f,(float16_t)0.909875f,(float16_t)0.879185f,(float16_t)0.848604f,(float16_t)0.818130f,(float16_t)0.787764f,(float16_t)0.757505f,
+(float16_t)0.727351f,(float16_t)0.697302f,(float16_t)0.667357f,(float16_t)0.637516f,(float16_t)0.607777f,(float16_t)0.578141f,(float16_t)0.548606f,(float16_t)0.519172f,(float16_t)0.489838f,(float16_t)0.460603f,
+(float16_t)0.431467f,(float16_t)0.402428f,(float16_t)0.373487f,(float16_t)0.344643f,(float16_t)0.315895f,(float16_t)0.287242f,(float16_t)0.258684f,(float16_t)0.230221f,(float16_t)0.201850f,(float16_t)0.173573f,
+(float16_t)0.145388f,(float16_t)0.117295f,(float16_t)0.089293f,(float16_t)0.061381f,(float16_t)0.033559f,(float16_t)0.005827f,(float16_t)0.028416f,(float16_t)0.059326f,(float16_t)0.090125f,(float16_t)0.120815f,
+(float16_t)0.151396f,(float16_t)0.181870f,(float16_t)0.212236f,(float16_t)0.242495f,(float16_t)0.272649f,(float16_t)0.302698f,(float16_t)0.332643f,(float16_t)0.362484f,(float16_t)0.392223f,(float16_t)0.421859f,
+(float16_t)0.451394f,(float16_t)0.480828f,(float16_t)0.510162f,(float16_t)0.539397f,(float16_t)0.568533f,(float16_t)0.597572f,(float16_t)0.626513f,(float16_t)0.655357f,(float16_t)0.684105f,(float16_t)0.712758f,
+(float16_t)0.741315f,(float16_t)0.769779f,(float16_t)0.798150f,(float16_t)0.826427f,(float16_t)0.854612f,(float16_t)0.882705f,(float16_t)0.910707f,(float16_t)0.938619f,(float16_t)0.966441f,(float16_t)0.994173f,
+(float16_t)0.978184f,(float16_t)0.950628f,(float16_t)0.923161f,(float16_t)0.895780f,(float16_t)0.868486f,(float16_t)0.841279f,(float16_t)0.814156f,(float16_t)0.787119f,(float16_t)0.760166f,(float16_t)0.733296f,
+(float16_t)0.706511f,(float16_t)0.679808f,(float16_t)0.653187f,(float16_t)0.626648f,(float16_t)0.600191f,(float16_t)0.573814f,(float16_t)0.547518f,(float16_t)0.521302f,(float16_t)0.495165f,(float16_t)0.469106f,
+(float16_t)0.443127f,(float16_t)0.417225f,(float16_t)0.391401f,(float16_t)0.365653f,(float16_t)0.339983f,(float16_t)0.314388f,(float16_t)0.288869f,(float16_t)0.263425f,(float16_t)0.238056f,(float16_t)0.212762f,
+(float16_t)0.187541f,(float16_t)0.162394f,(float16_t)0.137319f,(float16_t)0.112318f,(float16_t)0.087388f,(float16_t)0.062531f,(float16_t)0.037744f,(float16_t)0.013029f,(float16_t)0.021816f,(float16_t)0.049372f,
+(float16_t)0.076839f,(float16_t)0.104220f,(float16_t)0.131514f,(float16_t)0.158721f,(float16_t)0.185844f,(float16_t)0.212881f,(float16_t)0.239834f,(float16_t)0.266704f,(float16_t)0.293489f,(float16_t)0.320192f,
+(float16_t)0.346813f,(float16_t)0.373352f,(float16_t)0.399809f,(float16_t)0.426186f,(float16_t)0.452482f,(float16_t)0.478698f,(float16_t)0.504835f,(float16_t)0.530894f,(float16_t)0.556873f,(float16_t)0.582775f,
+(float16_t)0.608599f,(float16_t)0.634347f,(float16_t)0.660017f,(float16_t)0.685612f,(float16_t)0.711131f,(float16_t)0.736575f,(float16_t)0.761944f,(float16_t)0.787238f,(float16_t)0.812459f,(float16_t)0.837606f,
+(float16_t)0.862681f,(float16_t)0.887682f,(float16_t)0.912612f,(float16_t)0.937469f,(float16_t)0.962256f,(float16_t)0.986971f,(float16_t)0.988384f,(float16_t)0.963810f,(float16_t)0.939305f,(float16_t)0.914869f,
+(float16_t)0.890503f,(float16_t)0.866205f,(float16_t)0.841975f,(float16_t)0.817813f,(float16_t)0.793719f,(float16_t)0.769691f,(float16_t)0.745730f,(float16_t)0.721836f,(float16_t)0.698008f,(float16_t)0.674245f,
+(float16_t)0.650547f,(float16_t)0.626914f,(float16_t)0.603346f,(float16_t)0.579842f,(float16_t)0.556401f,(float16_t)0.533025f,(float16_t)0.509711f,(float16_t)0.486460f,(float16_t)0.463272f,(float16_t)0.440145f,
+(float16_t)0.417081f,(float16_t)0.394078f,(float16_t)0.371136f,(float16_t)0.348254f,(float16_t)0.325434f,(float16_t)0.302673f,(float16_t)0.279973f,(float16_t)0.257332f,(float16_t)0.234750f,(float16_t)0.212227f,
+(float16_t)0.189762f,(float16_t)0.167356f,(float16_t)0.145008f,(float16_t)0.122718f,(float16_t)0.100485f,(float16_t)0.078309f,(float16_t)0.056190f,(float16_t)0.034127f,(float16_t)0.012121f,(float16_t)0.011616f,
+(float16_t)0.036190f,(float16_t)0.060695f,(float16_t)0.085131f,(float16_t)0.109497f,(float16_t)0.133795f,(float16_t)0.158025f,(float16_t)0.182187f,(float16_t)0.206281f,(float16_t)0.230309f,(float16_t)0.254270f,
+(float16_t)0.278164f,(float16_t)0.301992f,(float16_t)0.325755f,(float16_t)0.349453f,(float16_t)0.373086f,(float16_t)0.396654f,(float16_t)0.420158f,(float16_t)0.443599f,(float16_t)0.466975f,(float16_t)0.490289f,
+(float16_t)0.513540f,(float16_t)0.536728f,(float16_t)0.559855f,(float16_t)0.582919f,(float16_t)0.605922f,(float16_t)0.628864f,(float16_t)0.651745f,(float16_t)0.674566f,(float16_t)0.697327f,(float16_t)0.720027f,
+(float16_t)0.742669f,(float16_t)0.765250f,(float16_t)0.787773f,(float16_t)0.810238f,(float16_t)0.832644f,(float16_t)0.854992f,(float16_t)0.877282f,(float16_t)0.899515f,(float16_t)0.921691f,(float16_t)0.943810f,
+(float16_t)0.965873f,(float16_t)0.987879f,(float16_t)0.990171f,(float16_t)0.968276f,(float16_t)0.946437f,(float16_t)0.924653f,(float16_t)0.902923f,(float16_t)0.881249f,(float16_t)0.859628f,(float16_t)0.838062f,
+(float16_t)0.816549f,(float16_t)0.795090f,(float16_t)0.773684f,(float16_t)0.752330f,(float16_t)0.731030f,(float16_t)0.709782f,(float16_t)0.688586f,(float16_t)0.667442f,(float16_t)0.646350f,(float16_t)0.625309f,
+(float16_t)0.604320f,(float16_t)0.583381f,(float16_t)0.562493f,(float16_t)0.541655f,(float16_t)0.520867f,(float16_t)0.500130f,(float16_t)0.479442f,(float16_t)0.458803f,(float16_t)0.438214f,(float16_t)0.417674f,
+(float16_t)0.397182f,(float16_t)0.376740f,(float16_t)0.356345f,(float16_t)0.335998f,(float16_t)0.315700f,(float16_t)0.295448f,(float16_t)0.275245f,(float16_t)0.255088f,(float16_t)0.234978f,(float16_t)0.214916f,
+(float16_t)0.194899f,(float16_t)0.174929f,(float16_t)0.155005f,(float16_t)0.135127f,(float16_t)0.115295f,(float16_t)0.095508f,(float16_t)0.075766f,(float16_t)0.056069f,(float16_t)0.036417f,(float16_t)0.016810f,
+(float16_t)0.009829f,(float16_t)0.031724f,(float16_t)0.053563f,(float16_t)0.075347f,(float16_t)0.097077f,(float16_t)0.118751f,(float16_t)0.140372f,(float16_t)0.161938f,(float16_t)0.183451f,(float16_t)0.204910f,
+(float16_t)0.226316f,(float16_t)0.247670f,(float16_t)0.268970f,(float16_t)0.290218f,(float16_t)0.311414f,(float16_t)0.332558f,(float16_t)0.353650f,(float16_t)0.374691f,(float16_t)0.395680f,(float16_t)0.416619f,
+(float16_t)0.437507f,(float16_t)0.458345f,(float16_t)0.479133f,(float16_t)0.499870f,(float16_t)0.520558f,(float16_t)0.541197f,(float16_t)0.561786f,(float16_t)0.582326f,(float16_t)0.602817f,(float16_t)0.623260f,
+(float16_t)0.643655f,(float16_t)0.664002f,(float16_t)0.684300f,(float16_t)0.704552f,(float16_t)0.724755f,(float16_t)0.744912f,(float16_t)0.765022f,(float16_t)0.785084f,(float16_t)0.805101f,(float16_t)0.825071f,
+(float16_t)0.844995f,(float16_t)0.864873f,(float16_t)0.884705f,(float16_t)0.904492f,(float16_t)0.924234f,(float16_t)0.943931f,(float16_t)0.963583f,(float16_t)0.983190f,(float16_t)0.997247f,(float16_t)0.977729f,
+(float16_t)0.958254f,(float16_t)0.938824f,(float16_t)0.919437f,(float16_t)0.900093f,(float16_t)0.880792f,(float16_t)0.861535f,(float16_t)0.842321f,(float16_t)0.823149f,(float16_t)0.804020f,(float16_t)0.784933f,
+(float16_t)0.765888f,(float16_t)0.746885f,(float16_t)0.727923f,(float16_t)0.709004f,(float16_t)0.690125f,(float16_t)0.671288f,(float16_t)0.652492f,(float16_t)0.633737f,(float16_t)0.615022f,(float16_t)0.596348f,
+(float16_t)0.577714f,(float16_t)0.559120f,(float16_t)0.540567f,(float16_t)0.522053f,(float16_t)0.503578f,(float16_t)0.485144f,(float16_t)0.466748f,(float16_t)0.448391f,(float16_t)0.430074f,(float16_t)0.411795f,
+(float16_t)0.393555f,(float16_t)0.375353f,(float16_t)0.357190f,(float16_t)0.339065f,(float16_t)0.320977f,(float16_t)0.302928f,(float16_t)0.284916f,(float16_t)0.266942f,(float16_t)0.249005f,(float16_t)0.231105f,
+(float16_t)0.213242f,(float16_t)0.195416f,(float16_t)0.177627f,(float16_t)0.159875f,(float16_t)0.142159f,(float16_t)0.124479f,(float16_t)0.106835f,(float16_t)0.089227f,(float16_t)0.071656f,(float16_t)0.054119f,
+(float16_t)0.036619f,(float16_t)0.019154f,(float16_t)0.001724f,(float16_t)0.002753f,(float16_t)0.022271f,(float16_t)0.041746f,(float16_t)0.061176f,(float16_t)0.080564f,(float16_t)0.099907f,(float16_t)0.119208f,
+(float16_t)0.138465f,(float16_t)0.157679f,(float16_t)0.176851f,(float16_t)0.195980f,(float16_t)0.215067f,(float16_t)0.234112f,(float16_t)0.253115f,(float16_t)0.272077f,(float16_t)0.290996f,(float16_t)0.309875f,
+(float16_t)0.328712f,(float16_t)0.347508f,(float16_t)0.366263f,(float16_t)0.384978f,(float16_t)0.403652f,(float16_t)0.422286f,(float16_t)0.440880f,(float16_t)0.459433f,(float16_t)0.477947f,(float16_t)0.496422f,
+(float16_t)0.514856f,(float16_t)0.533252f,(float16_t)0.551609f,(float16_t)0.569926f,(float16_t)0.588205f,(float16_t)0.606445f,(float16_t)0.624647f,(float16_t)0.642810f,(float16_t)0.660935f,(float16_t)0.679023f,
+(float16_t)0.697072f,(float16_t)0.715084f,(float16_t)0.733058f,(float16_t)0.750995f,(float16_t)0.768895f,(float16_t)0.786758f,(float16_t)0.804583f,(float16_t)0.822373f,(float16_t)0.840125f,(float16_t)0.857841f,
+(float16_t)0.875521f,(float16_t)0.893165f,(float16_t)0.910773f,(float16_t)0.928344f,(float16_t)0.945881f,(float16_t)0.963381f,(float16_t)0.980846f,(float16_t)0.998276f,(float16_t)0.984329f,(float16_t)0.966969f,
+(float16_t)0.949644f,(float16_t)0.932354f,(float16_t)0.915098f,(float16_t)0.897877f,(float16_t)0.880689f,(float16_t)0.863537f,(float16_t)0.846418f,(float16_t)0.829333f,(float16_t)0.812281f,(float16_t)0.795264f,
+(float16_t)0.778279f,(float16_t)0.761329f,(float16_t)0.744411f,(float16_t)0.727526f,(float16_t)0.710675f,(float16_t)0.693856f,(float16_t)0.677070f,(float16_t)0.660317f,(float16_t)0.643596f,(float16_t)0.626907f,
+(float16_t)0.610251f,(float16_t)0.593626f,(float16_t)0.577034f,(float16_t)0.560473f,(float16_t)0.543944f,(float16_t)0.527447f,(float16_t)0.510981f,(float16_t)0.494546f,(float16_t)0.478143f,(float16_t)0.461771f,
+(float16_t)0.445430f,(float16_t)0.429119f,(float16_t)0.412840f,(float16_t)0.396591f,(float16_t)0.380372f,(float16_t)0.364184f,(float16_t)0.348027f,(float16_t)0.331899f,(float16_t)0.315802f,(float16_t)0.299734f,
+(float16_t)0.283697f,(float16_t)0.267689f,(float16_t)0.251710f,(float16_t)0.235762f,(float16_t)0.219842f,(float16_t)0.203952f,(float16_t)0.188091f,(float16_t)0.172260f,(float16_t)0.156457f,(float16_t)0.140683f,
+(float16_t)0.124938f,(float16_t)0.109221f,(float16_t)0.093533f,(float16_t)0.077874f,(float16_t)0.062243f,(float16_t)0.046640f,(float16_t)0.031065f,(float16_t)0.015519f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_filter_coefs_config2_f16[NB_MFCC_FILTER_COEFS_CONFIG2_F16]={
+(float16_t)0.329789f,(float16_t)0.663153f,(float16_t)0.984122f,(float16_t)0.706417f,(float16_t)0.407665f,(float16_t)0.118907f,(float16_t)0.293583f,(float16_t)0.592335f,(float16_t)0.881093f,(float16_t)0.839496f,
+(float16_t)0.568845f,(float16_t)0.306422f,(float16_t)0.051741f,(float16_t)0.160504f,(float16_t)0.431155f,(float16_t)0.693578f,(float16_t)0.948259f,(float16_t)0.804358f,(float16_t)0.563868f,(float16_t)0.329895f,
+(float16_t)0.102097f,(float16_t)0.195642f,(float16_t)0.436132f,(float16_t)0.670105f,(float16_t)0.897903f,(float16_t)0.880155f,(float16_t)0.663777f,(float16_t)0.452689f,(float16_t)0.246640f,(float16_t)0.045394f,
+(float16_t)0.119845f,(float16_t)0.336223f,(float16_t)0.547311f,(float16_t)0.753360f,(float16_t)0.954606f,(float16_t)0.848733f,(float16_t)0.656452f,(float16_t)0.468360f,(float16_t)0.284280f,(float16_t)0.104042f,
+(float16_t)0.151267f,(float16_t)0.343548f,(float16_t)0.531640f,(float16_t)0.715720f,(float16_t)0.895958f,(float16_t)0.927491f,(float16_t)0.754478f,(float16_t)0.584864f,(float16_t)0.418519f,(float16_t)0.255318f,
+(float16_t)0.095146f,(float16_t)0.072509f,(float16_t)0.245522f,(float16_t)0.415136f,(float16_t)0.581481f,(float16_t)0.744682f,(float16_t)0.904854f,(float16_t)0.937891f,(float16_t)0.783449f,(float16_t)0.631722f,
+(float16_t)0.482615f,(float16_t)0.336040f,(float16_t)0.191913f,(float16_t)0.050152f,(float16_t)0.062109f,(float16_t)0.216551f,(float16_t)0.368278f,(float16_t)0.517385f,(float16_t)0.663960f,(float16_t)0.808087f,
+(float16_t)0.949848f,(float16_t)0.910681f,(float16_t)0.773427f,(float16_t)0.638322f,(float16_t)0.505298f,(float16_t)0.374294f,(float16_t)0.245247f,(float16_t)0.118101f,(float16_t)0.089319f,(float16_t)0.226573f,
+(float16_t)0.361678f,(float16_t)0.494702f,(float16_t)0.625706f,(float16_t)0.754753f,(float16_t)0.881899f,(float16_t)0.992800f,(float16_t)0.869293f,(float16_t)0.747527f,(float16_t)0.627454f,(float16_t)0.509029f,
+(float16_t)0.392207f,(float16_t)0.276944f,(float16_t)0.163200f,(float16_t)0.050935f,(float16_t)0.007200f,(float16_t)0.130707f,(float16_t)0.252473f,(float16_t)0.372546f,(float16_t)0.490971f,(float16_t)0.607793f,
+(float16_t)0.723056f,(float16_t)0.836800f,(float16_t)0.949065f,(float16_t)0.940111f,(float16_t)0.830692f,(float16_t)0.722642f,(float16_t)0.615928f,(float16_t)0.510517f,(float16_t)0.406378f,(float16_t)0.303479f,
+(float16_t)0.201793f,(float16_t)0.101291f,(float16_t)0.001945f,(float16_t)0.059889f,(float16_t)0.169308f,(float16_t)0.277358f,(float16_t)0.384072f,(float16_t)0.489483f,(float16_t)0.593622f,(float16_t)0.696521f,
+(float16_t)0.798207f,(float16_t)0.898709f,(float16_t)0.998055f,(float16_t)0.903729f,(float16_t)0.806619f,(float16_t)0.710588f,(float16_t)0.615614f,(float16_t)0.521674f,(float16_t)0.428744f,(float16_t)0.336804f,
+(float16_t)0.245834f,(float16_t)0.155811f,(float16_t)0.066718f,(float16_t)0.096271f,(float16_t)0.193381f,(float16_t)0.289412f,(float16_t)0.384386f,(float16_t)0.478326f,(float16_t)0.571256f,(float16_t)0.663196f,
+(float16_t)0.754166f,(float16_t)0.844189f,(float16_t)0.933282f,(float16_t)0.978535f,(float16_t)0.891243f,(float16_t)0.804826f,(float16_t)0.719265f,(float16_t)0.634543f,(float16_t)0.550645f,(float16_t)0.467554f,
+(float16_t)0.385255f,(float16_t)0.303734f,(float16_t)0.222975f,(float16_t)0.142965f,(float16_t)0.063689f,(float16_t)0.021465f,(float16_t)0.108757f,(float16_t)0.195174f,(float16_t)0.280735f,(float16_t)0.365457f,
+(float16_t)0.449355f,(float16_t)0.532446f,(float16_t)0.614745f,(float16_t)0.696266f,(float16_t)0.777025f,(float16_t)0.857035f,(float16_t)0.936311f,(float16_t)0.985135f,(float16_t)0.907289f,(float16_t)0.830139f,
+(float16_t)0.753672f,(float16_t)0.677876f,(float16_t)0.602740f,(float16_t)0.528253f,(float16_t)0.454402f,(float16_t)0.381178f,(float16_t)0.308570f,(float16_t)0.236568f,(float16_t)0.165161f,(float16_t)0.094340f,
+(float16_t)0.024095f,(float16_t)0.014865f,(float16_t)0.092711f,(float16_t)0.169861f,(float16_t)0.246328f,(float16_t)0.322124f,(float16_t)0.397260f,(float16_t)0.471747f,(float16_t)0.545597f,(float16_t)0.618822f,
+(float16_t)0.691430f,(float16_t)0.763432f,(float16_t)0.834839f,(float16_t)0.905660f,(float16_t)0.975905f,(float16_t)0.954417f,(float16_t)0.885297f,(float16_t)0.816725f,(float16_t)0.748695f,(float16_t)0.681196f,
+(float16_t)0.614221f,(float16_t)0.547761f,(float16_t)0.481809f,(float16_t)0.416357f,(float16_t)0.351398f,(float16_t)0.286924f,(float16_t)0.222928f,(float16_t)0.159402f,(float16_t)0.096341f,(float16_t)0.033737f,
+(float16_t)0.045583f,(float16_t)0.114703f,(float16_t)0.183275f,(float16_t)0.251305f,(float16_t)0.318804f,(float16_t)0.385779f,(float16_t)0.452239f,(float16_t)0.518191f,(float16_t)0.583643f,(float16_t)0.648602f,
+(float16_t)0.713076f,(float16_t)0.777072f,(float16_t)0.840598f,(float16_t)0.903659f,(float16_t)0.966263f,(float16_t)0.971584f,(float16_t)0.909875f,(float16_t)0.848604f,(float16_t)0.787764f,(float16_t)0.727351f,
+(float16_t)0.667357f,(float16_t)0.607777f,(float16_t)0.548606f,(float16_t)0.489838f,(float16_t)0.431467f,(float16_t)0.373487f,(float16_t)0.315895f,(float16_t)0.258684f,(float16_t)0.201850f,(float16_t)0.145388f,
+(float16_t)0.089293f,(float16_t)0.033559f,(float16_t)0.028416f,(float16_t)0.090125f,(float16_t)0.151396f,(float16_t)0.212236f,(float16_t)0.272649f,(float16_t)0.332643f,(float16_t)0.392223f,(float16_t)0.451394f,
+(float16_t)0.510162f,(float16_t)0.568533f,(float16_t)0.626513f,(float16_t)0.684105f,(float16_t)0.741315f,(float16_t)0.798150f,(float16_t)0.854612f,(float16_t)0.910707f,(float16_t)0.966441f,(float16_t)0.978184f,
+(float16_t)0.923161f,(float16_t)0.868486f,(float16_t)0.814156f,(float16_t)0.760166f,(float16_t)0.706511f,(float16_t)0.653187f,(float16_t)0.600191f,(float16_t)0.547518f,(float16_t)0.495165f,(float16_t)0.443127f,
+(float16_t)0.391401f,(float16_t)0.339983f,(float16_t)0.288869f,(float16_t)0.238056f,(float16_t)0.187541f,(float16_t)0.137319f,(float16_t)0.087388f,(float16_t)0.037744f,(float16_t)0.021816f,(float16_t)0.076839f,
+(float16_t)0.131514f,(float16_t)0.185844f,(float16_t)0.239834f,(float16_t)0.293489f,(float16_t)0.346813f,(float16_t)0.399809f,(float16_t)0.452482f,(float16_t)0.504835f,(float16_t)0.556873f,(float16_t)0.608599f,
+(float16_t)0.660017f,(float16_t)0.711131f,(float16_t)0.761944f,(float16_t)0.812459f,(float16_t)0.862681f,(float16_t)0.912612f,(float16_t)0.962256f,(float16_t)0.988384f,(float16_t)0.939305f,(float16_t)0.890503f,
+(float16_t)0.841975f,(float16_t)0.793719f,(float16_t)0.745730f,(float16_t)0.698008f,(float16_t)0.650547f,(float16_t)0.603346f,(float16_t)0.556401f,(float16_t)0.509711f,(float16_t)0.463272f,(float16_t)0.417081f,
+(float16_t)0.371136f,(float16_t)0.325434f,(float16_t)0.279973f,(float16_t)0.234750f,(float16_t)0.189762f,(float16_t)0.145008f,(float16_t)0.100485f,(float16_t)0.056190f,(float16_t)0.012121f,(float16_t)0.011616f,
+(float16_t)0.060695f,(float16_t)0.109497f,(float16_t)0.158025f,(float16_t)0.206281f,(float16_t)0.254270f,(float16_t)0.301992f,(float16_t)0.349453f,(float16_t)0.396654f,(float16_t)0.443599f,(float16_t)0.490289f,
+(float16_t)0.536728f,(float16_t)0.582919f,(float16_t)0.628864f,(float16_t)0.674566f,(float16_t)0.720027f,(float16_t)0.765250f,(float16_t)0.810238f,(float16_t)0.854992f,(float16_t)0.899515f,(float16_t)0.943810f,
+(float16_t)0.987879f,(float16_t)0.968276f,(float16_t)0.924653f,(float16_t)0.881249f,(float16_t)0.838062f,(float16_t)0.795090f,(float16_t)0.752330f,(float16_t)0.709782f,(float16_t)0.667442f,(float16_t)0.625309f,
+(float16_t)0.583381f,(float16_t)0.541655f,(float16_t)0.500130f,(float16_t)0.458803f,(float16_t)0.417674f,(float16_t)0.376740f,(float16_t)0.335998f,(float16_t)0.295448f,(float16_t)0.255088f,(float16_t)0.214916f,
+(float16_t)0.174929f,(float16_t)0.135127f,(float16_t)0.095508f,(float16_t)0.056069f,(float16_t)0.016810f,(float16_t)0.031724f,(float16_t)0.075347f,(float16_t)0.118751f,(float16_t)0.161938f,(float16_t)0.204910f,
+(float16_t)0.247670f,(float16_t)0.290218f,(float16_t)0.332558f,(float16_t)0.374691f,(float16_t)0.416619f,(float16_t)0.458345f,(float16_t)0.499870f,(float16_t)0.541197f,(float16_t)0.582326f,(float16_t)0.623260f,
+(float16_t)0.664002f,(float16_t)0.704552f,(float16_t)0.744912f,(float16_t)0.785084f,(float16_t)0.825071f,(float16_t)0.864873f,(float16_t)0.904492f,(float16_t)0.943931f,(float16_t)0.983190f,(float16_t)0.977729f,
+(float16_t)0.938824f,(float16_t)0.900093f,(float16_t)0.861535f,(float16_t)0.823149f,(float16_t)0.784933f,(float16_t)0.746885f,(float16_t)0.709004f,(float16_t)0.671288f,(float16_t)0.633737f,(float16_t)0.596348f,
+(float16_t)0.559120f,(float16_t)0.522053f,(float16_t)0.485144f,(float16_t)0.448391f,(float16_t)0.411795f,(float16_t)0.375353f,(float16_t)0.339065f,(float16_t)0.302928f,(float16_t)0.266942f,(float16_t)0.231105f,
+(float16_t)0.195416f,(float16_t)0.159875f,(float16_t)0.124479f,(float16_t)0.089227f,(float16_t)0.054119f,(float16_t)0.019154f,(float16_t)0.022271f,(float16_t)0.061176f,(float16_t)0.099907f,(float16_t)0.138465f,
+(float16_t)0.176851f,(float16_t)0.215067f,(float16_t)0.253115f,(float16_t)0.290996f,(float16_t)0.328712f,(float16_t)0.366263f,(float16_t)0.403652f,(float16_t)0.440880f,(float16_t)0.477947f,(float16_t)0.514856f,
+(float16_t)0.551609f,(float16_t)0.588205f,(float16_t)0.624647f,(float16_t)0.660935f,(float16_t)0.697072f,(float16_t)0.733058f,(float16_t)0.768895f,(float16_t)0.804583f,(float16_t)0.840125f,(float16_t)0.875521f,
+(float16_t)0.910773f,(float16_t)0.945881f,(float16_t)0.980846f,(float16_t)0.984329f,(float16_t)0.949644f,(float16_t)0.915098f,(float16_t)0.880689f,(float16_t)0.846418f,(float16_t)0.812281f,(float16_t)0.778279f,
+(float16_t)0.744411f,(float16_t)0.710675f,(float16_t)0.677070f,(float16_t)0.643596f,(float16_t)0.610251f,(float16_t)0.577034f,(float16_t)0.543944f,(float16_t)0.510981f,(float16_t)0.478143f,(float16_t)0.445430f,
+(float16_t)0.412840f,(float16_t)0.380372f,(float16_t)0.348027f,(float16_t)0.315802f,(float16_t)0.283697f,(float16_t)0.251710f,(float16_t)0.219842f,(float16_t)0.188091f,(float16_t)0.156457f,(float16_t)0.124938f,
+(float16_t)0.093533f,(float16_t)0.062243f,(float16_t)0.031065f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+#if defined(ARM_FLOAT16_SUPPORTED)
+const float16_t mfcc_filter_coefs_config3_f16[NB_MFCC_FILTER_COEFS_CONFIG3_F16]={
+(float16_t)0.663153f,(float16_t)0.706417f,(float16_t)0.118907f,(float16_t)0.293583f,(float16_t)0.881093f,(float16_t)0.568845f,(float16_t)0.051741f,(float16_t)0.431155f,(float16_t)0.948259f,(float16_t)0.563868f,
+(float16_t)0.102097f,(float16_t)0.436132f,(float16_t)0.897903f,(float16_t)0.663777f,(float16_t)0.246640f,(float16_t)0.336223f,(float16_t)0.753360f,(float16_t)0.848733f,(float16_t)0.468360f,(float16_t)0.104042f,
+(float16_t)0.151267f,(float16_t)0.531640f,(float16_t)0.895958f,(float16_t)0.754478f,(float16_t)0.418519f,(float16_t)0.095146f,(float16_t)0.245522f,(float16_t)0.581481f,(float16_t)0.904854f,(float16_t)0.783449f,
+(float16_t)0.482615f,(float16_t)0.191913f,(float16_t)0.216551f,(float16_t)0.517385f,(float16_t)0.808087f,(float16_t)0.910681f,(float16_t)0.638322f,(float16_t)0.374294f,(float16_t)0.118101f,(float16_t)0.089319f,
+(float16_t)0.361678f,(float16_t)0.625706f,(float16_t)0.881899f,(float16_t)0.869293f,(float16_t)0.627454f,(float16_t)0.392207f,(float16_t)0.163200f,(float16_t)0.130707f,(float16_t)0.372546f,(float16_t)0.607793f,
+(float16_t)0.836800f,(float16_t)0.940111f,(float16_t)0.722642f,(float16_t)0.510517f,(float16_t)0.303479f,(float16_t)0.101291f,(float16_t)0.059889f,(float16_t)0.277358f,(float16_t)0.489483f,(float16_t)0.696521f,
+(float16_t)0.898709f,(float16_t)0.903729f,(float16_t)0.710588f,(float16_t)0.521674f,(float16_t)0.336804f,(float16_t)0.155811f,(float16_t)0.096271f,(float16_t)0.289412f,(float16_t)0.478326f,(float16_t)0.663196f,
+(float16_t)0.844189f,(float16_t)0.978535f,(float16_t)0.804826f,(float16_t)0.634543f,(float16_t)0.467554f,(float16_t)0.303734f,(float16_t)0.142965f,(float16_t)0.021465f,(float16_t)0.195174f,(float16_t)0.365457f,
+(float16_t)0.532446f,(float16_t)0.696266f,(float16_t)0.857035f,(float16_t)0.985135f,(float16_t)0.830139f,(float16_t)0.677876f,(float16_t)0.528253f,(float16_t)0.381178f,(float16_t)0.236568f,(float16_t)0.094340f,
+(float16_t)0.014865f,(float16_t)0.169861f,(float16_t)0.322124f,(float16_t)0.471747f,(float16_t)0.618822f,(float16_t)0.763432f,(float16_t)0.905660f,(float16_t)0.954417f,(float16_t)0.816725f,(float16_t)0.681196f,
+(float16_t)0.547761f,(float16_t)0.416357f,(float16_t)0.286924f,(float16_t)0.159402f,(float16_t)0.033737f,(float16_t)0.045583f,(float16_t)0.183275f,(float16_t)0.318804f,(float16_t)0.452239f,(float16_t)0.583643f,
+(float16_t)0.713076f,(float16_t)0.840598f,(float16_t)0.966263f,(float16_t)0.909875f,(float16_t)0.787764f,(float16_t)0.667357f,(float16_t)0.548606f,(float16_t)0.431467f,(float16_t)0.315895f,(float16_t)0.201850f,
+(float16_t)0.089293f,(float16_t)0.090125f,(float16_t)0.212236f,(float16_t)0.332643f,(float16_t)0.451394f,(float16_t)0.568533f,(float16_t)0.684105f,(float16_t)0.798150f,(float16_t)0.910707f,(float16_t)0.978184f,
+(float16_t)0.868486f,(float16_t)0.760166f,(float16_t)0.653187f,(float16_t)0.547518f,(float16_t)0.443127f,(float16_t)0.339983f,(float16_t)0.238056f,(float16_t)0.137319f,(float16_t)0.037744f,(float16_t)0.021816f,
+(float16_t)0.131514f,(float16_t)0.239834f,(float16_t)0.346813f,(float16_t)0.452482f,(float16_t)0.556873f,(float16_t)0.660017f,(float16_t)0.761944f,(float16_t)0.862681f,(float16_t)0.962256f,(float16_t)0.939305f,
+(float16_t)0.841975f,(float16_t)0.745730f,(float16_t)0.650547f,(float16_t)0.556401f,(float16_t)0.463272f,(float16_t)0.371136f,(float16_t)0.279973f,(float16_t)0.189762f,(float16_t)0.100485f,(float16_t)0.012121f,
+(float16_t)0.060695f,(float16_t)0.158025f,(float16_t)0.254270f,(float16_t)0.349453f,(float16_t)0.443599f,(float16_t)0.536728f,(float16_t)0.628864f,(float16_t)0.720027f,(float16_t)0.810238f,(float16_t)0.899515f,
+(float16_t)0.987879f,(float16_t)0.924653f,(float16_t)0.838062f,(float16_t)0.752330f,(float16_t)0.667442f,(float16_t)0.583381f,(float16_t)0.500130f,(float16_t)0.417674f,(float16_t)0.335998f,(float16_t)0.255088f,
+(float16_t)0.174929f,(float16_t)0.095508f,(float16_t)0.016810f,(float16_t)0.075347f,(float16_t)0.161938f,(float16_t)0.247670f,(float16_t)0.332558f,(float16_t)0.416619f,(float16_t)0.499870f,(float16_t)0.582326f,
+(float16_t)0.664002f,(float16_t)0.744912f,(float16_t)0.825071f,(float16_t)0.904492f,(float16_t)0.983190f,(float16_t)0.938824f,(float16_t)0.861535f,(float16_t)0.784933f,(float16_t)0.709004f,(float16_t)0.633737f,
+(float16_t)0.559120f,(float16_t)0.485144f,(float16_t)0.411795f,(float16_t)0.339065f,(float16_t)0.266942f,(float16_t)0.195416f,(float16_t)0.124479f,(float16_t)0.054119f,(float16_t)0.061176f,(float16_t)0.138465f,
+(float16_t)0.215067f,(float16_t)0.290996f,(float16_t)0.366263f,(float16_t)0.440880f,(float16_t)0.514856f,(float16_t)0.588205f,(float16_t)0.660935f,(float16_t)0.733058f,(float16_t)0.804583f,(float16_t)0.875521f,
+(float16_t)0.945881f,(float16_t)0.984329f,(float16_t)0.915098f,(float16_t)0.846418f,(float16_t)0.778279f,(float16_t)0.710675f,(float16_t)0.643596f,(float16_t)0.577034f,(float16_t)0.510981f,(float16_t)0.445430f,
+(float16_t)0.380372f,(float16_t)0.315802f,(float16_t)0.251710f,(float16_t)0.188091f,(float16_t)0.124938f,(float16_t)0.062243f,};
+#endif /*defined(ARM_FLOAT16_SUPPORTED) */
+
+
diff --git a/CMSIS/DSP/Testing/desc_f16.txt b/CMSIS/DSP/Testing/desc_f16.txt
index 9004bff..53eb889 100755
--- a/CMSIS/DSP/Testing/desc_f16.txt
+++ b/CMSIS/DSP/Testing/desc_f16.txt
@@ -866,6 +866,32 @@
class = TransformTests
folder = Transform
+ suite MFCC F16 {
+ class = MFCCF16
+ folder = MFCCF16
+
+ Pattern INPUTS_MFCC_256_F16_ID : MFCCInput_256_1_f16.txt
+ Pattern REF_MFCC_256_F16_ID : MFCCRef_256_1_f16.txt
+
+ Pattern INPUTS_MFCC_512_F16_ID : MFCCInput_512_1_f16.txt
+ Pattern REF_MFCC_512_F16_ID : MFCCRef_512_1_f16.txt
+
+ Pattern INPUTS_MFCC_1024_F16_ID : MFCCInput_1024_1_f16.txt
+ Pattern REF_MFCC_1024_F16_ID : MFCCRef_1024_1_f16.txt
+
+
+ Output OUTPUT_MFCC_F16_ID : MFCCOutputs
+ Output TMP_MFCC_F16_ID : MFCCTmp
+ Output TMPIN_MFCC_F16_ID : MFCCTmpIn
+
+ Functions {
+ mfcc_256_f16:test_mfcc_f16
+ mfcc_512_f16:test_mfcc_f16
+ mfcc_1024_f16:test_mfcc_f16
+ }
+
+ }
+
suite Transform Complex F16 {
class = TransformCF16
folder = TransformF16
diff --git a/CMSIS/DoxyGen/DSP/src/history.txt b/CMSIS/DoxyGen/DSP/src/history.txt
index 8ca5d9e..046bd2b 100644
--- a/CMSIS/DoxyGen/DSP/src/history.txt
+++ b/CMSIS/DoxyGen/DSP/src/history.txt
@@ -11,6 +11,16 @@
<td>
Float promotion issues:
- Removed remaining issues of implicit float promotion (mainly in f16 code)
+
+ Scalar versions of arm_vlog_q31 and arm_vlog_q15
+
+ Synchronous Data Flow
+
+ MFCC F32 and F16
+
+ Remarks:
+ - MFCC F16 is not very accurate
+ - Accuracy issues remain with the vlog f16, q31 and q15.
</td>
</tr>
<tr>