A collaborative open-source scorification project.
Music scorification is the process to get from a symbolic MIDI recording to a readable score, that is, to estimate the quantization of onsets and offsets into musical time and to estimate meter, key, voice, and several more attributes. Scorification is a hard technical problem for which no satisfactory solutions exist yet.
SCORIA is a scorification project. We aim to create a complete pipeline to automatically and beautifully typeset scores from recorded MIDI data. This is a huge undertaking encompassing many music information retrieval tasks. To make it manageable, we break this goal down into challenging subtasks, each addressed in its own thesis.
SCORIA is an international collaborative thesis project involving the Institute of Computational Perception at Johannes Kepler University in Linz, Austria and the Prague Music Computing Group at Charles University in Prague, Czechia. Through this collaboration, we aim to advance research in scorification while contributing to open-source development.
Download Information Document Download Project Poster
Scorification for music practice reasons: notation editors struggle to produce readable scores from recorded MIDI files and manually fixing such scores is very tedious. A good scorification tool would be very welcome!
Scorification for scientific reasons: scorification assembles several of the most interesting and challenging tasks in computational music analysis and processing, which makes it an ideal playground for researchers and theses!
Watch the video to see how a SCORIA could help with music notation:
Scorification is the process of transforming a real-life MIDI recording into a quantized, typeset musical score. This can be divided into two key areas: MIDI Normalization and MIDI Scorification:
To make both MIDI Normalization and MIDI Scorification more accessible and approachable, we have broken both areas into the following subtopics and related tasks (click on them for detailed description):
These tasks have their respective I/O requirements depending on key area:
Free performance quantization involves processing a MIDI recording of a performance that doesn’t follow a strict tempo (e.g., a live, expressive piano performance) and aligning the timing of the notes to a structured, musical grid. The challenge here is preserving the nuances of the performance while still making the timing conform to standard musical values (e.g., quarter notes, eighth notes). This task requires creating algorithms that intelligently adjust note onsets and durations while maintaining the musical expressiveness of the original performance.
In performance to click quantization, the goal is to quantize a MIDI performance that was played with a metronome. This is simpler than the free performance task, but by no means trivial. It involves adjusting the note onset timings to sensibly quantize to musical units and estimating note values.
MuseScore MIDI normalization refers to developing methods to process and clean up MIDI data produced by MuseScore, a popular open-source music notation software. MuseScore produces MIDI files that incorporate articulation, tempo marking, and other score attributes which leads to files that are deterministically different from the score. This is the easiest of the normalzation tasks, but also not to be underestimated: it likely involves reverse engineering the MuseScore MIDI rendering engine and gaining an in depth understanding of MIDI processing.
In this task, the focus is on detecting the meter (time signature), barlines (measure divisions), and ties (which connect notes across bars) from MIDI data. Since MIDI data doesn’t inherently include this information, the challenge is to analyze the timing and rhythmic structure of the notes to infer where the barlines should be placed and how notes should be tied across them. The aim is to ensure that the score reflects a musician’s intuitive understanding of meter and phrasing.
This task involves estimating the key signature and determining the correct pitch spelling for each note in the MIDI data. While MIDI data represents pitches with numerical values, translating them into musical notation requires understanding which pitches should be spelled as sharps, flats, or naturals (e.g., determining if a pitch is C# or Db). The task also includes identifying local changes in key signature, which influence local adjustments in pitch spelling and make the score easier to read and interpret.
Beaming refers to grouping notes together with beams (horizontal lines connecting note stems) in a way that visually reflects the rhythmic structure of the music. This task focuses on automatically determining how notes should be grouped together, especially in faster rhythms like eighth notes or sixteenth notes. The goal is to make the score visually clear and musically logical, following standard notational conventions for grouping notes within beats and measures.
In MIDI standard notation, notes are not assigned to specific clefs or staves (e.g., treble, bass). This task involves analyzing the pitch range of the notes and determining the most appropriate clef and staff assignment. For instance, higher notes are typically placed on the treble staff, while lower notes go on the bass staff. This estimation ensures that the resulting score is readable and follows conventional music notation practices.
Stemming refers to deciding the direction of note stems (up or down), which helps visually organize the score, especially in polyphonic music. Voice estimation involves assigning notes to separate musical voices or parts when multiple lines of music are being played simultaneously (e.g., in piano music with independent left and right-hand parts). This task is about properly assigning notes to different voices and determining the correct stem directions to clearly represent multiple musical lines within a single staff.
This task focuses on detecting and classifying ornamentation—decorative musical elements such as trills, grace notes, or mordents—that are often present in performance recordings but not explicitly encoded in MIDI data. The challenge is to identify when and where these ornaments occur and then properly represent them in the musical score using appropriate score onset and duration values. This ensures the score is both accurate and consistent, while (more) closely reflecting the nuances of the intended performance.
How can I join SCORIA and write my thesis with you?
Pick a facorite research topic and task and send us an email. Or just send us an email, and we figure out what task is suitable for you together. See contact info for each institute at the bottom of the page. Do this as soon as possible, we hope to distribute all topics by by October 24, 2024!
What does the process look like if I join SCORIA?
What should my thesis look like in the end?
The goal of each thesis is to:
Why should I join the SCORIA project?
We offer you:
Which prerequites are necessary?
We need you to:
If you’re interested in a task or thesis or just need more information, please reach out to: