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.
--port
is optional and should equal to the port number of the MongoDB server.--map
specifies the way to build peak pairs in the constellation maps.wang
is the default value and is based on the paper.delaunay
uses Delaunay triangulation to extract the pairs.
python main.py /path/to/fingerprinted/audio/files /path/to/query/audio/files --port 28000 --map wang