I want to detect a running machine by its noise compared to the noise of the environment. Is there a tutorial for such an application?
Hi @ckuehnel
Interesting, you can have a look though the audio event detection projects we have in the expert network: Welcome | Expert Projects
@davidtischler_edgeim this one is an interesting idea, do you know if any of your community has worked on it?
Best
Eoin
Hello @ckuehnel , we do have a few sample projects that could give you some inspiration, hopefully they help!
First, these two projects are audio based, specifically like you have asked about:
- Predictive Maintenance Using Audio Classification - Arduino Nano 33 BLE Sense | Expert Projects
- Determining Compressor State with Audio Classification - Avnet RaSynBoard | Expert Projects
These two projects are actually based upon vibration and motion classification, which is not what you have originally asked about, but could be good secondary models to incorporate in your project via sensor fusion, to further improve accuracy in your project:
- Industrial Compressor Predictive Maintenance - Nordic Thingy:53 | Expert Projects
- Condition Monitoring - Syntiant TinyML Board | Expert Projects
Let us know how you get along, thanks!
This is interesting idea.
I’m wondering how this solution can work well for different installation environments. Even same pumps installed in different tool may have unique vibration signature. Does it mean we need to do the data collection and training/retraining for each of the pump?
Hi @Orapeasant - you are correct, pumps likely have small variations even between identical units, and the location they are installed will create inconsistencies as well. If you are able to build a model that generalizes well across devices and locations, yet still can identify anomalies accurately, you might be able to get away with one broad model that works. However, for maximum precision, it might be worth collecting datasets and building models unique to each site. I guess this depends on exactly how many units in the field you are talking about, as to whether it is feasible or not.
Capturing data from the field is not as hard as it sounds though, especially when using the Ingestion API and a connected device like those from Particle or Blues.
“Capturing data from field” is the approach I’m thinking about. I’m using ingestion api and blynk to control the esp32 board to collect voc sensor. in normal situation, it’s in inference mode, blynk can turn it into capturing mode and ingest data to ei. then i manually do the model training and re-training, dump the library and build the firmware and download into eps32 again. i think the better way is to use OTA thus i can do the cycle remotely.
David, do you think this is the common industrial practice? I’m wondering if there is any other better way.
Let’s get @Eoin 's opinion as well, as he wrote a series of OTA Docs located here: OTA Model Updates | Edge Impulse Documentation
Blynk was not one of the services we investigated, but perhaps enough of the concepts are the same that the alternative services we documented are similar and can help to get you going.
Overall though, I think is indeed best-practice, and OTA can assist in your situation.