-
Notifications
You must be signed in to change notification settings - Fork 117
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
Difference between transcription.precision_recall_f1_overlap and multipitch.metrics? #223
Comments
Well, the difference starts with the fact that their annotation format is quite different. multipitch annotations specify, on a fixed timing grid, "what fundamental frequencies are present at this point in time?" transcription is more like MIDI, specifying individual notes, with start times, end times, and pitches. This means that evaluating them ends up looking a good bit different. I think the confusion about transcription linking to MIREX multi-f0 is that MIREX lumps these two arguably different tasks into one "heading". (@justinsalamon please correct me if I'm wrong and there is in fact an error in the docs). See the annotation format section of the MIREX task description page - there are clearly two different formats/tasks here. Maybe we can make a PR to clarify this in the documentation? |
Nope, that's correct. |
Aha, so multipitch.py is for frame-based pitch estimation while transcription.py is for event-based pitch estimation? Thanks, @craffel! It could be clarified in the docs, IMHO. Especially pros/cons of the respective formats, with some example use cases. Does it make sense to use multipitch.py for a solo piano? Does it make sense to use transcription.py for a string quartet? I'm confused. |
I agree. If you or @justinsalamon or @rabitt want to make a PR, it would be welcome.
This is outside the scope of |
Another difference - multipitch is intended for time varying pitch On Wednesday, September 21, 2016, Colin Raffel [email protected]
|
Considering that transcription.py's symbolic representation is piano rolls with non-quantized pitches, what's the difference between transcription.py and multipitch.py really? I'm extra confused by how transcription.py references the multi-f0 mirex estimation task. Could anyone help clarify why both modules exist? When should which be used?
The text was updated successfully, but these errors were encountered: