"Best fit" match, and setting up a local server

54 views
Skip to first unread message

Arthur Wolf

unread,
May 3, 2020, 6:04:52 AM5/3/20
to AcoustID
Hello.

First off, anyone has set up a local copy of the acoustid server? I downloaded the files ( not having a single large one is kind of a pain, but I'll manage to stitch it together.
The documentation clearly lacks a lot of steps. If somebody helps me getting a working server running, I pledge to complete the documentation and make it so anyone else can do the same.

About my use case:

I am making compilations of small clips ( "Anime with sound", extracts of anime for the video, overlaid with songs/music ). This is just a hobby hing to take my head off work from time to time, so don't answer unless you feel you have some free time to spare me.
I am trying to manually mark any clip I *know* is copyrighted so it doesn't get incorporated into the video/compilation as-is, rather I'm putting those aside to ( manually again ) replace the audio wih copyright-free music that's a good match for the original, but won't get copyright-claimed.
I want to automate both the identification of copyrighted songs, and the process of replacing them with covers.

To do this, I need to do two things:

1. Manage to get the server ( a local one would work if I can figure out how to get one running ) to tell me what song is in my clip ( if it's in the database, otherwise I can just use the music it as-is ). The server doesn't like short fingerprints, it wants full / two minutes, which I don't have. Paid services manage to make matches based on truncated data, so I expect the technology can do it and it's just not something the server does now. Looking at the code, it looks like there are some modifications ( lowering the match threshold, comparing the fingerprint to cut-up bits ( same size as the clip, 5-10 seconds  ) of each fingerprint in the database ) that could be done, but the server just doesn't support that yet. I think the requests for "in live-stream" identification might help me whenever it's implemented.
One thing I'm considering, is just making a gigantic bin file ( which I'd share ) from the database csv data, something where each line would be <song id as binary><fingerprint as binary>, with padding with zeros so all entries are the same length even if some songs are shorter than the 2 minutes. Then I'd just take the fingerprints for all the songs I want to identify, and scan through the ( many GB ) file with a script ( bit ops will likely make this very fast, with the hard-drive being the limiting factor, and for each fingerprint finding the best partial match. This could take hours that's fine for my use.
However, the reason I'm not putting effort into this yet ( it'd be a lot of work ), is I'm not sure it would even work. Would the clip's fingerprint being offset ( starting at a random point ) from the fingerprint oh the song in the database, cause it not to match ( ie the query fp and the database fp have to start at the exact same millisecond ) ? If I don't get answers here I'll try to do a test run with a small database of a few thousand fingerprints, but I'd rather just skip that if it's a dead-end.

2. Find "best matches" for songs in a database of covers. The idea would be to (automatically) find copyright-free covers/remixes of songs, (automatically) make a large database of them, and then every time I have to replace copyrighted music, I launch a search in the local covers database to find the one that is the "best match" for the to-replace audio. If that makes sense? Is this something there is any way I could in theory do? Would a song and it's cover almost always have a better fingerprint match than a song and another random song? ( even if the match is poor, I just need it to be the best match )

If Acoustid can't do this, my plan is to turn to TensorFlow, creating per-song neural nets, and using them vote if any two songs are a good match, and then in the end select the best-fit match. But this would be an insane pain in the bottocks to implement, so I'd rather use AcoustID if it can do the job:

Thanks a million tons to anybody who answers this.

Cheers!

stefan...@c-burn.com

unread,
Sep 3, 2020, 8:03:19 AM9/3/20
to AcoustID
I know this is an old post but still. Ignoring the practicalities of 1), there's a couple of issues with 2) - firstly a cover/remix will have a fingerprint that is entirely different from the original song. The closest soundalike will have a fingerprint that is no more like the original than a random song. Edits/remasters can be similar but this doesn't appear to be what you're after.

Secondly, a cover/remix of a song will not be copyright free. If it has the same lyrics/music (even if it's a different recording by a different artist) you still need the permission from the songwriter for the use of the intellectual property of the song.
Reply all
Reply to author
Forward
0 new messages