-
Notifications
You must be signed in to change notification settings - Fork 5
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
Ranges for each analysis value #24
Comments
Hi, You're right, and I'll add it to the readme as soon as I can We could also try some sort of weighted distance, but that'll need some trial and error; what do you think? Do you have something in mind? |
Ok, that was what I feared. The idea I had was to rescale every value to a given range (say [0, 1]). This would give an equal importance to every parameter, I am not sure if it is expected to be. I am not sure neither if you can rescale every value to the given range. Say for instance that you have a parameter which is tempo and that it is typically between 60 and 240, you could rescale with an affine transform so that 60 goes to 0 and 240 goes to 1. |
As I commented on some files, the end values are already scaled using an affine transform that I calibrated with a panel of ~10 calm songs and ~10 loud songs, so that all the parameter's values are between -4 and 4. We could multiply the end affine transform (for example, here https://github.com/Polochon-street/bliss/blob/master/src/amplitude_sort.c#L82) by 1/4 so that values range between [-1;1], but I'm not sure this will me useful. Is that what you were thinking of? I think in this current state, it is enough for the usage we have, but indeed it should be refined to have more « scientific » parameters. But given that music is a wide subject, I think it would need a whole thesis to cover how to accurately caracterize it :p |
Ah, I did not know they were all rescaled between -4 and 4. That seems ok then, as they all have the same interval of variations (and a scalar applied on every value does not do much).
Sure =) |
Hi,
Maybe it could be useful to put the ranges of each analysis value (tempo, amplitude, frequency and attack) in the README.
Moreover, I was thinking about the way we compute distance and cosine similarity. The way we compute it at the moment kind of implies that each coordinate has the same weight, due to the implicit assumption that the basis (tempo, amplitude, frequency and attack) is orthonormal.
This means that an increase of 1 on the tempo value gives the same result as an increase of 1 of the amplitude value, in terms of distance.
I am not sure this is actually the case and maybe we should try to refine the formula.
The text was updated successfully, but these errors were encountered: