explaingit

adam-s/car-diagnosis

Analysis updated 2026-05-18

8PythonAudience · researcherComplexity · 3/5Setup · moderate

TLDR

Audio-ML pipeline that analyzes a car recording to triage faults: detects if something sounds wrong, identifies the car zone, and ranks likely faulty parts with calibrated uncertainty.

Mindmap

mindmap
  root((car-diagnosis))
    What it does
      Detect car fault from audio
      Identify car zone and part
      Return UNCERTAIN when unsure
      Scrape or ingest audio clips
    Tech Stack
      Python
      CLAP model
      joblib
      Web app CLI
    Use Cases
      Triage car fault from phone recording
      Audio ML pipeline for mechanical sounds
      Build custom car audio corpus
    Audience
      Developers
      ML researchers
      Car owners doing self-diagnosis
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Record your car making an unusual noise on your phone and run cardiag to get a ranked list of likely faulty parts.

USE CASE 2

Build a labeled dataset of car fault sounds by scraping YouTube clips and ingesting your own recordings.

USE CASE 3

Reuse the audio cleaning and CLAP embedding pipeline as a recipe for other mechanical sound classification projects.

What is it built with?

PythonCLAPuvscikit-learnjoblib

How does it compare?

adam-s/car-diagnosisbongobongo2020/krea2-character-lora-trainerduration-ai/bonsai-image-android
Stars888
LanguagePythonPythonPython
Setup difficultymoderatemoderatehard
Complexity3/53/55/5
Audienceresearchervibe coderresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.11 and uv, a pre-trained model ships with the repo so no large downloads are needed to run basic inference.

License details in the LICENSE file, not summarized in the README.

In plain English

Cardiag is a command-line and web tool that listens to a recording of a car and tries to identify what is wrong with it. You point it at an audio clip, and it returns a verdict about whether something sounds abnormal, which area of the car it appears to be coming from, and a ranked list of likely faulty parts. The tool is built as a triage aid, not a diagnosis replacement. The authors are clear about what it can and cannot do: on phone-quality recordings it achieves a 0.79 area under the ROC curve for detecting faults (versus a 0.50 score for random guessing). It gets the correct car zone in the top-3 results about 75 percent of the time. Crucially, when the audio is too ambiguous to call, it says "uncertain" rather than guessing. The README includes honest benchmark numbers and an explanation of a head that was cut for failing out-of-sample testing. The pipeline has several stages. First, it scrapes audio examples from YouTube or TikTok, or accepts clips you record yourself. Then a cleaning step strips out speech, music, and road noise to isolate the mechanical sounds. A pre-trained audio model called CLAP converts those sounds into a numerical representation. Finally, small linear classifiers trained on top of that representation produce the fault, zone, and part predictions. A pre-trained model ships with the repository, so you can run a diagnosis immediately after cloning without downloading additional data. The web app version lets you drop in a clip or paste a YouTube link and see the result, including an explanation of why the model returned that answer. A separate inspect command generates a visual and audible breakdown of what the pipeline extracted from your clip. The cleaning recipe and the honest training approach are noted as the main reusable contributions. The same method reaches 0.93 on cleaner engine audio datasets, suggesting the limitations come from the difficulty of phone recordings rather than the technique itself.

Copy-paste prompts

Prompt 1
Using cardiag, diagnose this car audio clip: run cardiag diagnose clip.wav and explain what the verdict, region, and ranked parts output means.
Prompt 2
Set up cardiag from scratch, train it on the bundled fixtures, and run it against a sample clip to verify the full pipeline works without scraping.
Prompt 3
How does the cardiag clean() cascade work to isolate mechanical sounds from speech, music, and road noise in a YouTube clip?
Prompt 4
What does cardiag return when it is uncertain about a diagnosis, and how is the calibrated confidence score calculated?

Frequently asked questions

What is car-diagnosis?

Audio-ML pipeline that analyzes a car recording to triage faults: detects if something sounds wrong, identifies the car zone, and ranks likely faulty parts with calibrated uncertainty.

What language is car-diagnosis written in?

Mainly Python. The stack also includes Python, CLAP, uv.

What license does car-diagnosis use?

License details in the LICENSE file, not summarized in the README.

How hard is car-diagnosis to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is car-diagnosis for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub adam-s on gitmyhub

Verify against the repo before relying on details.