Replies: 6 comments 9 replies
-
Recognising a sound is trickier than you might think. Are there any other indications that it has finished work? An LED going off or some part physically moving? These would be easier to detect. |
Beta Was this translation helpful? Give feedback.
-
Maybe if Mike Teachman reads these lines, he might be able to give me a solution. |
Beta Was this translation helpful? Give feedback.
-
Yes as Peter answer you, it's not very simple with sound.. |
Beta Was this translation helpful? Give feedback.
-
What kind of machine? Does it do anything else but make the noise when it's finished: an LED that comes on, or goes off, or …? |
Beta Was this translation helpful? Give feedback.
-
As mentioned in another comment, I believe that accelerometer vibration monitoring is the best approach for this. But here is some information on how to do it with sound :) Detecting an indicator sound (triggered at end of cycle) means being able to detect a short sound that is repeated only a few times. This is what is known as a sound event, and the task of is known as Sound Event Detection. It is often a bit trickier than general audio classification, because one cannot aggregate many detections in order to keep false detections down. An indicator sound is designed to be clearly audible (by humans), which hopefully makes this task on the simpler side of these kinds of problems. But depending on the other sounds in the environment, it could get tricky still. The simplest approach would be template-based, to compare the signature of the sound-of-interest to a set of known templates (known examples). But this needs to be done in a reasonable feature space. The "beeping" is a tonal sound, so I would compute the FFT to get the frequency spectrum. The FFT length will need to be set appropriately, around the length of each beep. Hopefully it sticks out very clearly there as one or a few peaks. If so, then Euclidean distance to a set of such templates might work. In emlearn-micropython there is a K Nearest Neighbors classifier that can be used for this. As well as an efficient FFT implementation. https://github.com/emlearn/emlearn-micropython Capturing some sound of the beeps of interest, and the ambient sound around it would be the first step. This can be done using the I2S examples by Mike. |
Beta Was this translation helpful? Give feedback.
-
I agree with the idea of vibration monitoring. I would expect the maximum vibration to be in the horizontal axis perpendicular to the axis of rotation (side to side motion caused by load imbalance). It may be that measuring that will be sufficient. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I have a machine that rings when it has finished its work, but I can't hear it because it is at the end of my house. I have some ESP32 in my drawer, and I wondered if it would not be possible:
-1: record the ringtone (with INMP441?) and store this file (wav?)
-2: listen to the ambient noises, and compare with this file (how?).
-3: if the comparison is established, send a notification
Do you think this is possible and if so, with what hardware
Thanks in advance
Beta Was this translation helpful? Give feedback.
All reactions