From 6ab9125272d8eb099598a0e5800d91810361e439 Mon Sep 17 00:00:00 2001 From: Christophe Favergeon Date: Wed, 6 Oct 2021 07:24:36 +0200 Subject: [PATCH] CMSIS-DSP: Add MFCC to SDFTools Python and C++ nodes available. New examples 5 and 6 are shwoing how to use MFCC in SDF in both cases. --- SDFTools/.gitignore | 6 + SDFTools/README.md | 20 + SDFTools/documentation/example2.md | 6 +- SDFTools/examples/CMakeLists.txt | 1 + SDFTools/examples/example2/graph.py | 3 + SDFTools/examples/example3/AppNodes.h | 4 +- SDFTools/examples/example3/custom.h | 2 - SDFTools/examples/example4/CMakeLists.txt | 16 - SDFTools/examples/example4/appnodes.py | 4 +- SDFTools/examples/example5/appnodes.py | 45 + SDFTools/examples/example5/custom.py | 4 + SDFTools/examples/example5/dynamic_image.py | 46 + SDFTools/examples/example5/graph.py | 60 ++ SDFTools/examples/example5/main.py | 56 ++ SDFTools/examples/example5/mfcc.mp4 | Bin 0 -> 32783 bytes SDFTools/examples/example5/sched.py | 947 ++++++++++++++++++ SDFTools/examples/example5/sharedconfig.py | 25 + SDFTools/examples/example5/test.dot | 66 ++ SDFTools/examples/example5/test.pdf | Bin 0 -> 29469 bytes SDFTools/examples/example5/test_stereo.wav | Bin 0 -> 352844 bytes SDFTools/examples/example6/AppNodes.h | 44 + SDFTools/examples/example6/CMakeLists.txt | 17 + SDFTools/examples/example6/custom.h | 4 + .../examples/example6/generated/scheduler.cpp | 106 ++ .../examples/example6/generated/scheduler.h | 25 + SDFTools/examples/example6/graph.py | 57 ++ SDFTools/examples/example6/input_example6.txt | 256 +++++ SDFTools/examples/example6/main.cpp | 23 + SDFTools/examples/example6/mfccConfigData.c | 105 ++ SDFTools/examples/example6/mfccConfigData.h | 61 ++ SDFTools/examples/example6/mfccconfig.yaml | 20 + SDFTools/examples/example6/sharedconfig.py | 25 + SDFTools/examples/example6/test.dot | 57 ++ SDFTools/examples/example6/test.pdf | Bin 0 -> 25379 bytes SDFTools/sdf/nodes/cpp/CFFT.h | 27 + SDFTools/sdf/nodes/cpp/ICFFT.h | 28 + SDFTools/sdf/nodes/cpp/MFCC.h | 154 +++ .../cpp/{StereoToMonoQ15.h => StereoToMono.h} | 48 +- SDFTools/sdf/nodes/cpp/{ => host}/FileSink.h | 0 .../sdf/nodes/cpp/{ => host}/FileSource.h | 0 SDFTools/sdf/nodes/py/CFFT.py | 4 +- SDFTools/sdf/nodes/py/ICFFT.py | 4 +- SDFTools/sdf/nodes/py/MFCC.py | 52 + .../{StereoToMonoQ15.py => StereoToMono.py} | 12 +- SDFTools/sdf/nodes/py/{ => host}/FileSink.py | 4 +- .../sdf/nodes/py/{ => host}/FileSource.py | 0 SDFTools/sdf/nodes/py/host/NumpySink.py | 46 + SDFTools/sdf/nodes/py/{ => host}/WavSink.py | 4 +- SDFTools/sdf/nodes/py/{ => host}/WavSource.py | 7 +- SDFTools/sdf/schedule/simu.py | 2 +- SDFTools/sdf/schedule/standard.py | 68 +- SDFTools/sdf/templates/code.py | 2 +- Scripts/GenMFCCDataForCPP.py | 2 +- Source/TransformFunctions/arm_mfcc_q15.c | 6 +- Source/TransformFunctions/arm_mfcc_q31.c | 6 +- 55 files changed, 2520 insertions(+), 67 deletions(-) delete mode 100755 SDFTools/examples/example4/CMakeLists.txt create mode 100755 SDFTools/examples/example5/appnodes.py create mode 100755 SDFTools/examples/example5/custom.py create mode 100755 SDFTools/examples/example5/dynamic_image.py create mode 100755 SDFTools/examples/example5/graph.py create mode 100755 SDFTools/examples/example5/main.py create mode 100755 SDFTools/examples/example5/mfcc.mp4 create mode 100755 SDFTools/examples/example5/sched.py create mode 100755 SDFTools/examples/example5/sharedconfig.py create mode 100755 SDFTools/examples/example5/test.dot create mode 100755 SDFTools/examples/example5/test.pdf create mode 100755 SDFTools/examples/example5/test_stereo.wav create mode 100755 SDFTools/examples/example6/AppNodes.h create mode 100755 SDFTools/examples/example6/CMakeLists.txt create mode 100755 SDFTools/examples/example6/custom.h create mode 100755 SDFTools/examples/example6/generated/scheduler.cpp create mode 100755 SDFTools/examples/example6/generated/scheduler.h create mode 100755 SDFTools/examples/example6/graph.py create mode 100755 SDFTools/examples/example6/input_example6.txt create mode 100755 SDFTools/examples/example6/main.cpp create mode 100755 SDFTools/examples/example6/mfccConfigData.c create mode 100755 SDFTools/examples/example6/mfccConfigData.h create mode 100755 SDFTools/examples/example6/mfccconfig.yaml create mode 100755 SDFTools/examples/example6/sharedconfig.py create mode 100755 SDFTools/examples/example6/test.dot create mode 100755 SDFTools/examples/example6/test.pdf create mode 100755 SDFTools/sdf/nodes/cpp/MFCC.h rename SDFTools/sdf/nodes/cpp/{StereoToMonoQ15.h => StereoToMono.h} (54%) rename SDFTools/sdf/nodes/cpp/{ => host}/FileSink.h (100%) rename SDFTools/sdf/nodes/cpp/{ => host}/FileSource.h (100%) create mode 100755 SDFTools/sdf/nodes/py/MFCC.py rename SDFTools/sdf/nodes/py/{StereoToMonoQ15.py => StereoToMono.py} (81%) rename SDFTools/sdf/nodes/py/{ => host}/FileSink.py (93%) rename SDFTools/sdf/nodes/py/{ => host}/FileSource.py (100%) create mode 100755 SDFTools/sdf/nodes/py/host/NumpySink.py rename SDFTools/sdf/nodes/py/{ => host}/WavSink.py (93%) rename SDFTools/sdf/nodes/py/{ => host}/WavSource.py (90%) diff --git a/SDFTools/.gitignore b/SDFTools/.gitignore index 2fbbb5ee..029b9be8 100755 --- a/SDFTools/.gitignore +++ b/SDFTools/.gitignore @@ -9,4 +9,10 @@ examples/build/bin_example2 examples/build/bin_dsp/ examples/build/bin_example3/ *.pyd +examples/build/localcreate.bat +examples/build/input_example3.txt +examples/build/bin_example6/ +examples/build/input_example6.txt +examples/build/output_example3.txt +examples/build/output_example6.txt diff --git a/SDFTools/README.md b/SDFTools/README.md index c8dca30d..6a787f45 100755 --- a/SDFTools/README.md +++ b/SDFTools/README.md @@ -173,3 +173,23 @@ Here is a list of the nodes supported by default. More can be easily added: - [Example 3 : Working example with CMSIS-DSP and FFT](documentation/example3.md) - [Example 4 : Same as example 3 but with the CMSIS-DSP Python wrapper](documentation/example4.md) +Examples 5 and 6 are showing how to use the CMSIS-DSP MFCC with a synchronous data flow. + +## Building the examples + +The script `create.bat` or `create.sh` in folder `examples/build` must be changed to use the path to the root CMSIS-DSP folder. + +Then, those scripts can be used to create a make using cmake. + +After those steps, typing `make` will build the C examples. + +To run the first one for example you'll have to type (from `build` folder): `bin_example1\example1` + +For the python examples, you need to go to the example folder (for instance `example4`). In the folder, type `python main.py`. + + + +If the dataflow is changed for any Python example, from the corresponding example folder you'll have to type `python graph.py` to regenerate the schedule. And you'll have to type `dot -Tpdf -o test.pdf test.dot` in the Python examples to regenerate the graph picture. + +For the C++ examples, the make is taking care of regenerating the schedule and the dot graph when `graph.py` is edited. + diff --git a/SDFTools/documentation/example2.md b/SDFTools/documentation/example2.md index 61f0dba2..ef8f8bb6 100755 --- a/SDFTools/documentation/example2.md +++ b/SDFTools/documentation/example2.md @@ -20,12 +20,14 @@ It is much more complex: - The node HALF representing a constant is introduced (constant arrays are also supported) - The two streams are added using a CMSIS-DSP function - Then we have a sliding buffer -- A block representing a MFCC +- A block representing a MFCC (a fake MFCC) - Another sliding buffer -- An a block representing TensorFlow Lite for Micro +- An a block representing TensorFlow Lite for Micro (a fake TFLite node) Note that those blocks (MFCC, TFLite) are doing nothing in this example. It is just to illustrate a more complex example that someone may want to experiment with for keyword spotting. +Examples 5 and 6 are showing how to use the CMSIS-DSP MFCC. + The new features compared to `example1` are: - Delay diff --git a/SDFTools/examples/CMakeLists.txt b/SDFTools/examples/CMakeLists.txt index c24ff55a..4b50fb4f 100755 --- a/SDFTools/examples/CMakeLists.txt +++ b/SDFTools/examples/CMakeLists.txt @@ -47,3 +47,4 @@ add_subdirectory(${DSP}/Source bin_dsp) add_subdirectory(example1 bin_example1) add_subdirectory(example2 bin_example2) add_subdirectory(example3 bin_example3) +add_subdirectory(example6 bin_example6) diff --git a/SDFTools/examples/example2/graph.py b/SDFTools/examples/example2/graph.py index 6656b906..ca375007 100755 --- a/SDFTools/examples/example2/graph.py +++ b/SDFTools/examples/example2/graph.py @@ -32,6 +32,7 @@ class StereoSource(GenericSource): def typeName(self): return "StereoSource" +# This is a fake TFLite node just for illustration class TFLite(GenericSink): def __init__(self,name): GenericSink.__init__(self,name) @@ -41,6 +42,8 @@ class TFLite(GenericSink): def typeName(self): return "TFLite" +# This is a fake MFCC just to illustrate how it could be used in a graph. +# For a real MFCC example, look at example5 class MFCC(GenericNode): def __init__(self,name,inLength): GenericNode.__init__(self,name) diff --git a/SDFTools/examples/example3/AppNodes.h b/SDFTools/examples/example3/AppNodes.h index 652c6356..910d296e 100755 --- a/SDFTools/examples/example3/AppNodes.h +++ b/SDFTools/examples/example3/AppNodes.h @@ -35,8 +35,8 @@ using namespace std; #include #include "arm_math.h" -#include "FileSink.h" -#include "FileSource.h" +#include "host/FileSink.h" +#include "host/FileSource.h" #include "CFFT.h" #include "ICFFT.h" diff --git a/SDFTools/examples/example3/custom.h b/SDFTools/examples/example3/custom.h index 5e113834..59b715cf 100755 --- a/SDFTools/examples/example3/custom.h +++ b/SDFTools/examples/example3/custom.h @@ -3,8 +3,6 @@ #define HALF 0.5 extern const float32_t HANN[256]; -extern arm_cfft_instance_f32 CFFT1; -extern arm_cfft_instance_f32 ICFFT1; #endif \ No newline at end of file diff --git a/SDFTools/examples/example4/CMakeLists.txt b/SDFTools/examples/example4/CMakeLists.txt deleted file mode 100755 index 868e39e9..00000000 --- a/SDFTools/examples/example4/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -cmake_minimum_required (VERSION 3.14) -include(CMakePrintHelpers) - -project(Example3) - - -add_executable(example3 main.cpp custom.cpp) - -sdf(example3) -add_sdf_dir(example3) - -target_include_directories(example3 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) - -target_link_libraries(example3 PRIVATE CMSISDSP) - -file(COPY input_example3.txt DESTINATION ${CMAKE_BINARY_DIR}) \ No newline at end of file diff --git a/SDFTools/examples/example4/appnodes.py b/SDFTools/examples/example4/appnodes.py index b62594b1..b20c6257 100755 --- a/SDFTools/examples/example4/appnodes.py +++ b/SDFTools/examples/example4/appnodes.py @@ -28,8 +28,8 @@ from sdf.schedule.simu import * from custom import * -from sdf.nodes.py.FileSink import * -from sdf.nodes.py.FileSource import * +from sdf.nodes.py.host.FileSink import * +from sdf.nodes.py.host.FileSource import * from sdf.nodes.py.CFFT import * from sdf.nodes.py.ICFFT import * from sdf.nodes.py.ToComplex import * diff --git a/SDFTools/examples/example5/appnodes.py b/SDFTools/examples/example5/appnodes.py new file mode 100755 index 00000000..488049d1 --- /dev/null +++ b/SDFTools/examples/example5/appnodes.py @@ -0,0 +1,45 @@ +########################################### +# Project: CMSIS DSP Library +# Title: appnodes.py +# Description: Application nodes for Example 4 +# +# $Date: 29 July 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. +############################################ +from sdf.schedule.simu import * +from custom import * + +# Host only nodes +from sdf.nodes.py.host.NumpySink import * +from sdf.nodes.py.host.WavSource import * + +# Embedded nodes +from sdf.nodes.py.StereoToMono import * +from sdf.nodes.py.MFCC import * + + + + + + + + diff --git a/SDFTools/examples/example5/custom.py b/SDFTools/examples/example5/custom.py new file mode 100755 index 00000000..63da65a3 --- /dev/null +++ b/SDFTools/examples/example5/custom.py @@ -0,0 +1,4 @@ +import numpy as np + + + diff --git a/SDFTools/examples/example5/dynamic_image.py b/SDFTools/examples/example5/dynamic_image.py new file mode 100755 index 00000000..5543da03 --- /dev/null +++ b/SDFTools/examples/example5/dynamic_image.py @@ -0,0 +1,46 @@ +""" +================================================= +Animated image using a precomputed list of images +================================================= + +""" + +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.animation as animation + +fig, ax = plt.subplots() + + +def f(x, y): + return np.sin(x) + np.cos(y) + +x = np.linspace(0, 2 * np.pi, 120) +y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1) + +# ims is a list of lists, each row is a list of artists to draw in the +# current frame; here we are just animating one artist, the image, in +# each frame +ims = [] +for i in range(60): + x += np.pi / 15. + y += np.pi / 20. + im = ax.imshow(f(x, y), animated=True) + if i == 0: + ax.imshow(f(x, y)) # show an initial one first + ims.append([im]) + +ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True, + repeat_delay=1000) + +# To save the animation, use e.g. +# +# ani.save("movie.mp4") +# +# or +# +# writer = animation.FFMpegWriter( +# fps=15, metadata=dict(artist='Me'), bitrate=1800) +# ani.save("movie.mp4", writer=writer) + +plt.show() diff --git a/SDFTools/examples/example5/graph.py b/SDFTools/examples/example5/graph.py new file mode 100755 index 00000000..6d6ef45b --- /dev/null +++ b/SDFTools/examples/example5/graph.py @@ -0,0 +1,60 @@ +import sys +import numpy as np + +sys.path.append("../..") + +from sdf import * + +from sharedconfig import * + + + +q15Type = CType(Q15) + +### The feature computed by the graph is one second of MFCCs. +### So the nbMFCCOutputs is computed from this and with the additional +### assumption that it must be even. +### Because the MFCC slising window is sliding by half a second +### each time (half number of MFCCs) +src=WavSource("src",NBCHANNELS*AUDIO_INTERRUPT_LENGTH) +src.addLiteralArg("test_stereo.wav") + +toMono=StereoToMono("toMono",q15Type,AUDIO_INTERRUPT_LENGTH) + +slidingAudio=SlidingBuffer("audioWin",q15Type,FFTSize,AudioOverlap) +slidingMFCC=SlidingBuffer("mfccWin",q15Type,numOfDctOutputs*nbMFCCOutputs,numOfDctOutputs*nbMFCCOutputs>>1) + +mfcc=MFCC("mfcc",q15Type,FFTSize,numOfDctOutputs) +mfcc.addVariableArg("mfccConfig") + +sink=NumpySink("sink",q15Type,nbMFCCOutputs * numOfDctOutputs) +sink.addVariableArg("dispbuf") + +g = Graph() + +g.connect(src.o, toMono.i) + +g.connect(toMono.o, slidingAudio.i) + +g.connect(slidingAudio.o, mfcc.i) + +g.connect(mfcc.o,slidingMFCC.i) +g.connect(slidingMFCC.o,sink.i) + +print("Generate graphviz and code") + + + +sched = g.computeSchedule() +print("Schedule length = %d" % sched.scheduleLength) +print("Memory usage %d bytes" % sched.memory) +# +conf=Configuration() +conf.debugLimit=12 +conf.pyOptionalArgs="mfccConfig,dispbuf" + +sched.pythoncode(".",config=conf) + +with open("test.dot","w") as f: + sched.graphviz(f) + diff --git a/SDFTools/examples/example5/main.py b/SDFTools/examples/example5/main.py new file mode 100755 index 00000000..be134250 --- /dev/null +++ b/SDFTools/examples/example5/main.py @@ -0,0 +1,56 @@ +import sched as s +import matplotlib.pyplot as plt +from matplotlib import cm +import matplotlib.animation as animation + +import cmsisdsp as dsp +import numpy as np +import cmsisdsp.fixedpoint as f +import cmsisdsp.mfcc as mfcc +import scipy.signal as sig +from cmsisdsp.datatype import F32,Q31,Q15 +from sharedconfig import * +import cmsisdsp.datatype as dt + +mfccq15=dsp.arm_mfcc_instance_q15() + +windowQ15 = dt.convert(sig.hamming(FFTSize, sym=False),Q15) +filtLen,filtPos,packedFiltersQ15 = mfcc.melFilterMatrix(Q15,freq_min, freq_high, numOfMelFilters,sample_rate,FFTSize) +dctMatrixFiltersQ15 = mfcc.dctMatrix(Q15,numOfDctOutputs, numOfMelFilters) + + +status=dsp.arm_mfcc_init_q15(mfccq15,FFTSize,numOfMelFilters,numOfDctOutputs, + dctMatrixFiltersQ15, + filtPos,filtLen,packedFiltersQ15,windowQ15) + +#DISPBUF = np.zeros(nbMFCCOutputs*numOfDctOutputs) +DISPBUF=[] +print("Start") + +nb,error = s.scheduler(mfccq15,DISPBUF) + +print("Nb sched = %d" % nb) + + +fig, ax = plt.subplots() + +# The test signal is 5 second long +# MFCC are slided by 0.5 second by the last window +# Each sink entry is a one second of MFCC +ims = [] +for i in range(10): + mfccdata = (1<<8)*f.Q15toF32(DISPBUF[i]) + mfccdata=mfccdata.reshape((nbMFCCOutputs,numOfDctOutputs)) + mfccdata= np.swapaxes(mfccdata, 0 ,1) + if i==0: + ax.imshow(mfccdata, vmin=-10, vmax=10,interpolation='nearest',cmap=cm.coolwarm ,origin='lower') + + im=ax.imshow(mfccdata, vmin=-10, vmax=10,interpolation='nearest', animated=True,cmap=cm.coolwarm ,origin='lower') + ims.append([im]) + +ani = animation.ArtistAnimation(fig, ims, interval=500, blit=True, + repeat_delay=500) + +#ani.save("mfcc.mp4") + +plt.show() diff --git a/SDFTools/examples/example5/mfcc.mp4 b/SDFTools/examples/example5/mfcc.mp4 new file mode 100755 index 0000000000000000000000000000000000000000..01db42a8adacf473bbf0b924f1c5d74e9e4514b3 GIT binary patch literal 32783 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 0)): + nbSchedule = nbSchedule + 1 + + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = src.run() + if sdfError < 0: + break + sdfError = toMono.run() + if sdfError < 0: + break + sdfError = audioWin.run() + if sdfError < 0: + break + sdfError = mfcc.run() + if sdfError < 0: + break + sdfError = mfccWin.run() + if sdfError < 0: + break + sdfError = sink.run() + if sdfError < 0: + break + + debugCounter = debugCounter - 1 + return(nbSchedule,sdfError) diff --git a/SDFTools/examples/example5/sharedconfig.py b/SDFTools/examples/example5/sharedconfig.py new file mode 100755 index 00000000..2e9c99c3 --- /dev/null +++ b/SDFTools/examples/example5/sharedconfig.py @@ -0,0 +1,25 @@ +import sys +import numpy as np + + +FS=16000 +NBCHANNELS=2 # stereo +# You can try with 120 +AUDIO_INTERRUPT_LENGTH = 192 + +# MFCC Description +sample_rate = 16000 +FFTSize = 1024 +AudioOverlap = 256 +numOfDctOutputs = 13 + +freq_min = 64 +freq_high = sample_rate / 2 +numOfMelFilters = 20 + +# NB MFCC Outputs to cover one second of signal with the window overlap +nbMFCCOutputs = int(np.floor((sample_rate - FFTSize) / AudioOverlap)) + +if nbMFCCOutputs%2 == 1: + nbMFCCOutputs = nbMFCCOutputs + 1 + diff --git a/SDFTools/examples/example5/test.dot b/SDFTools/examples/example5/test.dot new file mode 100755 index 00000000..2bbf4bd7 --- /dev/null +++ b/SDFTools/examples/example5/test.dot @@ -0,0 +1,66 @@ + + + +digraph structs { + node [shape=plaintext] + rankdir=LR + edge [arrowsize=0.5] + fontname="times" + + +audioWin [label=< + + + + +
audioWin
(SlidingBuffer)
>]; + +mfcc [label=< + + + + +
mfcc
(MFCC)
>]; + +mfccWin [label=< + + + + +
mfccWin
(SlidingBuffer)
>]; + +sink [label=< + + + + +
sink
(NumpySink)
>]; + +src [label=< + + + + +
src
(WavSource)
>]; + +toMono [label=< + + + + +
toMono
(StereoToMono)
>]; + + + +src:i -> toMono:i [headlabel=<384>,taillabel=<384>,label="q15(384)"] + +toMono:i -> audioWin:i [headlabel=<768>,taillabel=<192>,label="q15(768)"] + +audioWin:i -> mfcc:i [headlabel=<1024>,taillabel=<1024>,label="q15(1024)"] + +mfcc:i -> mfccWin:i [headlabel=<377>,taillabel=<13>,label="q15(377)"] + +mfccWin:i -> sink:i [headlabel=<754>,taillabel=<754>,label="q15(754)"] + + +} diff --git a/SDFTools/examples/example5/test.pdf b/SDFTools/examples/example5/test.pdf new file mode 100755 index 0000000000000000000000000000000000000000..bac671a5d9a4dcc477d1ae4b5ec9d26089540c6a GIT binary patch literal 29469 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 F{{d+#D&_zH literal 0 HcmV?d00001 diff --git a/SDFTools/examples/example5/test_stereo.wav b/SDFTools/examples/example5/test_stereo.wav new file mode 100755 index 0000000000000000000000000000000000000000..369e67b16d08b523e214aa593eaa85b05504c16b GIT binary patch literal 352844 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⪙#v!69;mbRm?}PrFq@-x(5Ev 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≦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 J4wUnp{|i8Zh#dd` literal 0 HcmV?d00001 diff --git a/SDFTools/examples/example6/AppNodes.h b/SDFTools/examples/example6/AppNodes.h new file mode 100755 index 00000000..2179291e --- /dev/null +++ b/SDFTools/examples/example6/AppNodes.h @@ -0,0 +1,44 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: AppNodes.h + * Description: Application nodes for Example 6 + * + * $Date: 29 July 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. + */ +#ifndef _APPNODES_H_ +#define _APPNODES_H_ + +#include +#include +#include +using namespace std; +#include +#include "arm_math.h" + +#include "host/FileSink.h" +#include "host/FileSource.h" +#include "MFCC.h" + + + +#endif \ No newline at end of file diff --git a/SDFTools/examples/example6/CMakeLists.txt b/SDFTools/examples/example6/CMakeLists.txt new file mode 100755 index 00000000..1591cd23 --- /dev/null +++ b/SDFTools/examples/example6/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required (VERSION 3.14) +include(CMakePrintHelpers) + +project(Example6) + + +add_executable(example6 main.cpp mfccConfigData.c) + +sdf(example6) +add_sdf_dir(example6) + +target_include_directories(example6 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(example6 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/generated) + +target_link_libraries(example6 PRIVATE CMSISDSP) + +file(COPY input_example6.txt DESTINATION ${CMAKE_BINARY_DIR}) \ No newline at end of file diff --git a/SDFTools/examples/example6/custom.h b/SDFTools/examples/example6/custom.h new file mode 100755 index 00000000..1b94b756 --- /dev/null +++ b/SDFTools/examples/example6/custom.h @@ -0,0 +1,4 @@ +#ifndef _CUSTOM_H_ + + +#endif \ No newline at end of file diff --git a/SDFTools/examples/example6/generated/scheduler.cpp b/SDFTools/examples/example6/generated/scheduler.cpp new file mode 100755 index 00000000..8edc781d --- /dev/null +++ b/SDFTools/examples/example6/generated/scheduler.cpp @@ -0,0 +1,106 @@ +/* + +Generated with CMSIS-DSP SDF Scripts. +The generated code is not covered by CMSIS-DSP license. + +The support classes and code is covered by CMSIS-DSP license. + +*/ + + +#include "arm_math.h" +#include "custom.h" +#include "GenericNodes.h" +#include "AppNodes.h" +#include "scheduler.h" + +/*********** + +FIFO buffers + +************/ +#define FIFOSIZE0 256 +#define FIFOSIZE1 256 +#define FIFOSIZE2 13 +#define FIFOSIZE3 26 + +#define BUFFERSIZE0 256 +float32_t buf0[BUFFERSIZE0]={0}; + +#define BUFFERSIZE1 256 +float32_t buf1[BUFFERSIZE1]={0}; + +#define BUFFERSIZE2 13 +float32_t buf2[BUFFERSIZE2]={0}; + +#define BUFFERSIZE3 26 +float32_t buf3[BUFFERSIZE3]={0}; + + +uint32_t scheduler(int *error,arm_mfcc_instance_f32 *mfccConfig) +{ + int sdfError=0; + uint32_t nbSchedule=0; + int32_t debugCounter=1; + + /* + Create FIFOs objects + */ + FIFO fifo0(buf0); + FIFO fifo1(buf1); + FIFO fifo2(buf2); + FIFO fifo3(buf3); + + /* + Create node objects + */ + SlidingBuffer audioWin(fifo0,fifo1); + MFCC mfcc(fifo1,fifo2,mfccConfig); + SlidingBuffer mfccWin(fifo2,fifo3); + FileSink sink(fifo3,"output_example6.txt"); + FileSource src(fifo0,"input_example6.txt"); + + while((sdfError==0) && (debugCounter > 0)) + { + + sdfError = src.run(); + CHECKERROR; + sdfError = audioWin.run(); + CHECKERROR; + sdfError = mfcc.run(); + CHECKERROR; + sdfError = mfccWin.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + sdfError = src.run(); + CHECKERROR; + sdfError = audioWin.run(); + CHECKERROR; + sdfError = mfcc.run(); + CHECKERROR; + sdfError = mfccWin.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + sdfError = audioWin.run(); + CHECKERROR; + sdfError = mfcc.run(); + CHECKERROR; + sdfError = mfccWin.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + sdfError = sink.run(); + CHECKERROR; + + debugCounter--; + nbSchedule++; + } + *error=sdfError; + return(nbSchedule); +} diff --git a/SDFTools/examples/example6/generated/scheduler.h b/SDFTools/examples/example6/generated/scheduler.h new file mode 100755 index 00000000..ce6845ae --- /dev/null +++ b/SDFTools/examples/example6/generated/scheduler.h @@ -0,0 +1,25 @@ +/* + +Generated with CMSIS-DSP SDF Scripts. +The generated code is not covered by CMSIS-DSP license. + +The support classes and code is covered by CMSIS-DSP license. + +*/ + +#ifndef _SCHED_H_ +#define _SCHED_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +extern uint32_t scheduler(int *error,arm_mfcc_instance_f32 *mfccConfig); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/SDFTools/examples/example6/graph.py b/SDFTools/examples/example6/graph.py new file mode 100755 index 00000000..a7972885 --- /dev/null +++ b/SDFTools/examples/example6/graph.py @@ -0,0 +1,57 @@ +import sys +import numpy as np + +sys.path.append("../..") + +from sdf import * + +from sharedconfig import * + + + +floatType = CType(F32) + +### The feature computed by the graph is one second of MFCCs. +### So the nbMFCCOutputs is computed from this and with the additional +### assumption that it must be even. +### Because the MFCC slising window is sliding by half a second +### each time (half number of MFCCs) +src=FileSource("src",NBCHANNELS*AUDIO_INTERRUPT_LENGTH) +src.addLiteralArg("input_example6.txt") + + +slidingAudio=SlidingBuffer("audioWin",floatType,FFTSize,FFTSize>>1) +slidingMFCC=SlidingBuffer("mfccWin",floatType,2*numOfDctOutputs,numOfDctOutputs) + +mfcc=MFCC("mfcc",floatType,FFTSize,numOfDctOutputs) +mfcc.addVariableArg("mfccConfig") + +sink=FileSink("sink",numOfDctOutputs) +sink.addLiteralArg("output_example6.txt") + +g = Graph() + +g.connect(src.o, slidingAudio.i) + +g.connect(slidingAudio.o, mfcc.i) + +g.connect(mfcc.o,slidingMFCC.i) +g.connect(slidingMFCC.o,sink.i) + +print("Generate graphviz and code") + + + +sched = g.computeSchedule() +print("Schedule length = %d" % sched.scheduleLength) +print("Memory usage %d bytes" % sched.memory) +# +conf=Configuration() +conf.debugLimit=1 +conf.cOptionalArgs="arm_mfcc_instance_f32 *mfccConfig" + +sched.ccode("generated",config=conf) + +with open("test.dot","w") as f: + sched.graphviz(f) + diff --git a/SDFTools/examples/example6/input_example6.txt b/SDFTools/examples/example6/input_example6.txt new file mode 100755 index 00000000..b5a520aa --- /dev/null +++ b/SDFTools/examples/example6/input_example6.txt @@ -0,0 +1,256 @@ +0.65507051 +-0.94647589 +0.00627239 +0.14151286 +-0.10863318 +-0.36370327 +0.05777126 +-0.11915792 +0.50183546 +-0.31461335 +0.66440771 +0.05389963 +0.39690544 +0.25424852 +-0.17045277 +0.09649268 +0.87357385 +-0.44666372 +-0.02637822 +-0.10055151 +-0.14610252 +-0.05981251 +-0.02999124 +0.60923213 +0.10530095 +0.35684248 +0.21845946 +0.47845017 +-0.60206979 +0.25186908 +-0.27410056 +-0.07080467 +-0.05109539 +-0.2666572 +0.25483105 +-0.86459185 +0.07733397 +-0.58535444 +0.06230904 +-0.04161475 +-0.17467296 +0.77721125 +-0.01728161 +-0.32141218 +0.36674466 +-0.17932843 +0.78486115 +0.12469579 +-0.94796877 +0.05536031 +0.32627676 +0.46628512 +-0.02585836 +-0.51439834 +0.21387904 +0.16319442 +-0.01020818 +-0.77161183 +0.07754634 +-0.24970455 +0.2368003 +0.35167963 +0.14620137 +-0.02415204 +0.91086167 +-0.02434647 +-0.3968239 +-0.04703925 +-0.43905103 +-0.34834965 +0.33728158 +0.15138992 +-0.43218885 +0.26619718 +0.07177906 +0.33393581 +-0.50306915 +-0.63101084 +-0.08128395 +-0.06569788 +0.84232797 +-0.32436751 +0.02528537 +-0.3498329 +0.41859931 +0.07794887 +0.4571989 +0.24290963 +0.08437417 +-0.01371585 +-0.00103008 +0.83978697 +-0.29001237 +0.14438743 +0.11943318 +-0.25576402 +0.25151083 +0.07886626 +0.11565781 +-0.01582203 +0.1310246 +-0.5553611 +-0.37950665 +0.44179691 +0.08460877 +0.30646419 +0.48927934 +-0.21240309 +0.36844264 +0.49686615 +-0.81617664 +0.52221472 +-0.05188992 +-0.03929655 +-0.47674501 +-0.54506781 +0.30711148 +0.10049337 +-0.47549213 +0.59106713 +-0.62276051 +-0.35182917 +0.14612027 +0.56142168 +-0.01053732 +0.35782179 +-0.27220781 +-0.03672346 +-0.11282222 +0.3364912 +-0.22352515 +-0.04245287 +0.56968605 +-0.14023724 +-0.82982905 +0.00860008 +0.37920345 +-0.53749318 +-0.12761215 +0.08567603 +0.47020765 +-0.28794812 +-0.33888971 +0.01850441 +0.66848233 +-0.26532759 +-0.20777571 +-0.68342729 +-0.41498696 +0.00593224 +0.02229368 +0.75596329 +0.29447568 +-0.1106449 +0.24181939 +0.05807497 +-0.14343857 +0.304988 +0.00689148 +-0.06264758 +0.25864714 +-0.22252155 +0.28621689 +0.17031599 +-0.34694027 +-0.01625718 +0.39834181 +0.01259659 +-0.28022716 +-0.02506168 +-0.10276881 +0.31733924 +0.02787068 +-0.09824124 +0.45147797 +0.14451518 +0.17996395 +-0.70594978 +-0.92943177 +0.13649282 +-0.5938426 +0.50289928 +0.19635269 +0.16811504 +0.05803999 +0.0037204 +0.13847419 +0.30568038 +0.3700732 +0.21257548 +-0.31151753 +-0.28836886 +0.68743932 +-0.11084429 +-0.4673766 +0.16637754 +-0.38992572 +0.16505578 +-0.07499844 +0.04226538 +-0.11042177 +0.0704542 +-0.632819 +-0.54898472 +0.26498649 +-0.59380386 +0.93387213 +0.06526726 +-0.23223558 +0.07941394 +0.14325166 +0.26914661 +0.00925575 +-0.34282161 +-0.51418231 +-0.12011075 +-0.26676314 +-0.09999028 +0.03027513 +0.22846503 +-0.08930338 +-0.1867156 +0.66297846 +0.32220769 +-0.06015469 +0.04034043 +0.09595597 +-1. +-0.42933352 +0.25069376 +-0.26030918 +-0.28511861 +-0.19931228 +0.24408572 +-0.3231952 +0.45688981 +-0.07354078 +0.25669449 +-0.44202722 +0.11928406 +-0.32826109 +0.52660984 +0.03067858 +0.11095242 +0.19933679 +0.03042371 +-0.34768682 +0.09108447 +0.61234556 +0.1854931 +0.19680502 +0.27617564 +0.33381827 +-0.47358967 +0.28714328 +-0.27495982 \ No newline at end of file diff --git a/SDFTools/examples/example6/main.cpp b/SDFTools/examples/example6/main.cpp new file mode 100755 index 00000000..b02773f2 --- /dev/null +++ b/SDFTools/examples/example6/main.cpp @@ -0,0 +1,23 @@ +#include +#include +#include "arm_math.h" +#include "scheduler.h" +#include "mfccConfigData.h" + +static arm_mfcc_instance_f32 mfcc; + +int main(int argc, char const *argv[]) +{ + int error; + printf("Start\n"); + + arm_mfcc_init_f32(&mfcc, + 256,20,13,mfcc_dct_coefs_config1_f32, + mfcc_filter_pos_config1_f32,mfcc_filter_len_config1_f32, + mfcc_filter_coefs_config1_f32, + mfcc_window_coefs_config1_f32); + + uint32_t nb = scheduler(&error,&mfcc); + printf("Nb = %d\n",nb); + return 0; +} \ No newline at end of file diff --git a/SDFTools/examples/example6/mfccConfigData.c b/SDFTools/examples/example6/mfccConfigData.c new file mode 100755 index 00000000..bc5ff2c0 --- /dev/null +++ b/SDFTools/examples/example6/mfccConfigData.c @@ -0,0 +1,105 @@ +#include "mfccConfigData.h" + + +const float32_t mfcc_dct_coefs_config1_f32[NB_MFCC_DCT_COEFS_CONFIG1_F32]={ +0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f, +0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f,0.316228f, +0.315253f,0.307490f,0.292156f,0.269628f,0.240461f,0.205374f,0.165229f,0.121015f,0.073822f,0.024811f, +-0.024811f,-0.073822f,-0.121015f,-0.165229f,-0.205374f,-0.240461f,-0.269628f,-0.292156f,-0.307490f,-0.315253f, +0.312334f,0.281761f,0.223607f,0.143564f,0.049469f,-0.049469f,-0.143564f,-0.223607f,-0.281761f,-0.312334f, +-0.312334f,-0.281761f,-0.223607f,-0.143564f,-0.049469f,0.049469f,0.143564f,0.223607f,0.281761f,0.312334f, +0.307490f,0.240461f,0.121015f,-0.024811f,-0.165229f,-0.269628f,-0.315253f,-0.292156f,-0.205374f,-0.073822f, +0.073822f,0.205374f,0.292156f,0.315253f,0.269628f,0.165229f,0.024811f,-0.121015f,-0.240461f,-0.307490f, +0.300750f,0.185874f,0.000000f,-0.185874f,-0.300750f,-0.300750f,-0.185874f,-0.000000f,0.185874f,0.300750f, +0.300750f,0.185874f,0.000000f,-0.185874f,-0.300750f,-0.300750f,-0.185874f,-0.000000f,0.185874f,0.300750f, +0.292156f,0.121015f,-0.121015f,-0.292156f,-0.292156f,-0.121015f,0.121015f,0.292156f,0.292156f,0.121015f, +-0.121015f,-0.292156f,-0.292156f,-0.121015f,0.121015f,0.292156f,0.292156f,0.121015f,-0.121015f,-0.292156f, +0.281761f,0.049469f,-0.223607f,-0.312334f,-0.143564f,0.143564f,0.312334f,0.223607f,-0.049469f,-0.281761f, +-0.281761f,-0.049469f,0.223607f,0.312334f,0.143564f,-0.143564f,-0.312334f,-0.223607f,0.049469f,0.281761f, +0.269628f,-0.024811f,-0.292156f,-0.240461f,0.073822f,0.307490f,0.205374f,-0.121015f,-0.315253f,-0.165229f, +0.165229f,0.315253f,0.121015f,-0.205374f,-0.307490f,-0.073822f,0.240461f,0.292156f,0.024811f,-0.269628f, +0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f,0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f, +0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f,0.255834f,-0.097720f,-0.316228f,-0.097720f,0.255834f, +0.240461f,-0.165229f,-0.292156f,0.073822f,0.315253f,0.024811f,-0.307490f,-0.121015f,0.269628f,0.205374f, +-0.205374f,-0.269628f,0.121015f,0.307490f,-0.024811f,-0.315253f,-0.073822f,0.292156f,0.165229f,-0.240461f, +0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f, +-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f,0.223607f,-0.223607f,-0.223607f,0.223607f, +0.205374f,-0.269628f,-0.121015f,0.307490f,0.024811f,-0.315253f,0.073822f,0.292156f,-0.165229f,-0.240461f, +0.240461f,0.165229f,-0.292156f,-0.073822f,0.315253f,-0.024811f,-0.307490f,0.121015f,0.269628f,-0.205374f, +0.185874f,-0.300750f,-0.000000f,0.300750f,-0.185874f,-0.185874f,0.300750f,0.000000f,-0.300750f,0.185874f, +0.185874f,-0.300750f,-0.000000f,0.300750f,-0.185874f,-0.185874f,0.300750f,-0.000000f,-0.300750f,0.185874f, +}; + + + + +const float32_t mfcc_window_coefs_config1_f32[NB_MFCC_WIN_COEFS_CONFIG1_F32]={ +0.080000f,0.080139f,0.080554f,0.081246f,0.082215f,0.083459f,0.084979f,0.086772f,0.088839f,0.091177f, +0.093786f,0.096663f,0.099807f,0.103217f,0.106890f,0.110823f,0.115015f,0.119464f,0.124165f,0.129117f, +0.134316f,0.139760f,0.145445f,0.151367f,0.157524f,0.163911f,0.170525f,0.177361f,0.184415f,0.191684f, +0.199162f,0.206846f,0.214731f,0.222811f,0.231083f,0.239540f,0.248179f,0.256993f,0.265978f,0.275128f, +0.284438f,0.293901f,0.303513f,0.313267f,0.323157f,0.333179f,0.343325f,0.353589f,0.363966f,0.374448f, +0.385031f,0.395706f,0.406469f,0.417312f,0.428229f,0.439213f,0.450258f,0.461358f,0.472504f,0.483691f, +0.494912f,0.506160f,0.517429f,0.528711f,0.540000f,0.551289f,0.562571f,0.573840f,0.585088f,0.596309f, +0.607496f,0.618642f,0.629742f,0.640787f,0.651771f,0.662688f,0.673531f,0.684294f,0.694969f,0.705552f, +0.716034f,0.726411f,0.736675f,0.746821f,0.756842f,0.766733f,0.776487f,0.786099f,0.795562f,0.804872f, +0.814022f,0.823007f,0.831821f,0.840460f,0.848917f,0.857189f,0.865269f,0.873154f,0.880838f,0.888316f, +0.895585f,0.902639f,0.909475f,0.916089f,0.922476f,0.928633f,0.934555f,0.940240f,0.945684f,0.950883f, +0.955835f,0.960536f,0.964985f,0.969177f,0.973110f,0.976783f,0.980193f,0.983337f,0.986214f,0.988823f, +0.991161f,0.993228f,0.995021f,0.996541f,0.997785f,0.998754f,0.999446f,0.999861f,1.000000f,0.999861f, +0.999446f,0.998754f,0.997785f,0.996541f,0.995021f,0.993228f,0.991161f,0.988823f,0.986214f,0.983337f, +0.980193f,0.976783f,0.973110f,0.969177f,0.964985f,0.960536f,0.955835f,0.950883f,0.945684f,0.940240f, +0.934555f,0.928633f,0.922476f,0.916089f,0.909475f,0.902639f,0.895585f,0.888316f,0.880838f,0.873154f, +0.865269f,0.857189f,0.848917f,0.840460f,0.831821f,0.823007f,0.814022f,0.804872f,0.795562f,0.786099f, +0.776487f,0.766733f,0.756842f,0.746821f,0.736675f,0.726411f,0.716034f,0.705552f,0.694969f,0.684294f, +0.673531f,0.662688f,0.651771f,0.640787f,0.629742f,0.618642f,0.607496f,0.596309f,0.585088f,0.573840f, +0.562571f,0.551289f,0.540000f,0.528711f,0.517429f,0.506160f,0.494912f,0.483691f,0.472504f,0.461358f, +0.450258f,0.439213f,0.428229f,0.417312f,0.406469f,0.395706f,0.385031f,0.374448f,0.363966f,0.353589f, +0.343325f,0.333179f,0.323157f,0.313267f,0.303513f,0.293901f,0.284438f,0.275128f,0.265978f,0.256993f, +0.248179f,0.239540f,0.231083f,0.222811f,0.214731f,0.206846f,0.199162f,0.191684f,0.184415f,0.177361f, +0.170525f,0.163911f,0.157524f,0.151367f,0.145445f,0.139760f,0.134316f,0.129117f,0.124165f,0.119464f, +0.115015f,0.110823f,0.106890f,0.103217f,0.099807f,0.096663f,0.093786f,0.091177f,0.088839f,0.086772f, +0.084979f,0.083459f,0.082215f,0.081246f,0.080554f,0.080139f,}; + + + +const uint32_t mfcc_filter_pos_config1_f32[NB_MFCC_NB_FILTER_CONFIG1_F32]={ +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_config1_f32[NB_MFCC_NB_FILTER_CONFIG1_F32]={ +3,4,4,4,5,6,6,7,8,9, +10,11,13,15,16,18,21,23,25,28, +}; + + + + +const float32_t mfcc_filter_coefs_config1_f32[NB_MFCC_FILTER_COEFS_CONFIG1_F32]={ +0.663153f,0.706417f,0.118907f,0.293583f,0.881093f,0.568845f,0.051741f,0.431155f,0.948259f,0.563868f, +0.102097f,0.436132f,0.897903f,0.663777f,0.246640f,0.336223f,0.753360f,0.848733f,0.468360f,0.104042f, +0.151267f,0.531640f,0.895958f,0.754478f,0.418519f,0.095146f,0.245522f,0.581481f,0.904854f,0.783449f, +0.482615f,0.191913f,0.216551f,0.517385f,0.808087f,0.910681f,0.638322f,0.374294f,0.118101f,0.089319f, +0.361678f,0.625706f,0.881899f,0.869293f,0.627454f,0.392207f,0.163200f,0.130707f,0.372546f,0.607793f, +0.836800f,0.940111f,0.722642f,0.510517f,0.303479f,0.101291f,0.059889f,0.277358f,0.489483f,0.696521f, +0.898709f,0.903729f,0.710588f,0.521674f,0.336804f,0.155811f,0.096271f,0.289412f,0.478326f,0.663196f, +0.844189f,0.978535f,0.804826f,0.634543f,0.467554f,0.303734f,0.142965f,0.021465f,0.195174f,0.365457f, +0.532446f,0.696266f,0.857035f,0.985135f,0.830139f,0.677876f,0.528253f,0.381178f,0.236568f,0.094340f, +0.014865f,0.169861f,0.322124f,0.471747f,0.618822f,0.763432f,0.905660f,0.954417f,0.816725f,0.681196f, +0.547761f,0.416357f,0.286924f,0.159402f,0.033737f,0.045583f,0.183275f,0.318804f,0.452239f,0.583643f, +0.713076f,0.840598f,0.966263f,0.909875f,0.787764f,0.667357f,0.548606f,0.431467f,0.315895f,0.201850f, +0.089293f,0.090125f,0.212236f,0.332643f,0.451394f,0.568533f,0.684105f,0.798150f,0.910707f,0.978184f, +0.868486f,0.760166f,0.653187f,0.547518f,0.443127f,0.339983f,0.238056f,0.137319f,0.037744f,0.021816f, +0.131514f,0.239834f,0.346813f,0.452482f,0.556873f,0.660017f,0.761944f,0.862681f,0.962256f,0.939305f, +0.841975f,0.745730f,0.650547f,0.556401f,0.463272f,0.371136f,0.279973f,0.189762f,0.100485f,0.012121f, +0.060695f,0.158025f,0.254270f,0.349453f,0.443599f,0.536728f,0.628864f,0.720027f,0.810238f,0.899515f, +0.987879f,0.924653f,0.838062f,0.752330f,0.667442f,0.583381f,0.500130f,0.417674f,0.335998f,0.255088f, +0.174929f,0.095508f,0.016810f,0.075347f,0.161938f,0.247670f,0.332558f,0.416619f,0.499870f,0.582326f, +0.664002f,0.744912f,0.825071f,0.904492f,0.983190f,0.938824f,0.861535f,0.784933f,0.709004f,0.633737f, +0.559120f,0.485144f,0.411795f,0.339065f,0.266942f,0.195416f,0.124479f,0.054119f,0.061176f,0.138465f, +0.215067f,0.290996f,0.366263f,0.440880f,0.514856f,0.588205f,0.660935f,0.733058f,0.804583f,0.875521f, +0.945881f,0.984329f,0.915098f,0.846418f,0.778279f,0.710675f,0.643596f,0.577034f,0.510981f,0.445430f, +0.380372f,0.315802f,0.251710f,0.188091f,0.124938f,0.062243f,}; + + + diff --git a/SDFTools/examples/example6/mfccConfigData.h b/SDFTools/examples/example6/mfccConfigData.h new file mode 100755 index 00000000..21513561 --- /dev/null +++ b/SDFTools/examples/example6/mfccConfigData.h @@ -0,0 +1,61 @@ +#ifndef _MFCC_DATA_H_ +#define _MFCC_DATA_H_ + +#include "arm_math_types.h" + + +#ifdef __cplusplus +extern "C" +{ +#endif + + +/***** + + DCT COEFFICIENTS FOR THE MFCC + +*****/ + + +#define NB_MFCC_DCT_COEFS_CONFIG1_F32 260 +extern const float32_t mfcc_dct_coefs_config1_f32[NB_MFCC_DCT_COEFS_CONFIG1_F32]; + + + +/***** + + WINDOW COEFFICIENTS + +*****/ + + +#define NB_MFCC_WIN_COEFS_CONFIG1_F32 256 +extern const float32_t mfcc_window_coefs_config1_f32[NB_MFCC_WIN_COEFS_CONFIG1_F32]; + + + +/***** + + MEL FILTER COEFFICIENTS FOR THE MFCC + +*****/ + +#define NB_MFCC_NB_FILTER_CONFIG1_F32 20 +extern const uint32_t mfcc_filter_pos_config1_f32[NB_MFCC_NB_FILTER_CONFIG1_F32]; +extern const uint32_t mfcc_filter_len_config1_f32[NB_MFCC_NB_FILTER_CONFIG1_F32]; + + + + + +#define NB_MFCC_FILTER_COEFS_CONFIG1_F32 236 +extern const float32_t mfcc_filter_coefs_config1_f32[NB_MFCC_FILTER_COEFS_CONFIG1_F32]; + + + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/SDFTools/examples/example6/mfccconfig.yaml b/SDFTools/examples/example6/mfccconfig.yaml new file mode 100755 index 00000000..ceb8dad9 --- /dev/null +++ b/SDFTools/examples/example6/mfccconfig.yaml @@ -0,0 +1,20 @@ +dct: + config1_f32: + melFilters: 20 + dctOutputs: 13 + type: "f32" + +melfilter: + config1_f32 : + fftlength: 256 + fmin: 64 + fmax: 8000 + samplingRate : 16000 + melFilters: 20 + type: "f32" + +window: + config1_f32: + fftlength: 256 + type: "f32" + win: "hamming" diff --git a/SDFTools/examples/example6/sharedconfig.py b/SDFTools/examples/example6/sharedconfig.py new file mode 100755 index 00000000..1b39be27 --- /dev/null +++ b/SDFTools/examples/example6/sharedconfig.py @@ -0,0 +1,25 @@ +import sys +import numpy as np + + +FS=16000 +NBCHANNELS=1 # stereo +# You can try with 120 +AUDIO_INTERRUPT_LENGTH = 192 + +# MFCC Description +sample_rate = 16000 +FFTSize = 256 +numOfDctOutputs = 13 + +freq_min = 64 +freq_high = sample_rate / 2 +numOfMelFilters = 20 + +# NB MFCC Outputs to cover one second of signal with the window overlap +nbMFCCOutputs = int(np.floor(sample_rate / (FFTSize >> 1))) + +if nbMFCCOutputs%2 == 1: + nbMFCCOutputs = nbMFCCOutputs + 1 + +print(nbMFCCOutputs) \ No newline at end of file diff --git a/SDFTools/examples/example6/test.dot b/SDFTools/examples/example6/test.dot new file mode 100755 index 00000000..5d03f6b6 --- /dev/null +++ b/SDFTools/examples/example6/test.dot @@ -0,0 +1,57 @@ + + + +digraph structs { + node [shape=plaintext] + rankdir=LR + edge [arrowsize=0.5] + fontname="times" + + +audioWin [label=< + + + + +
audioWin
(SlidingBuffer)
>]; + +mfcc [label=< + + + + +
mfcc
(MFCC)
>]; + +mfccWin [label=< + + + + +
mfccWin
(SlidingBuffer)
>]; + +sink [label=< + + + + +
sink
(FileSink)
>]; + +src [label=< + + + + +
src
(FileSource)
>]; + + + +src:i -> audioWin:i [headlabel=<128>,taillabel=<192>,label="f32(256)"] + +audioWin:i -> mfcc:i [headlabel=<256>,taillabel=<256>,label="f32(256)"] + +mfcc:i -> mfccWin:i [headlabel=<13>,taillabel=<13>,label="f32(13)"] + +mfccWin:i -> sink:i [headlabel=<13>,taillabel=<26>,label="f32(26)"] + + +} diff --git a/SDFTools/examples/example6/test.pdf b/SDFTools/examples/example6/test.pdf new file mode 100755 index 0000000000000000000000000000000000000000..dcf9b4c8bcc1a503a6c56e2d89671ddd79561b20 GIT binary patch literal 25379 zcmZs>1CS;`(=NJW+qOOL*tTuIW7{@&Y}>Z6V|#YAW82)j-;WdL-nbndRb5%x^;CA` zlO2^+6iQ+e3@nW7uoSIVbsw+*VrF6o6KhyLK4K<0puL5wB{ADSkqRs^F)@>bm8~n# z`Cn~o>t zBoid#t7T3xJk;;+6cj#}T!fo2(L)V#nad*g*#Z7;3KJ&}l5Va?%U`Nc=SY7&hIS*a zKUKIdmgS)oa%o3wLnaL{RC+zE{i|m&r%qnZJx>SLVEz^;;^QXI%$CAiXShjv^j>UK zhIe1<8R9^{w+GcY$SEoZ02VItS3XU=UGJgJh>o4P&b*cQwbBPnm4^}P`{p5)@|`-? z5}KMAi9C|RdLDY=#~}T9PZd^gf4r{>ExRl=dKsUi+(f7o@QKI*Qv9sEqq~=KaHg-O zZTj?%8z~QK$deDAdlV1~zm<}G##*UkoTk*H>a$3zPFLiVf5af0iF9g75|>3-=2EfL zuRUm$PJw78MGuw@Y)ZYmU9TKWMqz@@^}A>9jiHs2{g9Tzd-M(Oyu1kOXG^N4U4WxGIAS{L-K%~3_TgVuhQY75=?qhf4kMD zEB^@(zd*Hz3;ywCI0{GyaRH;^axjf#g;Aqd2AH-nhFUq22Yx~at0|NP&n&X5G^6lB z$UEMx%m-$uo%nddEI2vGM(qy5&4Z>#7M8Tc%evI2vxF^LMi~<^MA7xB(&lwE18bXi zCHb^yM1IFhsz%9301q|H)H4b#czdZ8di`Q^O6d@SwXAQFEcsUIsA!U2mVPV;%9(1G z;<_WaQL=vMWFQ(I{)fPewVx!0z&npmL zmlzzkP6JJRiM|$a_b#M~_!De;YE9C!3<3fR-}n3*G|lN~85U@7_CLP+@995Y{~uTX zPyNr?Ik>q0)Bm3q>;K`zf3ZN^(^XQ{^&bO>`S|`L_;)cGGyiK4Gl>clvk)_x8viT* z@#0^{f0s-W4)(79m$o?rGXpa*`~ULlpVGhkf515Y4;V3%nwKMxm`Tal0{CCRO2*E> zf8((H?|V%0Kr<_25eH9V-G3rxVlGZrVir~|V*UTp7X63$Pu+$1Ka~D&{z^JKxH0IE6`l__!yzD zY;*e0ZoLTjOk7|3arn$pc4ymi7>k-k@S>7ZuN5RhLsK`BE2Aip8=y2KRjDsv-ZmOk z2_zsh)@j+ChqP%_K329`+x)`3DLc9=eJ+yr-*s^hSwHa#_}lx}jS_G&oe5~RIQC`A zzX1j_i%2EBqr@y@XzDFKY;L;mhRp|Sgl3e|ts0iTYqItWTQ2xPPjJ?sYy17eAlP|> zu6-U9C#de`tn0E6J;8E}phC$KY&c$&)$m`fjU!#|2Kk+}DiqSIZykQ%=ZLTE@=G1B zZHv(le5`)>&TacbLofI>=1+$MA^wY@(?mGop6D4eK2d~eYx&J$9vFg$KUBOTiCHHc z3$}my%N?`?UD35)dr8`*#clI+LSmrU@tg373&rsmly(W0^bxXzz4V{_hzEERC)BfB z9bXm|m3ypOvf7i0a@|cy9c7gBd(DRGIqw&;I`Z#hAj`;LrCxHL;^Wk6;|nD~sn1*V4A zFIP2I?2IsFGOIXJ(>gYH8Nj;j^iWQ+YtX?iQ3_CpyH;JBUa8p61tKxcM8AuTqok6j zgFIIhgi$-&j?J2*t621rI2myk&<}_moHoD zc?$+BjaEERqNYt`?`fGOCkSjY1sB(wDwT(}-@is6TgI!^4RZGx-!ywS)XutL-q2Uh zLu>B0O52R3%e6+!a040BtKBSS=epscYajO~zHt{%ueU;s#@2EAqq(y9%E>;*S7*4( zgWZg(?kvAWqjBpV=Jw2cHbNT2Y<7-ZLr2ZHt2FoWdX~Z}yFg6ucx0@pXoMSt>5vk0 zlEq8QA@G2Ytaz|)YP_mN%i%D#R>ta5p23QGT0M>C0-dASRvG)~y&!f1%|f?T1Cp@2 zyskgKa%$Lzt`WdSXCZ~Ove#8dJ((FhIx69LXE+EC4d*hqzd{{cbci(rfsP>YQ4FT6 z5R(_p`lXDYDqVisJgr9jtE#bZ(5SE~RMQ5;p-hR%`Z$<&7VSe^1M`jsWe%;8%WZMl zfrf^-dv>R6JXX$^Ql^E2Mr;VZNPB|9bW9f2;iZp}iu4-by6@$W|3xJ)aU zh^QV$dkaRA|B0)f@{aro3r`xR+7QyOCNDpOz_}Ip;mCCUtJkl> zziY*&0rVTPblHBwD@bp%zTeBE5foLr z4e>8s59QWg|E?RV0YV#(#O9hwu6HY^XgjAJI*ziFVv^INw2eWs3nT8u`Iq8EYAJ!0 z5X385yOT1jAzhs|zDWt{T3tFoNpn_w9uRYbq%K8BN$MU#e?T3Y{4K~#tuRuWiT+d1 zjwc4=dGQmGN6I_Ji^{ErOAq{>c5*m>ugOzt0Tg^l85weimBl(nT>d=Cn_OcNPc6hG zUQFL{?VbTaiH&`kn9%s4rAXd22Hed8MZ=ib^2|Ay6#qw=oKQ_{mR`AL?7Prvy>neE(t>4fD1!8?Sc z1eKAq*biIR5ossHa2TJFWzI@DdlRj3<9Gw=Qcm#lc|+SQ{fbsC{BrCnxR>sED9!2H z!7g3+;)h4b4oEy01vwJd6lx%|`ySJ<;a-1v_ah2)&Y|*in1X)WuI=VSqrlB^%Uf6ZI>XRM%Q;3jrXihXX1 zfpI9JN>xg@dYN2Jrfbr3ArcimdZ=91;z^@gm|R34D~x{M(gutk&;>*vwaFI}I2w*P zowJcaqGKmRyS<*;8Q&ehJNsmjHwh0EV_3>JRvOh-P1PA^O2I6-M){>pssWgJ&wLku z|LBmkc{U#@oUTMKu989^z~K#oCw3}tuX0(5Sy6wtcT4Vqx>6>>%11G*Vi_U#+2Y#3 zY*4JeAInYl1NqxRtY`kmy82WXZgv0nZ(k!GdE?Cx5pc*5!u#X9iLbRl*ii$W5 zqB{&r)jn>YhIj!8a}SHi7MjsuZ*GC-yEm_D=sXg)(tJTo+DHPD`-NCr8~I(x_GQO9 zlZumJ+9k)&OX91jjs!^;3zUBL86^y%(htS*=efRBbDR_3xBVDT^ADtc!6~u`pFZCc;YmoQ1J3d%^y9j>jky5T(LiuO zjL-+9+Dy$y)^olvN``@8>L4X;u{?>)7)jW?>v&y5*W!9UB5H8NBn)kB;XP#PuF~5t z<3(KyP*<0%=io^qOQtYas@{ToNQ~=fnT$bp&KAZNijnZDwIKg9)P@4(a55JOdtx;> z_Y|5wko6m_@=pbeFu}=;n+)Gail1d-lLr7k6BWDATTxfVYnO)FT9r(`PQ8V#nVBIG z`2neQI_5*kph}UIqFlZmtgHmR$|dn3%J5}5cw-VYApX5sc}0unXeqx{;i7>u=^iW| z%A0{XJ@yChSoGLrLnJ&}L8T9Ia5pJ`V$k@`cqMeb#IZPb+$CwK2_7!46?b8&-YRek z$R#7oaP`baI}zyT-b#bhFoPJee?4JM%rFuPE=Pike&%7}bnlh3cU<;}S z^um#dFUwcr(v-H|(ZYf18f-EE5=P}~2^U_Z-rx}^L=| zl1qvjZjIaJbJr87dab%FXP& z989W?XjH_4O-wEl7$ipxDFpI`5)4|l`CffnJUcv#bvM;j{N3&vd?m`CSDJmTr{@OO zr{6wvpQZ_Kjo`(|g)u*rN9^xMpD;tqiKPQ{zBw*_AHqwKFvF-|X``VcK?p&*>H%&-EExq?kkbfOKkr z7z-CVc9YY;Cp$F8Lyo|=9Ui+M+i6COINFP!1Pdaz8}ip(#y2hM%MhR)slkkh{#-9M zDMz%9hGy@U)@V!*(@z~NCFMlomC-RQwvE0CBKL8k%IgwqHki?4uw8Uub!f74G^o|P zO6K9^0eLe7Pu@?igL6qc*ttale)DBPGDO0WT`4n%tjfok2a6wNws^M805# zi)5BklO1G@xFGvpC<~s)|LgZty`7ic()mpN>|A|r)5)l8UB4~m$MSWpqW*{a-(lYG zulIgKKxfBCSAN{L|4l$%UoYHYrpG0}6F?9OV;!!qY-E^+j|9g>E9$j*9ab*q?ySjR z*2okdb;m&B@t^^I51s_7U4c1DLb@L9>Agk?+0Oiz0rSu?MX>N9yU2#3OoPsQ zYeKm!zABoRoBHcqogpqG!@hmRL`pG_@ygGa$^$B-=R6Bd9@4kJRln z9Xs7K%?xYVkg^878^MOprpLzRqVs9U+o{(-WKZXyH4kBDrVrtKB~!O!v-GNOleHb# zzOqYm&AJ8bm)$t(ob&P6@6POQPLNKxAmrq`_L}|>-97l01VD{|EiSz$oftirZ}iIs zaQYto?dI{3KVH1ddbi`T4{qmeV0^9RxmLMTv5JegTbhBHm1zNXAl~dxziGSYaVhFp z8*!tYX@?A+OfSDC4SF{k&8xr8CD@|r_GsrO0JNqYR&A2Sz&NDBI^sYwS9C7He|(T? z*W5a@2-h0aYMeYs^W^TFJiLQ}z`z&{Z1N-4^CwDsqj8XJQ4mIY9fZBZ?1)&^oCK~F zK>4;SxR_BWv*W_A7@S@`z50UW8W@@wtXB01Sl$9Zlhkr&xSBTPdWoYCW0`c3BA(oJ z`4XwoZ6jGupOVPWDX%dJ>ms=EmhYd$l-lP-VuGgUR$tbTmYZEJ(pNlIUgks4p32Wl z-xErZ+_12FBKX3|Vx#$9iL!z^u;THw4~iMkWT%gyL~PpWDwnZxhpD#jrNs%k5ts?b z0}jE|Mz4OYM#J={DwelpaT0~8a95M6(;m;X|z0mql~TuhYWlK=H%qf&bv0^_G35F0|nJ3`at)HekMHr8x@MavY8*`XSggL__{ zQUwHVa7AevV}cyjy|xPSL36|yK7gf&_r9>ok-eb?Zu8(y%ZtAn1&nA3)5*nOW*`x_ zm!0K(^0aaM6vIto>@n&UjzX{y6K_YhLY**q`>Kr!hnuyq5wV7{Z1pBKcX%#p6nB_2 z;Eld}zxu|dy3XTQ(Sl_gkMCFHxb0PU1Bp53202JpQYQnM@bS_`Q(dT8JnD2?_(u3DZZ?TX>Ho zuUIEVN`y9n+E`k>7AdT{YxK^t&dF-K(jY#O8A-87>}`!x#R9v81FoW(CbV&!a;8251=#V1aR4haW1~3(L0!U{+$`jI`I}M)iDW((DxxmEdG8bs3KV&d;t*z~ zJN5tZ6VWk>}AuV5E_^|nuJk(m4kAk_v- zZUB>3TN5(ng7lDWOux{;0aD{XO%^9ax^gw4~x z)@-kPotAgc9(~9XGwJSvBP_h2jY@htja)fg2-Zd2mnA$^;dV{^mM6EYx6FZ$FK0EU z0=8q&XKo3Z)h8e$*BB=st|FT>`pzto+ zz3GU)NSwY-SJw|Bc^lc1YvLz0?}$6!JoZDTyH%Ob8>jqCeRs>xk~d5V)d83M@h59V zFw=}YjO|z5t?R)Iu|eXPj6q4h){J>mr!@=|e4@NNY=slU-krcn))&?}*7|{LPe2up z^b#~cu^26m@B0wMnAV*LR zxopI$ot_;^#UjplF$>u=XnUG7>T=&K*KCc6jhTr#6_XUB@=c7$x}(Q@W2aL<@5prP z%BGjnU2#|RDK0OYJyXz>>>k32!%@M2mb{TBpquZfdnj<%H(hsWnprraXl)>a(3)fI zltU$dTjUn|Li34hev27MO}(T*LXa1s%K7z?xz^336YCu4h(8hiEHw(l&Ds5?E8Rl$%Wsvb+DHRCmJzitq(tP%=+}Da(gsyg z+bk86j*G7K;+Wvh!t)7{ye<59`Pda!vGQD!=yrDh(iSSw*Pyb)LcD* zyxq3XUD^ZH(Ql6WuKnwWn*hx*EHIqUDc=4iw}-`W_12)jJ?GC59^bS#i005YIU&fV zAbE8|ig{OijzK|+{P;$QCXM?|Ws@kXt&wpf`LeF0Y69F+S+NHS@MKPIN_ePhmn7B_ z_j5t}$wp|21k3q@*YmE2$LjMx$^xP@gbxJxi-d$GCYW-M7GgFl^M{0U-P}9iNgDS9 z%DiD+fC-NsNvvtDe6=ath!Vw9ZwLtLB?7$rR-WDi?1wx@Ci)|C)U%f4rK>6#>yi2) zWvTKHdRi_sE^eLPdSG?E^U7?LVEdQWIq=YT4P^FNwn$uMgFnTD6C6j(YPQPoe@`mf z;xq4iNo)ZxSrD;ba20X94hkOV$Aq=((RKUXF@BJ!uu1VlKvg3%$t;T!Yw&?veD+)D zfgTVB*=)xFBx8QHjNz;C!O*qcd-!sDEr1KM|JA+<${g7ZlWKX&S-`n;0I`r4J1IhR z51pLBvzzsL8FgoGtWfCtscqQoFA!oK+Tu8fm`cYn*XyYNu+o?Z=i$uzmaWH0$NR8J zwaw;dv03ZVfAL<|WMd!Y6E1klQ_-{a>byB0Hpax~v{wn&OV~DP@`@adVnlYw~D zG`0^O7>C3Hldw%GFXJ^ezSfad8;KWNztOmp&X4Wb5ANgspMkEnyw+i=-omc=33K(e ztu22uW{T)x2l@hkZ`5F>G<)j1TevHx&Cp_IRvI$GMPD#xiGG zX550i$?5;8cMibDV`97Mv4G4IHq8Q@t5dac`Q+4dYYTPf+h|1l#A(oNs3J@KO!U)4 z!MYesG0XI#m#CR$9U*ZaxN<0=*h(dM(MpgzSN;B{TcMu|}+3k;8R}Bpds{5BG zwFGjlc&I2m`3obd_zfSr*8ASG;Xi{cO^IPVVn_=7jNtW&xp&O>D8-<3#|8{XVv1#Y-V=}c zVlX(p&W$`?p3`vJy!1^Tl~Wh?SJ>C_d+nKi6JQhc>WePxE_+9Q8jH2bnY_0BD@Usi zMtcg08+j$xJ8;eRSar62cxresdMP2$Pjfyc<$b90ax2X8F{j%6DhBSShToykeI;G?YZ?_LYV86t2&y6 zsEj*1<`8+UC3TsO zk9$@Cn~=hq`V*`Z*ShXcAH(m%G>#Bo z&R;?SCNIq~J4tqf`A$A>gN&7>fOQl)u9~Xx#-7<_7vY;|UMx;F8X4DUd+`PV?7obR zF8`(LU#jmMSK2&B)p*XbMH}NK49&Q?3JL}H^|&P0VE%}(1?Yc94VB)~^`p}u+X^>9 zH=Vorb`u28yjZ^*Pm*6Fa1Ov*X!=+@0*33hh7-qJ9K3g8`!nZV7$}a1!O~Xb8A5q| zSK>;RzqO96r>zQg);q!C5OlaecYDLFj^0! zW9IbGJ^UWm*4ICbZB?1_}Ca()b$^o zWVQqHCB9LdJfzYJG_k7ELJTaZb7F|os>R>bn1?i|sFsh{UEN6Y*SM2m(x)a$(2`1$ zA))0;6tH#VNW}jJ?H@`wdm5d?>sTXN<~L7AJO$Mx+%X)g48pW7TahWwZL--jjS;Ws z{?R)3U&*eCiyWqn=tTW4#jM4MjIAu~JJLB1uB(Lv3LnOaQ$(a~houqi85SXTg$_+G zdl4(?Y(}|~z+mR~s)7tJH@gw}Sg~w@;6rnapUpP?ka>z5vxpkZ#VI2NZ)3%*#db{w z#O;Nm4it@DJhKKP$B1QGGNvj0a5W!!$47)R;ci1&J6Y$#PUV^^ccDJ7pDh#u%bqii z4ZP5ud!AlZN`o?OsINzQddhR!EK*oLBM@78OM2ZXygs+i1wggpoP0@=(UWn*)op75AFF@1hFl{r6$ zwocaqsV5QreMTw1Zu$fl^L4S^-VUy~&7YApwwgb>5^aj7U_Ex+cHks6X1l9i<`b}b z8(bDqnOvBekBW2|{mhM9Xtu`O4T-AaXcNopwVw*a(PKE<3?DKcrrdTSIHr4DK*mC9 za^PayqxuO-GbSwF+>6}UlJq3WblljwC*jhXwFi>8wT1II0C$h;k@p;%QZbo};o8JO zrUb+?z35SpdeGWQX{gVLzrkUUcW!_3sqwi(>LB(e#KL0T(Y@m zIi-DIK4X#v2u1+hbVb010y`vs7jH7$v|U#(O$5`kPFbgwV&|I)VE??X8HEBfiArrT z;%cC}^$mp4B2&itm%wYxsg?d+6HI;%WO`1!g@AHj-RnYq_(fbNo!U^7i7IW|taZf8 zfQiq7c71tnT>_Mq?WD(?0+!^ZWi4S@<1?F@rOixD^B?u-Pmw$$9g)Bk;%P2>D{X(UQ=nQOHo_$K~Jv z7+S|wHQ^1gKN5wd!U>{keuF$FMw?U2!;yq=T4N+ayD%m#9a^h!i@itTvlL4q&qw8$R$-q=a&*u z;TOSdEF=q3*(Ylyc)h{8?IZq;E}1r!&V`aAH44aXNs0A5n(L!mjJE9d=?-^-BYcJU zP5rYyKrdZ^nNOlsdoXe8r-3EAr7yA1%%c=)CoQ(^=?0!8eUjMRd2`M)b7p{>O9)&B zMAwlVQS(gSOz+e;*f!E5#o15${O|JVh-sJut6otaMiX*EtV{!yBoEFXOm_Lyk=fi( zlfebyg}?0}Hk+y#)P1UUYWJ(EdiqIq>@HsmiU$(Od3b4dmd!U{4+#vxYv2H+eYD(Y zJHfxA*0|fbJV50HuN)s`x#$q23gQI^4Ult?bTAYzRsQo1j~bPV$%x(B6%50XN-pFjg^sXFtA@HO_>bGb25;ei z+hc9fkagq`P~8Zrjz`*2A?}5jDo%;x6ruo`9Q6gIn#)ixyn4M(w=)K}!K(b-m)r8c zey`u@5^eiqo*TVIR^Rf|BbxPH*1sUf+FqFbFI4IK?mefH#=);3_XSxbQ{O59Ju%~l;DxN;%Du7VNU@mFr-0%cCavg zbM(>|{V6}hFR9txt=F#CG%h^F$Y_)i*E_AUSA~-XKGsJ;6Bu%&5>!EKEHq>1Zfw17 zg?90=(?5{WKgddb?MrD?%wqo*kOUInJtF5(VN^W@4`v;%k^JZoT=CAe;QMP}mpfUJ z23a;(#FBL+p|EUy+k}fR2btp8%8ui>jT=9i8C%h`fjIHL>&r`rEmAc}0{?l9UXr=DoA*y$C4ujo^ohAd&Zs(3A zohYlK<|Ni1p(qe+r)pd1rZn%NjpQ3hH9$1dxDt%14R`es1jAK2^37A5IbLa2{!I|T z$zsy# zRYcvBJq(|@I}}Y`iL-@`Y0`6xeEF*+sif*e^E>)3B;BW%vrA~x+;0|_R$4O%d84rJ zDhk2Z{CM|$^R!u*DH1ow5{jLX};`*_P~vuVut7{Y$plmv z^dvYU(MXF}x zIsFd%y|l2)A@QMUZweh7WL=v#XF_>OQLava8@y*G{Xvf$e#YNs9jENHgHRfsJ~5ZR zK17VRp{u=X$V4nGdOdR5CqOOwnvVM9nRT?uZ*)6ZcEvKu`l(GenrAq*3mJ9j%JbxV&6Ix#`44W}mC#qVE}GLf|QYhz>K#0$R#5 zztV0n>0}|cF=5_yowWftCcty3ycJy}N6kcFFtbKYc=Otvd8m=@W)-{ob8ct3Q!ckhF48t1Tq+)`m&!MEq z-fR_NB_Uzqaak~7Wm(WE-XVs?XPV7X&WD&--gEXcvmsAWcS4dPm0;NGF}G4EQ%!`~ zFyC70sn4{cw3~hYl}zSx48D2N3i!GLyMnh)-^_GZ@{Ayu9eu8&AfPZm3z{d>O+hvA zf@8Ow8*f}9fAwtAYsusMTC^e;526=;UlWj%+qla?aHXWz4*C;+9=Tu=9d3$ZIvz2T zX6@q2$0lvebuMQNJIww?>f|jtdUa?qTXZ(|G%4qo;=myN4z>;1M~@5=y7UQ(n{8`f zv^P=q7pJ5qQapN4eBr6J{ap@_TJ%>}M;CEU*Q#1KS=Uv6<(&8T>=gpH{Ck;;gzgoZ zC?o$#9Mfcd?l7}D13=>91RdVD!rflg-#<4SoHGW2Fbh;O-rm1$5w%*o(^gb>b13aX zVvR{9cTj3X9C-Dd*OHbGl!|N9&j}xu8u12cS+V*4eY{XrDo>o!i-xryb5o13;L80o z0Py4Q9ON68NmbM*9ymJpw>a`aCAk3Jl=M6s$#0z2(~&wQ#Yh-sF(gppLntp%6n-^- z{|qU(0Dfs3%D}#6&z2-EkCZ@9-3*~ZI-7G`<%~e%bSsv**GssLw@+W=ppKF55vsc5 zwTG_?LD%^YQtAP;Q$K^XSc`q}Ns-+q$MnS`-TKG3w$1AXBrT{E$y=n1@*${O#aqQ+ z`CWo(3hx5Sil*X5=9`$C?%*C3Uwf*?3sw6>Aha6BaPhg=V*X+Rl@pUBTNvj^EY#!? z%kw?RUUfn9JM(?>N~fNuVy9~3=sHIMYrzbHZW3;!d^_1cJfsWd8!-NmAQWnbNbs$7 zERACWSX-sKl#p1DSo>Ll>n{!Dg%A1rlTzi;Xz0U#D z9+PR7h7KQ&7KS%c4pf$J#@3h^5fMI>?}ApZ$b&6;zj_gt*WbahFK5Q^{%qV60}w z(KXW3QTwhQnW$33NTMmnR2Lj>zu7h#+YjTmz|?ATbk$GVOKzsN^ zv-g~PYvWkI=3X!yc@8&RpdF#TM1?cW3+e^TNLcK-=mS_~og!?MkDb>bUt}j^HaJr_ zn{McCEM|an#kh~&A}ePFoG4Z1!3H$wj31<;!VY}s?ldy&Lx?3ED3FPYNh6erIV`_Y zXQ**y35HT{Pk zz|BZsu60Ha{{?B{tq|0XfnaB zqJVJ4{qO1h$R(`YbR3*XMnqo8?;-uKmG_y!EXx+3f4gIT~{0$5D|zH9HX| z9PT`0M{M%?YQ!*8Y7(jpv8cCH%(yYr*d>Zzs!>$RsKsU+m5DX^hk?Z4;(VGTb1_=< zd!jnHnUzbO`&#rLj#Xg(v>RV73yMqQpWRF8H5Im@b+}svrUQlmeNtcfN8-dMviIQTasYqw5%8AMTzFyb?(v zh;C!p5weBX%;{?G5v8;1?G~jt$atKR$p}McJAX5oC*zHHxf6)qFNQkHEYZix6+fz_ z>sQS$B;(DnM$nT5pwVZ(IoIizn0j+8Bn0eqIkWP4d3m}l-Nx-yix#}y&^Gn!68aiz z$dqS?Gx?th9ro6Wp!1}T7SZ(s$tTR#IOv9B5WfV6gS~je(>sh0(|UNAWzyi zu4ZqVUp({7@_~b&Y%Z|@n45$5I50-3SgFhbk#`zRdWh984=_YAveVrWHI;s>X|k7x zqP+4xa

o<}L6O<{$^qoa2fDz+b{P3zJ&>I`CtzwN=3kGD^niJk67x3#qBnmzOp~ z0!Uo>r^!pb1yT~;iXM621zdc25v2Wc#wj{S7_lbHXn>I%<-zJ|(NWrUY5P9Jk;+Q@ zPuXq2V{^l=cMgfntS={WkJ(gP=Ntb$p z9gg?+?$U)hC~qPceD6yl$v$rgCQtXYrR$kR?rgzll3wVaY#| z)s4*Boce;p^BOa~Wy2GPp(U&9E3Y~SQKS9m;>(d#7j2=Or9=sQXxvHu++X&u+oujo z`Dy|9?0Iw)vaiozQK7Li(-UB0&DcWj2PA3fx$D|PK8SCvYGn(CL#jyQWoG-@J&@c# zT(N*t>ND7j223i zp+o`~m$JURcuhS{;{W{kuGnw37o_oc4tCpu0l@JJEsjVipp0o!-N|Vz#w=zE$vNzW zTF(n4DzS~g_%7qeoUI&j4X-eafxs<`gugo1td)jcI^(mwr7v9;O^z(RBL0ZknH5-u zGhYKC$d*#s3BwvRmreRI;_Lwx%=O)PY>k-%OfI^1zjGf+Tv(OqFii%lD~;Bsw7N!fqtD{C&nx{&dN}zw{a=n$ zP<02?$Wi2r_r*g~9pl->enRwy{tq-ga=58=$9P z-oyArj-p3m=}Za{$_ak((nccl<Yk}WEvZc;?r&>G*oc9m8rSD z*`d+p85NVg8xrYQxC*l6m%H+BXTg}i@mgj>S;tzVHKuLMy#E%i5z$o853&oHe`j0TrvdgA@a}-ofbcY1>ICH60AYB} z)Grky*`P^qKvkxn$%ZD?Err(hS8b|~iSmmL65pqS`!iWUerUP}Q{LX-=V`h!AH?p< zFdkuN*Gp!)0g+bk`z~T!UKa7%S}O3>`6m>fa72V7Z|>hp!9NYPWRBWKaQ))z`~A5e zZHCi;w|Now!Y;0s)%LvI)6GfS7uy&95rMKzJOPxp0_L`HjqF}n^!nkE23wd9wrX7G z3i|SJJ_8~;T70BhAH*LL%|t<&N?P5J!8m_GSOTEKkR#&%NRP)@5RwYR{Bilj`t!iN zI;3w*2@iUB69F`LfQ}fKXUnac@BvD=YZ49a{vuk^=H1v}M4HO2HIvl(OOEgwoXaPN zLs)=6!&5WBErvKM7<)17CztO{)|c3+jA1l7E~YM!&Qf!MwJ%I!aU5OL7$Kv&DZMdXmT`$u-7aP&*J?#oR!cU~~0hM6A@f%)cQ6CNk`IaF&lj$pUQlV1E2#~Q`Ymiu{Q`KaPIG_Nb=tbr=Z;Leu{Jor_iy)@`U1$m!W zgYF)Kwe;tKQTwmQna)bq=6xi#SG{%r-aw zH6K-0!H%1#fC``hFNCv3V5f7DFpnyt{F%x#EfqR3p1kpDu`Y^fp6yur-h@=dOYqFt zVi))m^VT1S@n9xV1xw*qmzh|Qf^+QY3v#mIq0ldkuKenaY4aHK84Ctoda$%!%-MZ+ z0%OuwGw}ux-_!`j$)iV6+QwPW1j{^*o{^9YtT8l%Sc@j4t0P56{U7wgSaIF<3VRzQ zJ{RJ}a%7iPU=G@i5%pBYL1M3M{UKC?aX3BywndV46BZuA(Q*Vc@w zKo$tK7Fkz4%pVL8{KzW8t)sI$X2NU`j0AU3^wVh}7;&n%j95>@c%aIdfgokS!FS$g z>_H2OS(L0^9KcBSK~BC`t1oVIb@ZV1vz2dH(q_a8q=(f}JrG9B4pL6ywey%nKrx15 z?N8$LBVKGr9QvJSUEw|d+k&%KikJ-V1SJvwZ|#%>m2415aS>{1{o3xd#*M|SLZxhG zbacrGC#y@4w`=HntS1=1Cc3rci#eDyJ(%j>8mbmcbY+^;l4O#_{V@F~Ue(WF*CDr1 zi3v6cZ6iy-rn>U*p?EpK{jeGAOe}WYaKbp_ehm#WAcx(mA zcXJ`hi9=b*#JwexxLFlNKVRq#)iuyvY%&4vbCW+9+*LdKdeN-Sejfeore6? z^m3>@aju$f`7XtU&w_(bnQYAG)?1v@y|eKWcj;E45vr@Rl8LKaMZe`6Wu}x`8;so& z?yDswBTzC4LWGLegOtt?<=likq5N0nQ{;Q-9T*IjyCjLWoNjr|?}^kLv2EJ1%cjKs z2j>>?)m?oTZ%5VQ@{$-)|9lfPE)~Xtl-HUll1~W^H|CVtM#K%v6~+U^<{cC)yB$CH zX`ZR?DU6M6Wl>&}c@ji-p(aV+>T- z!GB1jLf!5#OEv2k=r%os2FKt{#yEn46$jd9Jk0w*nbz6!++U94Y&gchM45>7<|Y{} zV+V3;G4_54*qTK6mvtz1Apd@8oA7^Aq74;>%F8h1hdkoCkA+;rYPl`M=Oyt_#D!!*b1tLO2z`3`>ei#~~V(RQU)-NO0NU79!OnC2B;haD^3kqx!k|30Y(l z#^x6f@>_&~YROi~v9-dCWgcEdFz=$|+Zo_Frqpxa!p-apTVG}7=q{RlNKjvnS{7^z zf9(gpjr$D>j@6?_oK=SJrK~M2BU$G*22axuiISQUC&2C-PW0zdzf zKAh-SKp4*V7W^&F^Ek_Ko+pA=uqe|44_Ptc^osSD9l%FFZief8^Nr{k=o(<`VDJwh z=E~or%_3bYnODM1)Ar*-x;f=xHmZkc7H8@>kRbbXjf7klVe_H{XZixeC6!GVq%KJf znAg(g(a&(yu+3GQuy7mWp}TX#`f8f3W=LVk0BNyH-xgLJ$W?&czq95qhC3CV5TYlv zkG7yZ0h3=+g2cIO!dDJK!~j^&lTK+*b1{!wV^j+B9`DDBGfhSJ;gD#;1eDDv$JXP* z|I1?WN*VW(*j#e5mdCz!+=V8du^^%t_D!`)4n|XH4TLF?$B|~j%S@g5ofSUbu?aH8 zeJp`lQEsyrDh=TwhDrqrxb0Xq_(0$P9IQGgBh*Z?0)1Z2ys@WIa&SwQq=eZP;&Qg3 zi`=+xZ(Dw`W-NXVR)INQnzNbus6E_LRwf_lt*=ivdg+@iZzJaQvFeM4w>@aUi5>)p zrdj{QMK%~xF^c?TMTakGz@$GC(PSKd!T+dTw#vq(+PH`6gru*w#ox(RuBYR*dlFeb zFgt)bZ*d!YvdC#eun?GPT|~xtW8yEQZGaKuooS@(<4MZI89VrKkq>}B_UGHA4l{X; zhpWr@JS(57Zbo@2S*T=jFnJX9=<;LZC({EqWT-2u$6-u;5*R-93Cx(Y@qETsv7SXa z#C;$CRvN8I5OYl3P93h6Oz@CXawIol?+`g@R(+m+)EVYC!ZCzu8*v{fxBv5w{|)l1 zLXwAh^(eSA>$PjE?A%|pKan^RulTF+s*{Ko$%inGkeTq2kHClHyXaed*g;MK<*d=j zgs-b(34Cz`oxOc;^G?1@cUn;FII04oy^zD#-UO$Q*aR+iHp7Wx9RKj^*ar`dLpxw`A9*cfu9O30Y%6!e5`d5rQ-U4qubc^-rhIgYXi| z#b3HgAc~fM%B9Coqg-66x+7@-)VFRW4cVW`ZtI{GI>ow}=d1>$6V&xbIQQ)5JD*W} z=}3Q}6&j3omjnHZ=epR|0%P1d@e=+Bs>e<*#w36nV?$pgq<*VnW7M$rNf` znUGdrKqfMX4=xJeu5(+am$cG#=dL?mKH?%CWIXzR8aoT9HkLN-BSi{DihF`PgdoA) zDOxBlA!v)c1}N4-@gk*ymSRPV6n9FY6qn)@cX#;`?!E85_kF)}zAtljv-96)c4nVv zX3m~$_P52xvEZ?~3QG4C>Z%Ir1RtVCP5)PH{gW6V^I540?!A+`#Isq8n!xE;_9R{A zn2a^SL0`p28RIXBTWWYz{>wpG$;2l$5)(^FRu`XA(%>1W(i~PKsD)tjOQ+I-L{12ylOAMuIT-9xk z+9?UVXZBk1IxBHf9~&QCl_zb%q@{RBN_|4z$GhehgC1W$d1u`2xCBvq>oHCNNfY{2 zs_m@|nLHM?w@rM*w(rVJqVFR_xE%it(8?MAyef3xcSK!EZ`e9}GuuKV6XlI6KY{S! zNhl9Fn7xDO*rIp%8_Sd~^)t=|wN?)Gr#&}JMa=by{zLic6_t`GebcQpdq zHHA&QNMc_%Vsu6&aAfe@K5J6FA$&hYCoS8?3)>}S~ zQ~%WT$YI!Hn*Tv{0R{KVAc+y~C>z~s^@JXp%*k1s8|vzUXsb}jYFK|o^R}3}z}=S{X#2_g-`zIzQow(EpTVyr z8mPw_laHAVf+B)WnvYT~^r5M+w7%K*n`*p~tLLwwC)yRBYC)p3fpae$-(<65j`3Ik^v8N@)oROv_fYKxA zj|Kjx3T~9rTyeXBKx%l$S#m)-KlqX(*@SY-G04(=LVgI=q84HGx-^NM8C{xmfHMQ)f%@$_i?ch8Q?9r8rKM*kipNs!u%x6HFw~v z9p#0PAK`2l^%~O!uF$;rjU*gx%zRO5-??q#*TAS9@kV5V6xz7t%MY!`wI5vhczld` zUd!VyOlus0u5M60XlfSl#lwQyB>QZYqG7S+h2;bxkH3Bh|gk%g>eJt$tRwk zaPYL4c0yiFqiEI=1rpFIHHW!g(am0(56rpX74Pzm^BZ@O#YqUANHSbe%M%Zr+p!x( zj^#WXXl^ZT3XaXb?J@_8uANhzGBm%G67*tin4(BWgJs}0uC_ONw{YQQ6BRqRJT@xF z(d0wTz;d${oPD{AYPv@TkA9d&INTf1wgWSV26YSWUm4&|_uSW^$JVW&_#8r6OE-J+ zey<@ei+r%R7N^^VR(z1!<(j-t-iE4}fUlIV+145A?Pk7T6Z?VU+T*CVe7j|LICv+e zWh#IM@u)*NaaVjt>Tk|{0CWkxPiCy|yF=QK%A`pQ2P}VTf5;{O3AqX2^xmmZ5Kqwk z+c2M=wHn1Bkuf1JeuhMaVAoDM|KV)6&OV0Q&jUR{t%d)Ca0SGNjF+sXTRt*@N*@B*M!YO+N>3F< z72#4*iV`{Gv9tUaNrMF4WHF9m`%2ohs_n`(ZEW7Cc#;n`e@nlN98_D=JE9gH``Owx zAF@bFgZVT++>mqe&6$b8)c$!HPnaj48O|oNkBAxiCfRhHa|dMM?S9R^_qrcIe5(B{ z@(fh08A>MgJSYb7)5g5!-s%HFzIHT0r8mM!P@KKo$8X;BnXI50=<{z{Y(p>7jzMy9 zV5~ITG>Cy1we{wN+Ju=G`6XZrcWZNNP9&me8EnE?^TPPYOh;qaHDWfsOe8oMJ{P=l zy1{7W6u`j^?+w2U`xF)zRw^&^j+KYJl-QiSJC{wlD5K3Ca1rsX7rS(U(-*5I#FzX` z7V3ZY*@wP?FT}9LtJ1sdwzIVDlL2XSOig8K`Lk|1OIuJ7Y&8kU=0{%Z$LY>%a)i4Aw!t!L6Fe}_?wxPEjh{o=^(S(tE`ge_dgYu> zf)0cB*aHZZV_-f)CX|wIhF-*$lethY1r`Z?Et(E3qbxJW#)9Ypjrtpf&7E7OM?>&PSz1rE0*leskFZ zU+?CW*{KP=veLS59t)m885+WXO`%=1_2`CjnP4_wK;mzuunOiPZo^7iIb6mFRb7_) zwx>PfADIG!yj$vsJlh6O2i~{Q-{{-%c%c$%DS4wO-{PA-5M7PiyQCYz`E49UxAYV` z!lArkR=en*QyGuB`FV}BFY^azMWto+u+|XhyGvP5^I;D>pzSWr+VqNtx}ID;{A<0% zR$e)+-Q+|lj67@9?q&i83>uHa%VznKyla6#Ig~uK+Uh-HTg#bSqy^U4X4S~hDU?5# z3^|svxJo*+9rW6P0L7wVHF4KeAT2b#c4{Mhqa&s|wCnq`Q(Ruy%Zfi?CviV4{H5g@ zalc&;mIKFf1Yt8k-=Hu$GT(TKYql1t2Vd$#jXSNN4Ju0=ly;3T=Gt!}uANI(Z`pm$ z#t%xD&3l_ug1B#uZmO=D4d0d3p*XV#TQ*pk+ewgqp0_xz7r%LLkzil)J5oAyV2j81yQWNJaCvu4sLrAy6j0={0w#ZGdkja zy;0CO3SAu?p`p}-CJYx)-c4KZ-siLKK$Q)zuxl#IYk?xy8J&PzZ4 zvB1r!ovKvxYMbLiwN!5&6VR#nXW{jCV=uYG?{_d~Jj?%SGvrxSkZ#357p>SfdTVYy z4w!l3Iky|A-+U#PvUTNFEWE4o6Rg4XJ2PI?RsPCK4bzyX8kVHYW6@I~m)PcDgMfyN ztb8$)31PMcsb+QZID+x-v+5IBxmiRLh|OsD*CjZKiAhL27;3#)!(rqOkGc6Sc`7;i z(%V3jbMx?eb~o;_@f1GScq-B3m#F_3GVXjZ;#fRW2H#G9W^S@nHdRcPr$zK?-IP5B zl2`jtyLr3XhJMqYZD^cb$0W4ySrx&!&XBtCwtdTC%k93vBTZOmQe743J_M^OtzW z_xR!dSCZdf&bFGOuFHyA^G}cUY*$cj$5Y^mlq^42o9vEq0;l8X#;(KG#faa1Ov;Yg zK=~DOfJe}1?5{4rm)_rzT3X|0AoRpvnb=b3(mICs0aHnhABH;1!%)tf65VQCJgEqh zE-b+>A8FKBge4*{1^Mv#Slm5+`#rMLi4-);^IpTMjC?E%@-);qkzD&RK1vy_&zn@2 zmO`t#W;VMsn6$o@H*J(Sb7=w1$#OJtw8vkW9smoropQV>*Kljy=GdbU0y6tOc z+#}D;G(Z1HV%d;SqjMj-@jp7X>&OAl)BEoovZ++&`lLMwKlfi%wW4R@P~eK5V_Cg5 z7~E;OmqJzO>FT{9l*H28I6GIav%f*Atyb}DR28=97&3aWqjylaqh~`Y>R_+CDAzve zaL!>&E>z@Dtu|g)QQ%PL^cmd zvDUQAZ?Y{nrfuY6D(GFujq>dHxVtK9FhnB@-tsrTRh`8*m~L|mnJ<>f9Sm4{;oELh zG-$IWbi%fc17--K#YxBAn^9MR5;%VPKx4U+yut9kcUwq28ay=^ecs!Ix|O#5WgFe|v&6O>Iq?qoOAV7|qNNjtCn3{n{K6r$DCBCwA7Of%5+chd z!ArUa4smqUp^+&4gkl4nr9vqrW_4+_i`ci#8b_k6<-0xehNnB$FH@MXeQeGpiaJ9% zEmKi6@^7erU_3wPTFpxZob350g^;ESWKfS*q;)u2vefi^uffSJD|23UfAhuQx4{u5 zZ4@2bmyZ1IxAM}iW<62E0W2|3Q@WB<&H(qGgm)}`lCv|~k6zgO3g=E9(J|oi0EUDY zx^mWfp{)8zaFZ!Fi+q4@=~=9A0XK+fUgSnjmBVP2<2EgQ-CZqyY`yh=Ou!m?UqgJd z_`@=Z>5+FUg-z$_vGs%+=2gUhj-iAdlrhb)Q1m!4V z^jLK&^qUr-fVJO$?s-~Ykv8cK)i$Eyztk~kNjKgcTFTP!2h!i4kyT}gUpH7GkIm=J zh`DN#-r=dgO;?m;Ma!#{Q%qhJpKacBsd7dOr_P`HN&2Q}e{%Tkh@;D_xYDA9x=K?l)!}0?R-C>?gKl&Hd_h zFvVE1rxY85?`wE{C3akjdsAwDA+wP>+zjsvtbql;xP|B#%8ga}2N5$~&Mc)4XIv#+ z?j+v)lB?Rzemn6ycj|dKzI?JN(*wFnDGl-Y zR`H>@OU}}H9(R@k^xL>2&b8oWf?LWo5Iz>#_}+XsA*JSkmiA+ttyg+@+t|v$RD#9VIo$N%66X!5=9KHzxT)dd9^XM)AvY^yJEZ%qW zRl7^?N9pff`Jd?LVz!I@G-Ee3W7pM-RJOuVN=alMP;0TC$FZO%-s0`yazPWuGI)Wj zi(wQjnFY0-pgcMx*{GK`4!%Es&qBt=JnZK1c?J0dbWv`mdm_n-_RRGpY-tXy6g`OU z;>Y}4FxOdt3Y^SjB7=Rs8OK-RY?%3mbWLJjv*#A4Xp2|%0Np`x>@CkehEVccaUJ7Z z=yksl9A4tsIFjObWCmSn1()eIsNhUFxDjk}c(&glY<5A1uDz9tj-mrna zN#2NYz`umk8lH$)UI%y0V8;JC~~u(;=Qw0Gu2v{3vP+l zR4inax8mZvxz|Q>wp^N2I+^M}mGxp*HGjtkj$(>wO&9<~UDY`_$%!8}6n2=ld7Bt@ z<60-nikamXK|~rP0R@(n2du%eW6y<9An4jHZQ%0=vSYOR_tUFD#bnWhQ*af|FOF9S z;5AZhG(VsSJt8f5s+^PhtznJ^!-G|3tWmlNJSM9@TWO*S**7x;rZ`6A7hQeFo-O+l ze!%Sk#g+IPPPK5N{B18}WMqU!Y|y{t)N+@)F(qO4}i+ zA+|PIl}48}P-f^8bD-{!mkRZ(Lb}y%iT>tw*Bkq|Lrjv_EJPs-Dk_bN3LWQe9h2m) zPA`QYI->6{hSh55yv;mfO`PSiA28VTgfDu+*F0}VHm~Z&eVfO9qxDCo!mJl`$5f5z z*#cFE=v1gTjS?@?iS78A~Uqib27Ait1|(s)U$ewn`=MqYZSf#QqDB(AtLB- zj4QgmVWvmd^K;)L0c1CG^4GRNDa`=yNA{OnAEgyDn<)2VpaV-;nXseIfZK@~bD6 zZd?G8s_g6#hV8yhNXQJ(@0@B>rP)E_$EI8Sv3x4M&_h$NUvgK8`r4^m4aDQ%=VAvJ z?Jq3-CvQtG<`(ojTY8j6l7ln?R|Q`=13H2}&7AXZoRTZl9c)myG8|{<-)aZxU3^ z8B9(crS+a3^g}!*yXDb^{p-_q&Pm`2>ZQ}Amw%;c<@gk2a$NK&jgwMx&XD$wi?9QJ zw45tpx6%G)1FEaS*Rhop08csg(*)}phM@GZhI!q5xz>$^X9gxO3B0t-h*|fu@Mo!B zkZsAdVH&3c9is*B#~oqb7wE#)U#R1F%T<=Lo)5#uFrnw zMJy9R&%tOBTle|rMZ5-uWwk;Q0(F*R88S6))+hiJPN~LO_{QC^>?9j?DFhbu}yb<_jfcM>IA>t(z z)7=zMoT!!hV5N`=Ji)T?`tWjr=mzCR@zrMR+QvJvgLi6wIM*R^=$WK? z9s!G7kCJQ4YR#sL~XZJC{K|e z3!^)_4|2TE1{lsU;(32g;;xuB>?fcEF3*zZfxS{Xv}dFp9v-w>IC8KJ&@+xJ`7$bU z$=+(CP^K|Bwtn_0?RQ&%(HBy3$4&*~Pcg$4pU-CTsdhD&XmaJI^_YES3fQ_UlovdG zyZug==)Nj?`9Eu(|7t-m9He(Iu|a2dUPC%9o$<#*Xd44*9>>0-Z;$R}_>9?4j0@SG zrHDGCT_CCswHS%1uZFt1y5@Z_KQYSt4+Y8J?YYc$E#7&*JUwm`r}?eOk^UMW69H>G z>w6)&2(YITv3@hadPS^G{D~{jFQd7%VE6S$Q|HqfNL5C~mo@I2l)RM3WP1A7Pm}z< zgBbxm{b37D6mZ7kM`5<@tZj!2?$DxwlCNw2?TA}^ECH2G#7(|)A{puwJCEK$+76ot z0vs^;6EuE5jQ+mUAN-rWW1W&Oo_*gsvY?`;;wyNCXZU+{GNtvk_1Jx(UJX!Q1=(2t z#RPU`lo)u+ajMhN#3cH^CJ#t4fiC^B+pdIMDa?E;_;MDwaV1H?Oey! zCoD})hAMiGp7iN~yu+WAe{RcPD=jPZQUz7BOE1~kbir!3tMiSt>Ga+Z>GjfR>*exN zrrq~oVUSF0J?87I3g9#x!2u@bL9i)JKU_}{2wB!2f#)G-*$59UW&AoC*sOX}rA!iE3; z2;inV>dv8{2aT)xOB1vlY%0)XhTMXBmx;)(6LcUS?GUzhCf3dMR_#VEZ3{2&?xe=M zt!Z%x+{F5X&UUJeBXY1FyEh<)%!(j&Fj|g&#%_Fy<9d4pBO&YSObTgU7eOUR(FRca zwb(VOo)vPs2h4pvY3xC$6qHb3>fWpCkGFuuvRBlnV5)|Np69>b_6!ozm*_huJPjCk zjH{OFTqTnxvk#n4+1j$W|2}-;92YxjwMw8}3wLj4?!))VA%c_o=(g8buUAAcp@pzE zium!qXKk!qtZnG9M^3SN2mxya)pb7&ggL@C#x`UyX3)09-BT1D#s@S9n-i_TRX09a zsw<>Fzhu{uiWQ6njdK*F*q9NQihRm@moAtt5LK?4cF6g?w6-L>E~+uAA!=9kW4)zw za{s9N%m;x0F9louX;w_Cj_odcrX#PN%Ia|n*S__TkLN>HN(846iWTXSqiZyy_g}*P zH==i8`ZJ{bLIQsUln=>^M#@M)^&iA%B#v6%+8yR*@8aR?c1MdwN*Yi{1a4YSQC?F+ zn^V``(b`?Z+FQrj5$dG%SY7u&W{OZpdk0@2+nogvVFJ9fVgJLx0cwjtPJ{nrE&B(b znp;pv7|6{J5(0uj0)jw35WmQuoN5&hsDnLB#>v*f8VI^8CgTo6a;}9%`0ldEmLl`q zU_PNcK@RGoY;A9Ahd^N?4s$0x_ONz*0u=tEJTjyFR|a`v2*9*87>Hz0|C33Lmg>6r2!HeS0TcAg{i?lZ=zQ{a?aeIemL84?FiiY2U~}`B&oS=SNVok)ZE?CP5Ga zGXCfCf8YA2H3%pqBy_hRRY5@{i2Uy)ER38O{z`xE6%qLFT9GyacPes?tRMM}Y#nkN z1O!8nfk18}w;+h+?>2(&?D+5MLaKKpb40Io)^oB)zHI=AY{Wlf_`iJ{NlSOX^Ol;u z71CG8^U(PZ6WtRDQ2z&*obPYAJA!MDc#i>MKmgfbPuie?CAVK|y{&pbhX34J-gbMDuPh(CJSN1QG@zszZMMp@H}i z1L40kh%myj|I)w${Co&H{=YO3NCfG=e`|bv;Qy`{%r7YL-(?XRVnXIIfwo0 zcnA&Ium4LE=KtUJi3lP($6t0HZcxOSce|VO9^3m_BYlNL%Ii2gBjS(r`5)s=#mNQ{ c=l{^^-94ag9(Uda3xW{Ld1ht>O+}pl1N%1JZU6uP literal 0 HcmV?d00001 diff --git a/SDFTools/sdf/nodes/cpp/CFFT.h b/SDFTools/sdf/nodes/cpp/CFFT.h index f86b0d34..59ad9737 100755 --- a/SDFTools/sdf/nodes/cpp/CFFT.h +++ b/SDFTools/sdf/nodes/cpp/CFFT.h @@ -57,6 +57,33 @@ public: }; +#if defined(ARM_FLOAT16_SUPPORTED) +/* + +The CMSIS-DSP CFFT F32 + +*/ +template +class CFFT: public GenericNode +{ +public: + CFFT(FIFOBase &src,FIFOBase &dst):GenericNode(src,dst){ + arm_status status; + status=arm_cfft_init_f16(&sfft,inputSize>>1); + }; + + int run(){ + float16_t *a=this->getReadBuffer(); + float16_t *b=this->getWriteBuffer(); + memcpy((void*)b,(void*)a,inputSize*sizeof(float16_t)); + arm_cfft_f16(&sfft,b,0,1); + return(0); + }; + + arm_cfft_instance_f16 sfft; + +}; +#endif /* The CMSIS-DSP CFFT Q15 diff --git a/SDFTools/sdf/nodes/cpp/ICFFT.h b/SDFTools/sdf/nodes/cpp/ICFFT.h index b702acb9..dfcdee84 100755 --- a/SDFTools/sdf/nodes/cpp/ICFFT.h +++ b/SDFTools/sdf/nodes/cpp/ICFFT.h @@ -57,6 +57,34 @@ public: }; +#if defined(ARM_FLOAT16_SUPPORTED) +/* + +The CMSIS-DSP ICFFT F32 + +*/ +template +class ICFFT: public GenericNode +{ +public: + ICFFT(FIFOBase &src,FIFOBase &dst):GenericNode(src,dst){ + arm_status status; + status=arm_cfft_init_f16(&sifft,inputSize>>1); + }; + + int run(){ + float16_t *a=this->getReadBuffer(); + float16_t *b=this->getWriteBuffer(); + memcpy((void*)b,(void*)a,inputSize*sizeof(float16_t)); + arm_cfft_f16(&sifft,b,1,1); + return(0); + }; + + arm_cfft_instance_f16 sifft; + +}; +#endif + /* The CMSIS-DSP ICFFT Q15 diff --git a/SDFTools/sdf/nodes/cpp/MFCC.h b/SDFTools/sdf/nodes/cpp/MFCC.h new file mode 100755 index 00000000..8cb872d1 --- /dev/null +++ b/SDFTools/sdf/nodes/cpp/MFCC.h @@ -0,0 +1,154 @@ +/* ---------------------------------------------------------------------- + * Project: CMSIS DSP Library + * Title: MFCC.h + * Description: Node for CMSIS-DSP MFCC + * + * $Date: 06 October 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. + */ +#ifndef _MFCC_H_ +#define _MFCC_H_ + +#include + +template +class MFCC; + +/* + +The MFCC configuration data has to be generated with the script DSP/Scripts/GenMFCCDataForCPP.py. +It is using a yaml file to describe the configuration + +*/ + +/* + +The CMSIS-DSP MFCC F32 + +*/ +template +class MFCC: public GenericNode +{ +public: + MFCC(FIFOBase &src,FIFOBase &dst,const arm_mfcc_instance_f32 *config):GenericNode(src,dst){ + mfccConfig = config; +#if defined(ARM_MFCC_CFFT_BASED) + memory.resize(2*inputSize); +#else + memory.resize(inputSize + 2); +#endif + }; + + int run(){ + float32_t *a=this->getReadBuffer(); + float32_t *b=this->getWriteBuffer(); + arm_mfcc_f32(mfccConfig,a,b,memory.data()); + return(0); + }; + + const arm_mfcc_instance_f32 *mfccConfig; + std::vector memory; +}; + +#if defined(ARM_FLOAT16_SUPPORTED) +/* + +The CMSIS-DSP MFCC F16 + +*/ +template +class MFCC: public GenericNode +{ +public: + MFCC(FIFOBase &src,FIFOBase &dst,const arm_mfcc_instance_f16 *config):GenericNode(src,dst){ + mfccConfig = config; +#if defined(ARM_MFCC_CFFT_BASED) + memory.resize(2*inputSize); +#else + memory.resize(inputSize + 2); +#endif + }; + + int run(){ + float16_t *a=this->getReadBuffer(); + float16_t *b=this->getWriteBuffer(); + arm_mfcc_f16(mfccConfig,a,b,memory.data()); + return(0); + }; + + const arm_mfcc_instance_f16 *mfccConfig; + std::vector memory; +}; +#endif + +/* + +The CMSIS-DSP MFCC Q31 + +*/ +template +class MFCC: public GenericNode +{ +public: + MFCC(FIFOBase &src,FIFOBase &dst,const arm_mfcc_instance_q31 *config):GenericNode(src,dst){ + mfccConfig = config; + memory.resize(2*inputSize); + }; + + int run(){ + q31_t *a=this->getReadBuffer(); + q31_t *b=this->getWriteBuffer(); + arm_mfcc_q31(mfccConfig,a,b,memory.data()); + return(0); + }; + + const arm_mfcc_instance_q31 *mfccConfig; + std::vector memory; +}; + +/* + +The CMSIS-DSP MFCC Q15 + +*/ +template +class MFCC: public GenericNode +{ +public: + MFCC(FIFOBase &src,FIFOBase &dst,const arm_mfcc_instance_q15 *config):GenericNode(src,dst){ + mfccConfig = config; + memory.resize(2*inputSize); + }; + + int run(){ + q15_t *a=this->getReadBuffer(); + q15_t *b=this->getWriteBuffer(); + arm_mfcc_q15(mfccConfig,a,b,memory.data()); + return(0); + }; + + const arm_mfcc_instance_q15 *mfccConfig; + std::vector memory; +}; + + +#endif \ No newline at end of file diff --git a/SDFTools/sdf/nodes/cpp/StereoToMonoQ15.h b/SDFTools/sdf/nodes/cpp/StereoToMono.h similarity index 54% rename from SDFTools/sdf/nodes/cpp/StereoToMonoQ15.h rename to SDFTools/sdf/nodes/cpp/StereoToMono.h index 5421b0f9..e885b79a 100755 --- a/SDFTools/sdf/nodes/cpp/StereoToMonoQ15.h +++ b/SDFTools/sdf/nodes/cpp/StereoToMono.h @@ -26,15 +26,15 @@ * limitations under the License. */ -#ifndef _STEREOTOMONOQ15_H_ -#define _STEREOTOMONOQ15_H_ +#ifndef _STEREOTOMONO_H_ +#define _STEREOTOMONO_H_ template -class StereoToMonoQ15; +class StereoToMono; template -class StereoToMonoQ15: public GenericNode +class StereoToMono: public GenericNode { public: StereoToMonoQ15(FIFOBase &src,FIFOBase &dst): @@ -53,4 +53,44 @@ public: }; +template +class StereoToMono: public GenericNode +{ +public: + StereoToMono(FIFOBase &src,FIFOBase &dst): + GenericNode(src,dst){}; + + + int run(){ + q31_t *a=this->getReadBuffer(); + q31_t *b=this->getWriteBuffer(); + for(int i = 0; i>1) + (a[2*i+1]>>1); + } + return(0); + }; + +}; + +template +class StereoToMono: public GenericNode +{ +public: + StereoToMono(FIFOBase &src,FIFOBase &dst): + GenericNode(src,dst){}; + + + int run(){ + float32_t *a=this->getReadBuffer(); + float32_t *b=this->getWriteBuffer(); + for(int i = 0; i 0: a[:frame.size] = frame a[frame.size:] = 0 return(0) else: - return(-1) + a[:]=0 + return(0) def __del__(self): self._file.close() \ No newline at end of file diff --git a/SDFTools/sdf/schedule/simu.py b/SDFTools/sdf/schedule/simu.py index 3b56e5a6..a1d7a013 100755 --- a/SDFTools/sdf/schedule/simu.py +++ b/SDFTools/sdf/schedule/simu.py @@ -141,7 +141,7 @@ class SlidingBuffer(GenericNode): a=self.getReadBuffer() b=self.getWriteBuffer() b[:self._overlap] = self._memory - b[self._overlap:self._windowSize]=a + b[self._overlap:self._windowSize]=a[:self._windowSize-self._overlap] self._memory[:self._overlap] = a[self._windowSize-(self._overlap<<1):self._windowSize-self._overlap] return(0) diff --git a/SDFTools/sdf/schedule/standard.py b/SDFTools/sdf/schedule/standard.py index 7225f5da..488b6175 100755 --- a/SDFTools/sdf/schedule/standard.py +++ b/SDFTools/sdf/schedule/standard.py @@ -104,6 +104,43 @@ class ToReal(GenericNode): def typeName(self): return "ToReal" + +class NullSink(GenericSink): + def __init__(self,name,theType,inLength): + GenericSink.__init__(self,name) + self.addInput("i",theType,inLength) + + @property + def typeName(self): + return "NullSink" + +class StereoToMono(GenericNode): + def __init__(self,name,theType,outLength): + GenericNode.__init__(self,name) + self.addInput("i",theType,2*outLength) + self.addOutput("o",theType,outLength) + + @property + def typeName(self): + return "StereoToMono" + + +class MFCC(GenericNode): + def __init__(self,name,theType,inLength,outLength): + GenericNode.__init__(self,name) + + self.addInput("i",theType,inLength) + self.addOutput("o",theType,outLength) + + @property + def typeName(self): + return "MFCC" + +############################# +# +# Host only Nodes +# + class FileSource(GenericSource): def __init__(self,name,inLength): GenericSource.__init__(self,name) @@ -124,29 +161,9 @@ class FileSink(GenericSink): def typeName(self): return "FileSink" -class NullSink(GenericSink): - def __init__(self,name,theType,inLength): - GenericSink.__init__(self,name) - self.addInput("i",theType,inLength) - - @property - def typeName(self): - return "NullSink" - -class StereoToMonoQ15(GenericNode): - def __init__(self,name,outLength): - GenericNode.__init__(self,name) - q15Type=CType(Q15) - self.addInput("i",q15Type,2*outLength) - self.addOutput("o",q15Type,outLength) - - @property - def typeName(self): - return "StereoToMonoQ15" - ############################# # -# Python only Nodes +# Python and host only Nodes # @@ -170,3 +187,12 @@ class WavSink(GenericSink): def typeName(self): return "WavSink" +class NumpySink(GenericSink): + def __init__(self,name,theType,inLength): + GenericSink.__init__(self,name) + self.addInput("i",theType,inLength) + + @property + def typeName(self): + return "NumpySink" + diff --git a/SDFTools/sdf/templates/code.py b/SDFTools/sdf/templates/code.py index 9f190954..130e0af2 100755 --- a/SDFTools/sdf/templates/code.py +++ b/SDFTools/sdf/templates/code.py @@ -41,7 +41,7 @@ def {{config.schedName}}({{optionalargs()}}): sdfError=0 nbSchedule=0 {% if config.debug %} - debugCounter={{config.debugLimit}}; + debugCounter={{config.debugLimit}} {% endif %} # diff --git a/Scripts/GenMFCCDataForCPP.py b/Scripts/GenMFCCDataForCPP.py index 84e162dd..c933d862 100755 --- a/Scripts/GenMFCCDataForCPP.py +++ b/Scripts/GenMFCCDataForCPP.py @@ -45,7 +45,7 @@ parser = argparse.ArgumentParser(description='Generate MFCC Data for CPP') parser.add_argument('-n', nargs='?',type = str, default="mfccdata", help="mfcc file name") parser.add_argument('-d', nargs='?',type = str, default="Testing/Source/Tests", help="mfcc c file directory") parser.add_argument('-i', nargs='?',type = str, default="Testing/Include/Tests", help="mfcc h file directory") -parser.add_argument('others', nargs=argparse.REMAINDER) +parser.add_argument('others', help="yaml configuration file", nargs=argparse.REMAINDER) args = parser.parse_args() diff --git a/Source/TransformFunctions/arm_mfcc_q15.c b/Source/TransformFunctions/arm_mfcc_q15.c index b0058d94..417cf9ee 100755 --- a/Source/TransformFunctions/arm_mfcc_q15.c +++ b/Source/TransformFunctions/arm_mfcc_q15.c @@ -69,13 +69,17 @@ @return none @par Description - The number of input samples if the FFT length used + The number of input samples is the FFT length used when initializing the instance data structure. The temporary buffer has a 2*fft length. The source buffer is modified by this function. + The function may saturate. If the FFT length is too + big and the number of MEL filters too small then the fixed + point computations may saturate. + */ arm_status arm_mfcc_q15( diff --git a/Source/TransformFunctions/arm_mfcc_q31.c b/Source/TransformFunctions/arm_mfcc_q31.c index c3798c7a..57db4b35 100755 --- a/Source/TransformFunctions/arm_mfcc_q31.c +++ b/Source/TransformFunctions/arm_mfcc_q31.c @@ -69,13 +69,17 @@ @return none @par Description - The number of input samples if the FFT length used + The number of input samples is the FFT length used when initializing the instance data structure. The temporary buffer has a 2*fft length. The source buffer is modified by this function. + The function may saturate. If the FFT length is too + big and the number of MEL filters too small then the fixed + point computations may saturate. + */