Open FelipeDefensor opened 2 hours ago
This was originally a feature that I intended to work on sometime in 2025, but that I decided to implement right now due to the needs of my PhD, of the Sinergia project and of the Anlysis-a-Thon taking place early 2025.
@azfoo I don't know if you have given this feature some thought already. Please let me know you opinion. Also, @MarkGotham, you probably will have something to say about this.
This issue #218 mentions some features that we want to have in place before releasing the score timeline.
It is time to address the elephant in the room, which is displaying musical notation.
Conventional scores and TiLiA use space differently in a fundamental way: horizontal space is always to-scale in relation to time in TiLiA, while in conventional scores that relation is frequently relaxed in order to avoid overlaps or packing symbols too close together. There are no similar constraints in the use of vertical space, on the other hand.
With that in mind, I think that a good solution is to go with a mix between a piano roll and a conventional score, using a to-scale horizontal axis and a staff-based vertical axis. If I didn't believe a picture speaks a thousand words, I wouldn't have made TiLiA, so here's what I mean. This:
Would be displayed in the score timeline as:
Ideally, the data structures will be set up in a way that will also allow for a piano roll and conventional UIs to be easily implemented on top of them, later.
There are some things to be sorted out if we choose to go with this representations, for instance:
We definitely want to be able to import from conventional formats like MusicXML, which will require writing some kind of parser to our internal format. I have not yet researched about it, but I imagine there is already some available Python tooling. In the worst case, we can wrangle the format ourselves.
Another option is to go straight into conventional notation using tools like Verovio. That is something I am not sure I am ready to tackle, due to the issues that probably will arise with the differences in dealing with horizontal space.