DOI: 10.5281/zenodo.7545696
title: Arcangelo Corelli - Sonate a tre (A corpus of annotated scores)

description: Arcangelo Corelli - Trio Sonatas (A corpus of annotated scores) This corpus of annotated MuseScore files has been created within the DCML corpus initiative and employs the DCML harmony annotation standard. It was relased together with and as part of the "workflow paper" Hentschel, J., Moss, F. C., Neuwirth, M., & Rohrmeier, M. A. (2021). A semi-automated workflow paradigm for the distributed creation and curation of expert annotations. Proceedings of the 22nd International Society for Music Information Retrieval Conference, ISMIR, 262–269. https://doi.org/10.5281/ZENODO.5624417 The corpus comprises 36 <code>Sonate a tre</code>, divided into 149 separate movements. Together they make up for three of the four famous cycles of 12 trio sonatas each: Opus Cycle Publication Included 1 12 sonate da chiesa Rome 1681 Yes 2 12 sonate da camera Rome 1685 No 3 12 sonate da chiesa Rome 1689 Yes 4 12 sonate da camera Rome 1694 Yes Versions Version 2.0 TSV files now come with the column <code>quarterbeats</code>, which measures in quarter notes each event's position as its distance from the beginning Extracted notes now come with the columns <code>name</code> and <code>octave</code>. Column <code>volta</code> (containing first and second endings) removed from pieces that don't have any. <code>metadata.tsv</code> has been enriched with further columns, in particular information about each movement's dimensions, including dimensions upon unfolding repeats (for instance, <code>last_mn</code> has the number of measures, <code>last_mn_unfolded</code> the number of measures when playing all repeats) The folder <code>reviewed</code> contains two files per movement: A copy of the score where all out-of-label notes have been colored in red; are shown in these files in a diff-like manner (removed in red, added in green). A copy of the harmonies TSV with six added columns that reflect the coloring of out-of-label notes ("coloring reports") As long as the <code>ms3 review</code> has any complaints, it stores them in the file <code>warnings.log</code>. Currently, it is showing those labels where over 60% of the notes in the segment have been colored in red and probably need revisiting ( Pull Requests welcome) TSV files are automatically kept up to date using the new GitHub action dcml_corpus_workflow which is the successor of the implementation used in the creation of this dataset. Version 1.1 This release marks the moment where all 149 movements include a reviewed set of annotations that adhere to version 2.3.0 of the DCML harmony annotation standard. The metadata have not been completed yet and the data were extracted one last time with the now deprecated version 0.4.11 of the MuseScore parser ms3 for matters of completeness and homogeneity. The purpose is mainly to substantiate the claim that the "semi-annotated workflow paradigm", as it had been implemented at publication time (see the ISMIR paper cited above), can indeed be put to effective use in the creation of a large dataset. This version is, however, to be followed by a version with upgraded tabular data based on the more mature ms3 &gt; 1.0.0. Version 1.0 The first release reflects the state of the dataset when finalizing chapter 4 of the workflow paper cited above. Getting the data With full version history The dataset is version-controlled via git. In order to download the files with all revisions they have gone through, git needs to be installed on your machine. Then you can clone this repository using the command <pre>git clone https://github.com/DCMLab/corelli.git</pre> Without full version history If you are only interested in the current version of the corpus, you can simply download and unpack this ZIP file. Data Formats Each piece in this corpus is represented by four files with identical names, each in its own folder. For example, the first movement of the first sonata has the following files: <code>MS3/op01n01a.mscx</code>: Uncompressed MuseScore file including the music and annotation labels. <code>notes/op01n01a.tsv</code>: A table of all note heads contained in the score and their relevant features (not each of them represents an onset, some are tied together) <code>measures/op01n01a.tsv</code>: A table with relevant information about the measures in the score. <code>harmonies/op01n01a.tsv</code>: A list of the included harmony labels (including cadences and phrases) with their positions in the score. Opening Scores After navigating to your local copy, you can open the scores in the folder <code>MS3</code> with the free and open source score editor MuseScore. Please note that the scores have been edited, annotated and tested with MuseScore 3.6.2. MuseScore 4 has since been released and preliminary tests suggest that it renders them correctly. Opening TSV files in a spreadsheet Tab-separated value (TSV) files are like Comma-separated value (CSV) files and can be opened with most modern text editors. However, for correctly displaying the columns, you might want to use a spreadsheet or an addon for your favourite text editor. When you use a spreadsheet such as Excel, it might annoy you by interpreting fractions as dates. This can be circumvented by using <code>Data --&gt; From Text/CSV</code> or the free alternative LibreOffice Calc. Other than that, TSV data can be loaded with every modern programming language. Loading TSV files in Python Since the TSV files contain null values, lists, fractions, and numbers that are to be treated as strings, you may want to use this code to load any TSV files related to this repository (provided you're doing it in Python). After a quick <code>pip install -U ms3</code> (requires Python 3.10) you'll be able to load any TSV like this: <pre>import ms3 labels = ms3.load_tsv('harmonies/op01n01a.tsv') notes = ms3.load_tsv('notes/op01n01a.tsv')</pre> Column names You can look up meaning and data type of the columns of all TSV files including <code>metadata.tsv</code> in ms3's documentation (simply search through the page). Generating all TSV files from the scores When you have made changes to the scores and want to update the TSV files accordingly, you can use the following command (provided you have pip-installed ms3): <pre>ms3 extract -M -N -X -D # for measures, notes, expanded annotations, and metadata</pre> If, in addition, you want to generate the reviewed scores with out-of-label notes colored in red, you can do <pre>ms3 review -M -N -X -D # for extracting measures, notes, expanded annotations, and metadata</pre> By adding the flag <code>-c</code> to the review command, it will additionally compare the (potentially modified) annotations in the score with the ones currently present in the harmonies TSV files and reflect the comparison in the reviewed scores. Score origin To create the dataset we downloaded the musicXML conversion available on Craig Sapp's KernScores (thanks to the engraver(s) who first encoded the scores in **kern format), converted them to MuseScore, and had them corrected and completed by the transcription service tunescribers.com. This involved adding thorough bass figures throughout and engraving a few missing movements from scratch. The commission was performed based on the Pepusch prints available on the International Music Score Library Project (IMSLP) which are included in the folder <code>pdf</code>: Opus File IMSLP 1 Corelli op. 1 12 Triosonaten - Partitur.pdf https://imslp.org/wiki/Special:ReverseLookup/1666 3 Corelli op. 3 12 Triosonaten - Partitur.pdf https://imslp.org/wiki/Special:ReverseLookup/1689 4 Corelli op. 4 12 Triosonaten - Partitur.pdf https://imslp.org/wiki/Special:ReverseLookup/1690 (The scan of op. 3 is missing page 46, corresponding to <code>op03n12a</code>) Whenever pitches, bass figures or their placement were obviously wrong they have been corrected based on the Rome princeps editions. Caveats Wrong positions Two files have different time signatures in the upper and lower staff pairs which leads to wrong positions: <code>op03n10d</code> has 12/8 vs. 2/2 <code>op04n06g</code> has 12/8 vs. 4/4 Since the parser deals only with one time signature per measure, and since positions are computed additively, the positions are currently incorrect for all events in these two pieces which occur in staff 3 or 4 after beat 1. As a remedy, staves 1 and 2 could be re-written in simple meters (2/2 or 4/4) sporting triplets. For now, users could multiply <code>mc_onset</code> values for staves 3 and 4 by 1.5 as a remedy. The quarterbeats would then need to be re-computed by adding the stretched onset values to the MC's quarterbeat. <code>warnings.log</code> As long as this file exists, the <code>ms3 review</code> command has detected incongruent phrase beginnings <code>{</code> and endings <code>}</code>, and/or harmony labels where over 60 % of the note heads in the segment are out-of-label, and/or other warnings have come up. Pull requests addressing any of these warnings would be highly appreciated. Instruments The information on the four parts in the MuseScore files has not been curated. That concerns the staff names, brackets, behaviour of barlines, and instruments. If someone could send us a good configuration that looks and sounds decent, we would be glad to automatically apply it to the entire dataset. License Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Public License (CC BY-NC-SA 4.0). Naming convention For example, all files starting with <code>op03n02</code> are movements of Sonata number 2 from opus 3. The sequence of movements is indicated by appended letters <code>op03n02a</code>, <code>op03n02b</code>, etc. Questions, Suggestions, Corrections, Bug Reports For questions, remarks etc., please create an issue and feel free to fork and submit pull requests.