Closed fabianmoss closed 3 years ago
I think that is because MIDI inputs do not populate the pitch class vector as a distribution, so even if there are two Cs in the two octaves, it will be still produced a pcv like (1,0,1,...). With MIDI files we use as weights for the distribution the actual time (in seconds) for which the note is being played in a given time window. Here we don't have a time window, but only notes played in a specific moment. What we could is to count how many times a pitch is being played at the moment given an arbitrary weight, so that the example that you mentioned would output {2,0,1,...} with weight = 1. What do you think about this approach?
Yes that makes sense to me. Each key press should be weighted with some constant (so 1 would be fine). @dharasim What do you think?
We discussed it briefly at the meeting and agreed that the weighting factor doesn't really matter because the the vector is normalized later anyway.
Now it should behave as intended (in the analysis page)! Let me know if it works. Commit 974b4bb0b1c8b4e9692a0aa23f7829a386e85d0f contains the fix.
I am not sure whether this is really an issue but I noticed that when I was playing on the MIDI keyboard that repeating the same pitch does not change the magnitudes. For example, the location for [C4, E4, G4] is identical to that of [C4, E4, G4, C5] (numbers are octaves). Does the same thing happen for the MIDI file input? It might be that the normalization happens to early or that MIDI numbers are converted to pitch classes before normalization or something...