beetbox / pyacoustid

Python bindings for Chromaprint acoustic fingerprinting and the Acoustid Web service
MIT License
325 stars 66 forks source link

DB Schema - API Requests #20

Closed wbashir closed 10 years ago

wbashir commented 10 years ago

Does this library assume the same PostgreSQL schema as the one in acoustid server. I simply want to store the fingerprint in a similar schema but not identical (added tables, columns ...). Is this function [1] for example rely on the api response returned from that server. I wanted to do a match and just return meta data about the match?

[1] https://github.com/sampsyo/pyacoustid/blob/master/acoustid.py#L208

sampsyo commented 10 years ago

No, there's no relationship to the underlying Postgres schema—at least insofar as the API is unrelated to the schema. We only talk to the API, which abstracts the DB schema.

Can you elaborate on what you want to do that the library doesn't support? That function you pointed at returns exactly what the API returns.

wbashir commented 10 years ago

I am trying to store the fingerprints of several hundred audio files and tag them appropriately. Each audio file tagged by author is the same content but different in speed, volume and other attributes. I am trying to create a machine learner from each audio file so that i can match against it and get statistics about how close the match is. I was trying to see if this library does anything with machine learning or is if its directly done on the acoustid server?

sampsyo commented 10 years ago

No, no matching is performed in the library. We send the fingerprints off to the server, which gets similar songs and reports them. I think the server reports a similarity score, though, so you could consider using that.

See also #18.