A web-based music recognition app that listens through your microphone and identifies the song playing using the Shazam API. Built with Python and PHP.
- User clicks the match button on the web interface
- The browser records 7 seconds of audio via the microphone
- The audio is sent to the PHP backend
- PHP passes the file to a Python script that queries the Shazam API
- The result (title, artist, lyrics, cover art) is returned and displayed
- Frontend — HTML, Bootstrap 5, jQuery, Web Audio API
- Backend — PHP (file handling, Python bridge)
- Recognition — Python 3, ShazamIO
- Python 3.8+
- PHP 7.4+
- pip
git clone https://github.com/iammcoding/MatchX.git
cd MatchX
pip3 install -r requirements.txtDeploy the folder on a PHP-enabled server (Apache, Nginx, or local with php -S):
php -S localhost:8000Then open http://localhost:8000/app.php in your browser, click the button and let it listen.
MatchX/
├── app.php # Frontend UI
├── match.php # PHP backend, handles file upload and calls Python
├── app.py # Python script, sends audio to Shazam API
└── requirements.txt
MIT