Discord

Checklist ROAI 2025 National Stage · Task 2

Byzantine Notation

Romanian title: Notație Bizantină

Recognise sequences of Byzantine music neumes in images and output the cumulative pitch steps.

  • Vision
  • Symbol classification and sequence recognition
  • Romanian original · English translation

The task

Byzantine chant is written with neumes; the vocal neumes move the melody up, down or keep it level relative to the last note. Training data consists of labelled 48×48 images of single neumes whose label is either the integer step change or a capital letter (A or B) for non-vocal signs; one group of distinctly shaped neumes shares the same label.

Each test image shows a left-to-right sequence of 1 to 15 neumes, possibly with small artefacts. For each image the contestant outputs the cumulative number of steps from the initial pitch after each neume.

Abridged and translated by SOTA from the official Romanian materials. The official statement has the exact rules, and it wins wherever this summary differs.

In English

This task was published in Romanian. SOTA translated it into English on 16 September 2026.

Read the task statement in English 668 words

Byzantine Notation

English translation by SOTA – AI Community of the Romanian original, published with the permission of Asociația Nitro. Organisers who would like this translation removed can email [email protected].

Statement

Byzantine music is a genre of music with ancient origins, widespread in the Balkan region, with a history of more than a millennium. Its specific notation consists of a series of signs called neumes. The most important neumes are the vocal ones, which direct the singing in an ascending, descending or stationary manner along the tonal scale of the melody, with a meaning relative to the last note sung.

Implement an AI model that classifies the neumes in a sequence stored in an image, and use this model to produce a sequence representing, for each neume encountered, in the order in the image, the number of steps accumulated up to the current neume relative to the initial step (taken at the beginning of the sequence).

For training, you are given a number of labelled sample images of size 48 by 48 pixels, each representing a single sign.

The training dataset is a CSV file containing the following fields, with these meanings:

  • Path: the path, relative to the working directory, at which the sample image is located.
  • Effect: the label applied to the image at the address in Path, which can be an integer or a capital letter. If it is an integer, it also represents the number of steps by which the pitch changes as a result of the sign's effect. If it is a capital letter (A or B), then the neume represented has no vocal value and the pitch remains unchanged.

Notes on the training dataset

  • The samples in the dataset are taken from multiple printed works and manuscripts.
  • Besides the typical differences between samples of the same sign, the training set contains a group of neumes of distinct shape that have the same effect (label).

Notes on the evaluation dataset

  • The evaluation dataset is a CSV file with two fields: subtaskID, whose value is always 1, and datapointID, which contains the relative path to the image representing the sequence of neumes to be recognised
  • The neume sequences in the photographs are between 1 and 15 distinct signs long and are ordered from left to right.
  • All the neumes present in the sequences to be recognised can be found in the training dataset.
  • The images may contain small artefacts or visual defects, so they need to be preprocessed.

Notes on the output data format

The output file is a CSV file and contains 3 fields:

  • subtaskID: always the value 1
  • datapointID: the relative path to the image representing the sequence of neumes, in the same order as in the training set (in other words, the value of the "Path" field)
  • answer: the sequence that was recognised, in the form of a sequence of integers separated by the character |, where each number represents the accumulated relative distance from the initial step up to and including the current sign.
Example

For the following sequence:

𝁇𝁕𝁇𝁇𝁇𝁑𝁘 𝁇𝁑𝁑

the neumes have the individual tonal meanings: 1, -2, 1, 1, 1, -1, none, 1, -1, -1.

and the sequence 1|-1|0|1|2|1|1|2|1|0 will be written in the output file.

Attention: The sequence above is rendered in Unicode. To view it in more detail, as an image, open example-image.png in the Starting Kit.

Scoring

For each sequence in the output file, 1 point is awarded for correctly determining the number of neumes.

If the number of neumes is correct, 1 additional point is awarded for each correctly classified neume.

For example, if the expected output was 1|2|0|0|1 but the actual output is 1|2|0|2|3, the score for this result is 5 (out of a maximum of 6).

The final score is the ratio between the total points obtained and the maximum possible total (3354), expressed as a percentage and rounded up to an integer.

Translated by SOTA. The Romanian original is the official version and wins wherever the two differ. The output notes say, as in the original, that datapointID follows the order of the training set and is the value of the "Path" field; the evaluation-data notes say the test CSV's datapointID is the path to the sequence image. Published with the permission of Asociația Nitro, which runs ROAI (17 September 2026). If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.

At a glance

You get
Training CSV (Path, Effect) with 48×48 sample images; evaluation CSV (subtaskID = 1, datapointID = image path); an example image in the starting kit.
You submit
CSV with subtaskID (1), datapointID (image path) and answer (cumulative steps separated by '|', e.g. 1|-1|0|1|2|1|1|2|1|0).
Scoring
Per sequence, 1 point for the correct number of neumes and, if it is correct, 1 point per correctly classified neume; final score = total / 3354 as a percentage, rounded up.
Rules
  • On-site; the Ministry of Education regulation for the 2025 olympiad applies
  • Only submissions ticked during the round count; anti-fraud session locking on the judge
Format
ROAI/ONIA 2025 national stage, 17 May 2025.

Details

Year
2025, Bucharest, Romania (University of Bucharest)
Round
National Stage · Task 2
Language
Romanian; English translation by SOTA
License
Not stated by the source