Skip to content
JY
All projects
Acoustic Anomaly Detection Research

Urban Sound Classification

Compared machine learning approaches for detecting emergency sounds like sirens and car horns in urban audio.

Urban Sound Classification — project screenshot

Problem

Autonomous systems operating in cities need to recognize emergency sounds like sirens and horns from raw audio, and it isn't obvious how much feature-engineering complexity that actually requires.

Solution

This compares a lightweight, hand-engineered feature pipeline against a deep-learning pipeline on the same task, to see how much a CNN buys over classical ML for this kind of acoustic anomaly detection.

Technical Approach

Using the soundata library, 1,358 samples from the UrbanSound8K dataset were filtered down to two classes: car horns and sirens.

One path extracts 13-dimensional MFCCs per clip, averaged into a 1D feature vector for classical models.

A second path computes 64-band log mel-spectrograms per clip, reshaped for a Conv2D-based CNN, with spectrograms cached as .npy files for faster I/O during training.

Implementation

  • Built the data-loading and filtering pipeline with soundata to isolate the car-horn and siren classes from UrbanSound8K.
  • Implemented MFCC feature extraction with librosa for the classical ML pipeline.
  • Implemented mel-spectrogram extraction and a custom CNN architecture to compare against the classical approach.