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

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.