Hear the failing bearing before it fails
Condition monitoring as one API call: send a ten-second clip of a motor, pump, compressor or bearing and get a score for healthy versus each fault type. Helm 2 Omni with the Mechanical specialist, open weights, runs on a CPU next to the line.
In short: Record ten seconds, send the clip with a line of context, ask which condition the machine is in. The Mechanical specialist, a version of Helm 2 Omni trained further on machine sound, scores healthy against each fault you list and tells you when it is not sure. No feature engineering, no per-machine model to train, and it runs offline.
Helm 2 Omni · Mechanical
Audio (and text)
Rotating equipment: bearings, electric motors, air compressors, 3D printers, with a phone or a fixed microphone
The step
“Our maintenance guys can hear a bad bearing from the doorway. I want that ear on a schedule, on every machine, without a vibration-sensor retrofit and a data-science project.”
What plant and facilities engineers ask for, paraphrased from the threads we read every dayCondition monitoring usually means accelerometers, a historian, and someone to build and maintain a model per machine class. It is worth it on the critical assets and never happens on the other ninety percent.
- Threshold alarms on vibration or current catch the end of a failure, not the beginning, and they need the sensor installed in the first place.
- Per-machine anomaly models need weeks of “normal” data for every unit and retraining after every overhaul.
- Listening by ear works, when the person who can do it is there.
Sound carries the signature of most mechanical faults, and a phone or a cheap microphone is enough to capture it. The specialist turns the clip into a scored decision you can put on a schedule.
What the request looks like
{
"model": "saina-helm-2-omni-0.8b",
"specialist": "mechanical",
"state": "Ten-second recording of the drive-end bearing on conveyor
motor M-14, 1,450 rpm, phone 30 cm from the housing, normal load.",
"audios": ["data:audio/wav;base64,UklGRi..."],
"mode": "decision",
"threshold": 0.7,
"questions": {
"condition": {
"type": "single_choice",
"question": "Which condition does the machine in this clip have?",
"options": { "healthy": null, "inner": "Inner race bearing fault", "outer": "Outer race bearing fault", "ball": "Ball (rolling element) fault" }
},
"normal": { "type": "yes_no", "question": "Is the machine operating normally (no fault or anomaly audible)?" }
}
}
And what comes back:
{
"model": "saina-helm-2-omni-0.8b",
"specialist": "mechanical",
"answers": {
"condition": {
"type": "single_choice",
"selection": "outer",
"reason": "accepted",
"probabilities": {
"outer": 0.78,
"inner": 0.12,
"ball": 0.07,
"healthy": 0.03
},
"confidence": 0.71
},
"normal": {
"type": "yes_no",
"yes": 0.04,
"no": 0.96,
"confidence": 0.92,
"selected": false,
"reason": "accepted"
}
}
}
The yes/no question is the alarm; the single-choice question is the diagnosis. Score them together from the same clip. When the clip is noisy or the sound sits between two faults, the diagnosis falls back (below_threshold) while the alarm may still fire, which is exactly the order a maintenance team wants: “something is wrong, and we are not sure what” beats silence.
On held-out machine-sound sets, the Mechanical specialist lifts condition accuracy from 30% (Helm 2 Omni alone) to 88%. It is trained on bearings, electric motors, air compressors and 3D printers; see the model card for what that covers.
Putting it in place
Record the same way every time
Ten seconds, same distance, same load. Say so in the state: machine, speed, where the microphone was. The model reads the text and the audio together, and the context sharpens the decision.
Name the faults you can act on
The options are yours. Start with healthy plus the two or three failure modes your team actually repairs; a short, concrete option list scores better than a long one. Use the fallback to catch the rest.
Wire it in
A clip is a base64 WAV, FLAC, MP3 or OGG data URL in audios, up to four per request and ten seconds each (longer clips are rejected, not cut). Add "specialist": "mechanical" and the specialist answers instead of the base model; the response names both. In n8n, a schedule trigger, a Read Binary File and an HTTP Request node are enough; the Saina Helm community node is text-only today, so audio requests go over HTTP. To run it on the plant network with no internet: pip install 'saina[local,server,media]' and load the specialist weights; it is 0.8B and runs on a CPU.
What it won’t do
- Ten seconds per clip. Send several clips from one machine as separate requests, or up to four in one.
- It scores the conditions you list; it does not estimate remaining life or severity in hours.
- Machines outside the training domain (gearboxes, fans, hydraulics) may work; measure on a few known-good and known-bad recordings before trusting it.
Frequently asked questions
What equipment does the Mechanical specialist cover?
Rolling-element bearings, electric motors (normal or faulty), air compressors and 3D printers, from the sets it was trained on. Other rotating equipment is worth testing on your own recordings first.
Do I need special sensors?
No. A phone or a USB microphone at a consistent distance is enough for a ten-second clip. Vibration sensors are not required.
How accurate is it?
On held-out machine-sound sets, the specialist reaches 88% condition accuracy against 30% for Helm 2 Omni without it. Your machines and microphones differ; run a few known clips and set thresholds from them.
Can it run offline on the plant network?
Yes. The specialist is open weights (Apache-2.0) and runs with the saina Python package on a CPU; no clip has to leave the site.