Compile C++ from Syntiant TinyML onto Mac

I created an impulse for the Syntiant NDP101. I’m trying to integrate it into some other code we have, on my Mac desktop (for now). The other code I have is in Pytorch but the impulse is in tensorflow. I tried converting the impulse TFlite model into onnx and then pytorch and it almost works. Except that now I can’t get the DSP feature processing in my python code to match exactly what the audio processing is for the Syntiant DSP, so I have mismatched input shapes.

Next I thought I should try exporting the C++ library. I’m following the tutorial here: https://docs.edgeimpulse.com/docs/running-your-impulse-locally

I cloned the github example-standalone-inferencing. I downloaded the C++ library from my impulse. I tried to run: sh build.sh and I have this error:

In file included from source/main.cpp:5:
In file included from ./edge-impulse-sdk/classifier/ei_run_classifier.h:42:
./model-parameters/dsp_blocks.h:34:10: error: use of undeclared identifier ‘extract_audio_syntiant_features’
&extract_audio_syntiant_features,
^
1 error generated.
make: *** [source/main.o] Error 1

What should I do/try next?

Hi @jwilliams,

The Syntiant chip uses a hardware DSP to generate features so it can only run on the device itself, not locally on PC/mac.
To wrap your own code on the NDP101, you can follow our tutorial here: https://docs.edgeimpulse.com/docs/on-your-syntiant-tinyml-board

Aurelien