My model doesn't work properly with audio data on Sony Spresense

Hi everyone! I´m trying to test a model with audio samples on my Sony Spresense board. Below I show you details:

  1. I´ve followed the instructions shown in the tutorial: On your Spresense by Sony development board - Edge Impulse Documentation
  2. Satisfied prerequisites - OK
  3. Cloning the base repository - OK
  4. Deploying my impulse with accuracy greater than 90% (C++ library) - OK
  5. Running the impulse on live classification to get raw features - OK
  6. Building the application and flash the board - OK

However when I open the serial terminal I always get the same data. Whatever audio I play, the model always prints the same result. Eg:

I have checked each step and the only possible anomaly may be this: when I build the application with “make - j”, the terminal works fine, but at the end it throws a sample of errors that seem to indicate that the compilation has been interrupted or is it incomplete.

If anyone can guide me, I would really appreciate it! Maybe someone knows the solution to my problem!.

Kind regards…

Hello @guillengap ,

The tutorial shows how to run a static example.
In the tutorial, you need to pass one of your sample’s features to the static const float features[] buffer.
So it will always take the same input.

If you want to use your microphone as an input, you will need to integrate the microphone recording in your custom firmware. Here is the full open-source edge impulse firmware that we developed: GitHub - edgeimpulse/firmware-sony-spresense: Edge Impulse firmware for the Sony Spresense development board
You might want to check how we use the microphone for the inference part to get inspired.

And for your second issue. Can you try with make -j2? Not completely sure it’ll solve your issue here but I’ve seen it sometimes help to compile with multiple cores to avoid out of memory issues.



Thanks for your short and complete answer, I will analyze the firmware code to use the part of my interest.
This programming strategy is better, since versions of gnu make, CLI, arm-none-eabi and drivers are continually changing, so tutorials and videos become obsolete in no longer time.
Kind regards