Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find similarities between songs #2

Open
ofou opened this issue Dec 11, 2017 · 2 comments
Open

Find similarities between songs #2

ofou opened this issue Dec 11, 2017 · 2 comments

Comments

@ofou
Copy link

ofou commented Dec 11, 2017

Your work is amazing, I wanted to congratulate you for it. I discovered it through Vox's Youtube channel.

A few days ago I was thinking about sparse representations of music and I was wondering if you found any way to find similarities between songs using this representation, maybe something more than 'how repetitive they are'. Because two songs will eventually have different matrix length between them. I would like to know what do you think about it.

Greetings from Chile 🇨🇱 ✌️
Thanks in advance for your time.

@rahb3rt
Copy link

rahb3rt commented Dec 15, 2017

I think the best way to do it @ofou would be to make two finger prints of two different songs and then write a program that compares the two digital fingerprints. Its a similair process to how you can analyze your finger prints for matches. But just an idea ive been pondering myself.

@colinmorris
Copy link
Owner

That's an interesting thought! Like you said, the fact that different songs will generally have different lengths is one problem. But even if you had two songs with the exact same length, just counting the number of matching cells between the two matrices would be a pretty facile metric. Because just adding or subtracting a single word somewhere (i.e. shifting part of the matrix by 1 pixel) could cause a huge change in the number of overlapping cells.

I guess one thing you could try to make the comparison more 'fuzzy' would be to apply some kind of gaussian blur on each matrix and then take their element-wise product (after normalizing to some common size).

Another idea would be some kind of 'edit distance'. i.e. how many changes do I need to make to the lyrics of one of the songs (adding a word, deleting a word, or changing a word so that it matches another one) to make its matrix identical to the other one? I find this one more intuitively appealing, but I think it would be really tricky to implement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants