Validation of windowed feature extraction processing
codaich opened this issue · 3 comments
- Verify that things like sounding notes, tempo change messages and program change messages are maintained across windows (i.e. if a program change occurred in an earlier window, or a Note On occurred in an earlier window, then they should still be in effect in the next window).
- Verification must occur before windowed extraction starts to ensure that only features with a value of true in their is_sequential field are extracted.
Fixed by both latest commits in UtilityClasses
I'm no longer seeing the NaN, infinity and negative-value feature values (Issue #25), which is great.
However, I notice that the Duration feature tends to vary substantially from piece to piece when I do a windowed extraction. If I choose a 10-second non-overlapping window and do an extraction on the first few pieces of SLAC, for example, I see Duration feature values from 5 to 12, when they should all be 10 (except for the last window). Please look into why this is.
Also, just to double check, have you verified by both listening to test files and looking at feature values that sounding notes, the latest tempo change messages for each channel and the latest program change messages for each channel are maintained from previous windows? Including tempo and program change messages that have happened in, say, window #3, not just window #1? I haven't seen evidence that you haven't done this, but I just want to double check that you have before I do a deep analysis.
Also, I don't see anywhere in the code that you're checking that the is_sequential field is true for all features before that feature is extracted during a windowed extraction. Am I missing it somewhere?
9db6bcfc905d6ca1cdb280e97a97a744a814288e commit in UtilityClasses fixes this for normal midi windowing. Overlap offsets still needs to be implemented and tested.