This project is an end-to-end audio classification system built with a deep ResNet-style CNN that converts audio into Mel Spectrograms for image-based sound recognition. It features advanced training techniques like Mixup augmentation, Frequency Masking, AdamW optimization, and OneCycleLR scheduling, all backed by TensorBoard for performance monitoring. The trained model is deployed as a serverless GPU-powered FastAPI endpoint via Modal with a sleek Next.js dashboard built using Tailwind CSS and Shadcn UI offering real-time classification, confidence scores, waveform and spectrogram visualization, and CNN feature map inspection.
Follow these steps to install and set up the project.
Download and install Python if not already installed. Use the link below for guidance on installation: Python Download
Create a virtual environment with Python 3.12.
Navigate to folder:
cd audio-cnnInstall dependencies:
pip install -r requirements.txtModal setup:
modal setupRun on Modal:
modal run main.pyDeploy backend:
modal deploy main.pyInstall dependencies:
cd audio-cnn-visualisation
npm iRun:
npm run dev