omr-dataset-tools
omr-dataset-tools copied to clipboard
Nested symbols
Some symbols can be considered as containers for inner symbols. This could apply to: time signatures, key signatures, repeat signs, etc. For example, using SMuFL names, a repeatRight is an outer symbol composed of 4 inner symbols: 2 repeatDots + 1 barlineSingle + 1 barlineHeavy.
See repeatRight image and notice that we have both the bounds of the outer symbol and the bounds of each inner symbol.
Right now, Audiveris needs the inner symbols, but this may evolve in the future, based on full-context results. For widest usability, the OMR DataSet should contain both "outers" and "inners", while perserving the containment relationship.
The proposal is simple: allow a Symbol element to contain other (sub) Symbol elements. Any reading software will thus be able to pick up the info it is interested in, according to the symbol shape at hand.
Here is the rightRepeat example translated into XML:
<Symbol interline="14" shape="repeatRight">
<Bounds x="1705" y="2758" w="30" h="62"/>
<Symbol interline="14" shape="repeatDot">
<Bounds x="1705" y="2778" w="7" h="8"/>
</Symbol>
<Symbol interline="14" shape="repeatDot">
<Bounds x="1706" y="2794" w="7" h="7"/>
</Symbol>
<Symbol interline="14" shape="barlineSingle">
<Bounds x="1719" y="2758" w="3" h="62"/>
</Symbol>
<Symbol interline="14" shape="barlineHeavy">
<Bounds x="1725" y="2758" w="10" h="62"/>
</Symbol>
</Symbol>