car-diagnosis  by adam-s

Audio ML for car fault triage

Created 1 month ago
269 stars

Top 95.4% on SourcePulse

GitHubView on GitHub
Project Summary

Diagnosing car faults from audio is addressed by adam-s/car-diagnosis, an end-to-end audio-ML pipeline. This proof-of-concept project targets engineers and researchers needing a calibrated triage aid for car sounds, offering honest uncertainty reporting instead of speculative diagnoses, thereby improving initial fault localization.

How It Works

The pipeline scrapes audio from platforms like YouTube and TikTok, employing a clean() cascade to isolate relevant mechanical sounds from speech and noise. These cleaned audio spans are then embedded using a frozen CLAP model, generating 512-dimensional vectors. Small, trained linear heads classify these embeddings for fault presence, location (6 zones), and specific parts (12+ families). This approach is advantageous for its reusable audio cleaning recipe and its focus on calibrated, honest triage, achieving a 0.79 AUROC for fault detection with low calibration error (ECE ≈ 0.04).

Quick Start & Requirements

  • Install: Clone the repository and install dependencies using uv pip install -e ".[scrape,web,dev,viz]".
  • Python: Requires Python 3.11.
  • Prerequisites: A small pre-trained model and synthetic demo clip are bundled, requiring no initial downloads.
  • Links:

Highlighted Details

  • Calibrated Triage: Achieves 0.79 AUROC for fault/normal classification (vs. 0.50 chance) and provides calibrated uncertainty reporting (ECE ≈ 0.04), returning "UNCERTAIN" when confidence is low.
  • Localization Accuracy: Identifies the correct car zone within the top 3 predictions approximately 75% of the time, and the correct part family 45–65% of the time.
  • Reusable Pipeline: Features an interactive clean() cascade for isolating mechanical audio spans and a standardized CLAP embedding contract for training/serving consistency.
  • End-to-End: Covers audio scraping, cleaning, embedding, and calibrated classification within a single pipeline.

Maintenance & Community

This project is explicitly a "Proof of concept." No specific details regarding maintainers, community channels (like Discord/Slack), or active development beyond the initial release are provided in the README.

Licensing & Compatibility

The project is released under the MIT License, permitting commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

This is a proof of concept and not intended as a safety-critical or standalone diagnostic tool. Its performance is validated on social-style audio (YouTube, TikTok, phone clips) and reflects the inherent difficulty of diagnosing faults from crude recordings. One classification head (knock detection) was demoted due to failing out-of-sample validation.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.