worldveil / dejavu

Audio fingerprinting and recognition in Python
MIT License
6.36k stars 1.43k forks source link

How can I exlude/disable song ? #82

Closed kursusHC closed 8 years ago

kursusHC commented 9 years ago

Hi,

I have some song in my database that I know they are not the result of a microphone query.

Is it possible to disable some song by ID ? Or to add an exclusion filter to the query ?

Alternatively is there a convenient way to remove a song from database ?

Thank you

BenoitCompere commented 9 years ago

Hi, What do you mean with "disable" a song? To remove a song from your database the command is : DELETE FROM tableName where ID = songID

kursusHC commented 9 years ago

Hi, I was hoping I could "disable" songs, meaning excluding IDs from the query to make it faster and reducing false positive, without deleting them (so I can enable it later). After looking at the code it doesn't seem possible, but it could be a great addition.

worldveil commented 9 years ago

@kursusHC: yes, the code currently doesn't support that workflow, though I can see situations in which it would be useful.

You would have to:

SELECT from fingerprints where song_id NOT IN (...)

or alternatively a whitelist. TO really facilitate this you'd also need an index on song_id for the fingerprints table in addition to the one there is now on the hashes.

If you make a PR and document the changes in speed, I'd be happy to review and add it. I just want to make sure any such addition doesn't slow down normal queries with the entire database.