/audio-fingerprint-identifying-python

The Shazam-similar app, that identify the song using audio fingerprints & spectrum analysis and Fast Fourier transform

Primary LanguagePythonMIT LicenseMIT

Fingerprint audio files & identify what's playing

How to set up

  1. Run $ make clean reset to clean & init database struct
  2. Run $ make tests to make sure that everything is properly configured
  3. Copy some .mp3 audio files into mp3/ directory
  4. Run $ make fingerprint-songs to analyze audio files & fill your db with hashes
  5. Start playing any audio file (from any source) from mp3/ directory, and run (parallely) $ make recognize-listen seconds=5

Scanning files

  • Follow steps 1-4 from the guide above
  • To identify audio from a file, instead run $ make recognize-file file=unknown-audio.mp3
  • To identify audio from multiple files, run $ make recognize-dir dir=unknown-audio-dir

How to

  • 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;"

Thanks to