Syntiant TinyML board - constant sound classification

Hello,
I recently started developing with the Edge Impulse platform and Syntinant TinyML board. It works pretty well. I did some examples and deployed some of my own models.
In one of my project I need to create audio monitoring of an machine which produces constant sounds. I have two classes, created from the sound samples – sound is different for each class and I need to distinguish between them.
After deploying the model, I found, that TinyML board do the cassification only for separated sound events, but ignores constant sounds. I would rather need that classification would be done periodically for every audio sample.
Is there any way how to force TinyML board to take audio samples periodically and do classification for each of them?
Thank you.

Project ID: 121073

Context/Use case: Machine maintenance prediction monitoring

Hi @Kroun1,

The Syntiant chip is actually continuously listening. However you could tune some the json posterior parameters in the Deployment section.

What you could change is:

  • reduce the backoff to zero → no pause between triggers
  • decrease the window (phwin) to 1 → by default it gets triggered after detecting 5 consecutive classes

Aurelien

Hi Aurelien,
thank you for your answer. I did changes as per your description and it doesn’t seem to have solved my problem. The classification is still somehow freezing - I see that it provides one or few classes in a row (I checked via serial terminal), but then it stucks. When I off and on sound source again, it continues in the same behaviour.
I changed the parameters by clicking on the “⟨ /⟩ Edit as JSON” - see below.
Then I built project again and loaded into the board. Any other idea what might be the rootcause?

                "label": "BLOCK",
                "phwin": 1,
                "phth": 0.7,
                "phbackoff": 0,
                "phaction": 0,
                "phaction_arg": 0,
                "smoothing_queue_size": 1
            },
            {
                "label": "UNBLOCK",
                "phwin": 1,
                "phth": 0.7,
                "phbackoff": 0,
                "phaction": 0,
                "phaction_arg": 1,
                "smoothing_queue_size": 1

Evening Aurel, wonder if you could help, I followed your tutorial on youtube, I’m getting to the below
and have no reply from the nicla it just gets stuck. disconnected then reconnected.
additionally, when looking at the eon tuner there isn’t support there. do you know if this is available?C:\Windows\system32>edge-impulse-run-impulse --raw Edge Impulse impulse runner v1.23.1 [SER] Connecting to COM5 [SER] Connected to COM5 [SER] Serial closed - retrying in 5 seconds [SER] Failed to connect to COM5 retrying in 5 seconds Opening COM5: File not found [SER] You might needsudo` or set up the right udev rules
[SER] Connected to COM5
17 2024 15:23:38
mcu_fw_120_v91.synpkg exist
dsp_firmware_v91.sdsp firmware version: 19.2.0
package version: Model generated by Edge Impulse
pbi version: 3.2.3-0
num of labels: 2
labels: NN0:Fault, NN0:Unknown
total deployed neural networks: 1
IMU not enabled
Inferencing settings:
Interval: 0.062500 ms.
Frame size: 15488
Sample length: 968 ms.
No. of classes: 2
Classes:
Fault
Unknown
Starting inferencing, press ‘b’ to break
Type AT+HELP to see a list of commands.