This is an audio search algorithm that can recognise any audio clip in it's database by listening to a 5 seconds recording.
Install following additional requirements if installing requirements.txt
raises an error
Installing portaudio may raise an error try
$ sudo apt-get install portaudio19-dev
Also install tkinter and ffmpeg
$ sudo apt-get install python3-tk
$ sudo apt install ffmpeg
Support for windows is limited and may not work reliably Install following additional requirements before However the app stills works reliably Installing portaudio requires Visual Sudio and Visual C++ 14.0 or higher ffmpeg can be downloaded from it's official website
Since command prompt does not support coloured output most of the text will be garbled
- Run
$ make clean reset
to clean & init database struct - Run
$ make tests
to make sure that everything is properly configurated - Copy some
.mp3
audio files intomp3/
directory - Run
$ make collect
to analyze audio files & fill your db with hashes - Start play any of audio file (from any source) from
mp3/
directory, and run (parallely)$ make listen5
for recording 5 seconds.
-
To remove a specific song & related hash from db
$ python sql-execute.py -q "DELETE FROM songs WHERE id = 6;" $ python sql-execute.py -q "DELETE FROM fingerprints WHERE song_fk = 6;"
- Youtube Channel Real Engineering--How Shazam Works
- How does Shazam work (https://github.com/itspoma/audio-fingerprint-identifying-python)
- Audio fingerprinting and recognition in Python - thanks for fingerprinting login via pynum