But, when i check it using arduino, here is what i have :
Here is the error i got in terminal :
"
Error sample buffer overrun. Decrease the number of slices per model window (EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW)
ERR: Failed to record audio…
Predictions (DSP: 20 ms., Classification: 264 ms., Anomaly: 0 ms.):
mxxxx: 0.01562
noise: 0.98438
Error sample buffer overrun. Decrease the number of slices per model window (EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW)
ERR: Failed to record audio…
Error sample buffer overrun. Decrease the number of slices per model window (EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW)
"
I try to decrease the slices (value down to 1), but this affect nothing in the result.
Still same error…
Your classification performances seem a bit off, I have around 180ms running your model.
Have you changed anything else in the default continuous sketch?
Also, which Arduino version and Arduino Nano BLE package are installed? I’m using latest IDE 1.8.13 and mbed OS boards v1.3.1.
Because your impulse takes roughly 280ms you can’t run continuously, 2 slices would take 560ms which is more than your window. What you can do in the meantime is switch to the regular microphone example sketch (not the continuous), and remove the delay(2000); in the loop(). This is equivalent to 1 slice.
I’ll also check with the team why we can’t set up 1 slice in the continuous example.
Here is version of my BLE : (I think it is the last release , dont know where to see it)
BN: Arduino Nano 33 BLE
VID: 2341
PID: 805a
and my arduino soft (mac) is the : 1.8.13
My ask, if i understand you well,
To run correctly, my impulse (inferencing time) must take then less than 100 ms to run correctly on the BLE ? or is it another problem with microphone buffer ?
(I need to run only in continuous mode)
Regarding timing constraints in continuous mode, you can check our documentation here. Example: with a 500ms window and 2 slices per window, each slice is 250ms. To avoid buffering issue the inferencing has to be quicker than 250ms.
FYI, we are going to fix the issue with EI_CLASSIFIER_SLICES_PER_MODEL_WINDOW=1.
Hey @aurel I have the same issue but didn’t get you guys, I have window size of 1000ms and window increase is 500 ms can you hep me out? why buffer overruns?
If the Sample Size is equal to or less than the Window Size then the algorithm will not take into account Window Increase (aka no extra artificially generated features will be created), correct?
That is correct. Also if you have a sample size smaller than the window, the padding should be enabled otherwise no window will be extracted from this sample.