Show HN: Classify mechanical faults using Contrastive Language-Audio Pretraining A developer released cardiag, an open-source audio-ML pipeline that uses Contrastive Language-Audio Pretraining (CLAP) to classify mechanical faults from phone recordings. The tool achieves 0.79 AUROC for fault detection and provides calibrated triage, returning 'uncertain' when confidence is low. The project is available as a CLI and web app. cardiag is an end-to-end audio-ML pipeline. It scrapes fault-sound clips from YouTube/TikTok, cleans the audio isolating the mechanical sound from speech, music, and noise , embeds it with a frozen CLAP model, and trains small linear heads to triage the fault. It is exposed as a CLI and a live web app. cardiag-demo.mp4 This is a proof of concept, and honest about what that means. Diagnosing a car fault from a phone recording is genuinely hard, so cardiag is built as a calibrated triage aid rather than a diagnoser: it tells you whether something sounds wrong, roughly where in the car it is, and a ranked shortlist of likely parts. When the audio won't support a call, it says "uncertain" instead of bluffing. The real contribution is the cleaning + honest-training recipe, which is reusable on other audio datasets. The modest accuracy here reflects how hard the problem is from crude phone audio we hit the literature ceiling ; the samemethod reaches 0.93 AUROC on clean engine audio. See docs/DEFENSE.md . Two pages visualize the first two stages of the pipeline: Isolating the engine audio https://adamsohn.com/separate/ — an interactive look at the clean cascade pulling a short mechanical span out of noisy YouTube audio speech, music, road noise . CLAP, visualized https://adamsohn.com/clap/ — how the frozen CLAP model turns those spans into the 512-d embedding the linear heads classify. Measured out-of-sample, leakage-safe by-video grouped CV over 1,031 video groups; permutation p = 0.0005 . These are honest numbers, not a leaderboard. | Capability | Result | vs. chance | |---|---|---| | Is something wrong? fault/normal | AUROC 0.79 0.76, 0.83 | 0.50 | | Where in the car? 6 zones | right zone in top-3 ≈ 75% | 2× | | Which part? 12+ families | right part in top-3 ≈ 45–65% | 3–4× | | Knows when it doesn't know | calibrated ECE ≈ 0.04 , returns UNCERTAIN | — | Full details, and the one head we demoted for failing out-of-sample knock , are in docs/MODEL CARD.md /adam-s/car-diagnosis/blob/main/docs/MODEL CARD.md . A fresh clone is immediately usable. A small pre-trained model ships in models/ , and a synthetic demo clip is bundled, so nothing needs to be downloaded or scraped. git clone