Skip to content

Takes input MusicXML files and generates sequence of symbols

Notifications You must be signed in to change notification settings

sachindae/omr-comparison

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

omr-comparison

Takes input MusicXML files and generates sequence (.txt) of symbols. Also compares sequences (.txt) genereated by the following and determines if they are equal. To be used in OMR research to measure accuracy of commerical software/academic papers for any kind of music score (i.e monophonic or polyphonic).

MusicXML (.xml) to Sequence (.txt)

Parses MusicXML with a single part and generates a text file with the sequence of each staff separated. After each note, the voice is indicated, and each measure is also indicated. See below for an example

Sequence staff # 0
|0| 7sharps 4/4 G2 G5half-v1 B5half-v1 E4quarter-v2 F4quarter-v2 G4quarter-v2 A4quarter-v2 |1| G5half-v1 B5half-v1 E4quarter-v2 + B4quarter-v2 F4quarter-v2 + B4quarter-v2 G4quarter-v2 A4quarter-v2 + C5quarter-v2 |2| restmeasure-v1|3| restmeasure-v1

TODO

  • More testing with different articulations
  • Potential standard separation of voices
  • Expand to work for multiple parts in a MusicXML

Sequence (.txt) Comparison

Compares sequences generated and determines if they are equivalent. Uses an output and groundtruth directory to determine accuracy. Slurs and ties are treated as the same.

TODO

  • Make robust to different orders of articulation
  • How to handle different voice numbers, but same notes
  • Think about which staves dynamic/tempo/other should go to

How to Run

To run the MusicXML to Sequence, run the following

python main.py -input <input_dir> -output <output_dir>

To run the Sequence Comparison, run the following

python main.py -c -output <output_dir> -truth <groundtruth_dir>

About

Takes input MusicXML files and generates sequence of symbols

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages