ELVIS-Project / vis-framework

Thoroughly modern symbolic musical data analysis suite.
http://elvisproject.ca/
31 stars 6 forks source link

Without offset filter interval analysis is not truly in two voices. #320

Closed alexandermorgan closed 9 years ago

alexandermorgan commented 10 years ago

When analyzing music with 3 or more voices and without an offset filter, if voices 1 and 2 are being analyzed, a note event in voice 3 seems to force an event in the analysis of voices 1 and 2 even at times when neither voice 1 nor voice 2 have events.

crantila commented 10 years ago

Could you elaborate, with an example of "expected" and "actual" results? I don't really understand what the issue is. Thanks!

lmok commented 10 years ago

I think we put this down to the dissonance indexer requiring forward filling. NaNs coming from instances where a voice pair don't have an event (at a point where a third voice has an event) are overwritten by a previous event. Here https://github.com/ELVIS-Project/vis/blob/diss_sigs/vis/scripts/diss_sigs.py#L75, from here https://github.com/ELVIS-Project/vis/blob/diss_sigs/vis/analyzers/indexers/dissonance.py#L41.

alexandermorgan commented 10 years ago

Yes, Lillio summed it up well. Sorry the original issue wasn't so clear. It seems that by not forward filling intervals and then adjusting the way the interval indexer's output dataframe is looped over in the dissonance indexer this issue should be resolved. I'm working on that now at the moment but I'm on vacation until Wednesday.

crantila commented 9 years ago

I can't quite remember what we decided to do about this?

alexandermorgan commented 9 years ago

This was sorted out by not using the 'ffill' setting when calculating dissonances. I guess I forgot to close the issue when I worked out dissonance detection. Thanks for digging this up.