How vasishta-04/musicmatch works
MusicMatch is a Django music-recognition web application. A user uploads or records a short clip; the browser sends it to Django, where the view invokes fingerprint matching and returns song details for display. A separate ingestion route loads catalog metadata and stores generated fingerprints. The README describes MySQL-backed matching; sampled code shows SQL helpers and Django models. The upload view appears to overwrite its song result before responding, so the intended result flow is documented but may not work as written. Some template and routing connections are inferred only where explicit evidence supports them.
Main entry points: views.py Upload and catalog views · find_song.py Audio fingerprint matcher · script.js Audio capture and display · db.py Fingerprint ingestion
Components 15
Browser experience
- Upload and results UI
templates/index.html - Audio capture and display
static/script.js
Django request handling
- Application routes
application/urls.py - Upload and catalog views
application/views.py - Temporary clip storage
application/file_io.py - File upload form
application/form.py
Fingerprint matching
- Audio fingerprint matcher
application/find_song.py - Hash and SQL helpers
application/functions.py - Fingerprint ingestion
application/db.py
Song catalog
- Song metadata model
application/models.py - Fingerprint model
application/models.py
Other components
- Listener
- YouTube embed
- MySQL database
- Catalog spreadsheet
song.xlsx
Connections 17
- Listener → Upload and results UI: uploads clip
README.md - Upload and results UI → Audio capture and display: loads interface
- Audio capture and display → Upload and catalog views: posts audio
static/script.js - Application routes → Upload and catalog views: dispatches requests
application/urls.py - Upload and catalog views → File upload form: validates upload
application/views.py - Upload and catalog views → Temporary clip storage: saves clip
- Upload and catalog views → Audio fingerprint matcher: requests match
application/views.py - Audio fingerprint matcher → Hash and SQL helpers: uses SQL helpers
application/find_song.py - Hash and SQL helpers → MySQL database: queries database
application/functions.py - Upload and catalog views → Fingerprint ingestion: adds catalog tracks
application/views.py - Fingerprint ingestion → Audio fingerprint matcher: generates hashes
application/db.py - Fingerprint ingestion → Fingerprint model: bulk creates
application/db.py - Audio fingerprint matcher → Song metadata model: queries song records
- Fingerprint model → MySQL database: persists fingerprints
- Song metadata model → MySQL database: persists catalog
- Catalog spreadsheet → Upload and catalog views: provides metadata
application/views.py - Audio capture and display → YouTube embed: embeds match
static/script.js