Collection of tools with the purpose of digitally storing and editing suzipu music notations or annotations.
- Make sure that
Python 3.10is installed with thetkinterlibrary. Under Windowstkintershould be provided by default. See also: Ubuntu install, MacOS install. - Install the requirements from requirements.txt using
pip. This may be platform dependent, e.g., under Ubuntu this can be achieved with the commandpython3 -m pip install -r requirements.txt.
Please cite the software using the paper The Suzipu Musical Annotation Tool for the Creation of Machine-Readable Datasets of Ancient Chinese Music where the annotation tool was presented the first time:
@InProceedings{Repolusk2023,
author = {Repolusk, Tristan and Veas, Eduardo},
booktitle = {Proceedings of the 5th International Workshop on Reading Music Systems},
title = {The Suzipu Musical Annotation Tool for the Creation of Machine-Readable Datasets of Ancient Chinese Music},
year = {2023},
address = {Milan, Italy},
editor = {Calvo-Zaragoza, Jorge and Pacha, Alexander and Shatri, Elona},
pages = {7--11},
file = {:2023 - The Suzipu Musical Annotation Tool for the Creation of Machine Readable Datasets of Ancient Chinese Music.pdf:PDF},
url = {https://sites.google.com/view/worms2023/proceedings},
}
For a detailed technical documentation of the digital representation formats and the tools, please refer to the chapter of my dissertation.
Currently, this repository consists of the following components:
-
The JSON schema
json_schema.jsonwhich can be used to verify that corpus files are of valid structure. It has additional subschematajson_schema_suzipu.json,json_schema_lvlvpu.json,json_schema_jianzipu.jsonfor the individual notations. The suzipu schema is illustrated in the figure below:
-
Chinese Musical Notation Annotation Tool: Given a collection of images containing suzipu/lülüpu/jianzipu notation, this tools provides everything needed to annotate the images with segmentation boxes and notation information. This is the tool you need for creating datasets for use in OMR (optical music recognition) projects.
1. See the tutorial for the Chinese Musical Notation Annotation Tool
2. Export the files using the export script
-
Chinese Musical Notation Editor: This tool is for creating purely symbolic representations of scores containing suzipu/lülüpu/jianzipu notation. Use this when the purely symbolic contents of the pieces suffice, i.e., whenever no linking to image data is needed.
See the tutorial for the Chinese Musical Notation Editor
NOTE: Due to conflicts between tkinter and OpenCV, the tools are currently not executable on Windows.
MacOS also seems to be not supported. The application was developed and tested on Ubuntu 24.04.3.
- Make sure that
Python 3.10is installed with thetkinterlibrary. Under Windowstkintershould be provided by default. See also: Ubuntu install, MacOS install. - Install the requirements from requirements.txt using
pip. This may be platform dependent, e.g., under Ubuntu this can be achieved with the commandpython3 -m pip install -r requirements.txt. - In order to use the annotation tool, the segmentation algorithm's weight file
HRCenterNet.pth.tarmust be downloaded: See the links provided in HRCenterNet's README. - Furthermore, the downloaded weight file
HRCenterNet.pth.tarmust be moved to the folderweightsin the repository's root folder. - For using the text-based
Intelligent Fill...function, the filechi_tra.traineddatafortesseractmust be present in the folderweightsin the repository's root folder. For best results, use Wang Dingyun's trained model from this site.
For starting the annotation tool, follow these steps:
- Change the console directory to the root of the git repository.
- Start the annotation tool by executing the file
annotation_editor.py. This is usually done using one of these commands:python3 annotation_editor.pyorpython annotation_editor.