Finding similar patches

Given a patch, I would like to know which patches are most similar. This way I can easily find out which patch it is based on. It should scan at the least all locally known patches. Possibly also the Gaia’s user patches, but if that takes too long it should be optional.

This is also a good way to find if you have already saved the patch elsewhere. Though using a hash function for that would be faster.

bitbucket:Laurens Holst
Assigned to
11 years ago
4 years ago
No labels applied.

bitbucket:Laurens Holst 11 years ago · edit

There should be some sort of compare function which returns a similarity percentage. A naive implementation would be to just count how many bytes are the same, however it may be better use a weighed algorithm, as for example relatively speaking arpeggio takes up a lot of data compared to its importance. Also patch level is very unimportant. And for a control whose values range from 0 to 127 a difference of 1 is less significant than a control whose values range from 1 to 3.

After similarity is determined, all patches can be shown in a big list, sorted by its similarity percentage column. Possibly with a cut-off at say 25% similarity? Perhaps this list can be “live”, accompanied with a progress bar and populated on the fly. This might also be a good solution for the non-local user patches data problem.

Register here or Log in to comment, or comment via email.