This is a minimal implementation of Shazam audio identification algorithm1 using MongoDB as the storage engine. The implementation is not fully optimised and is only for educational purposes.
- Python 3.10+
- MongoDB 7.0+
- Clone the repository.
- Install the required packages.
pip install -r requirements.txt- Install MongoDB and start the server at localhost.
- Run the following command to benchmark the implementation.
--portis optional and should equal to the port number of the MongoDB server.--mapspecifies the way to build peak pairs in the constellation maps.wangis the default value and is based on the paper.delaunayuses Delaunay triangulation to extract the pairs.
python main.py /path/to/fingerprinted/audio/files /path/to/query/audio/files --port 28000 --map wang