Version DOI GitHub repo size License

This is a README file for a data repository originating from the DCML corpus initiative and serves as welcome page for both

For information on how to obtain and use the dataset, please refer to this documentation page.

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 Sonate a tre, 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

Version history#

See the GitHub releases.

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

git clone https://github.com/DCMLab/corelli.git

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:

  • MS3/op01n01a.mscx: Uncompressed MuseScore file including the music and annotation labels.

  • notes/op01n01a.tsv: 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)

  • measures/op01n01a.tsv: A table with relevant information about the measures in the score.

  • harmonies/op01n01a.tsv: 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 MS3 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 Data --> From Text/CSV 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 pip install -U ms3 (requires Python 3.10) you’ll be able to load any TSV like this:

import ms3

labels = ms3.load_tsv('harmonies/op01n01a.tsv')
notes = ms3.load_tsv('notes/op01n01a.tsv')

Column names#

You can look up meaning and data type of the columns of all TSV files including metadata.tsv 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):

ms3 extract -M -N -X -D # for measures, notes, expanded annotations, and metadata

If, in addition, you want to generate the reviewed scores with out-of-label notes colored in red, you can do

ms3 review -M -N -X -D # for extracting measures, notes, expanded annotations, and metadata

By adding the flag -c 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 pdf:

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 op03n12a)

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:

  • op03n10d has 12/8 vs. 2/2

  • op04n06g 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 mc_onset 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.

.warnings files#

As long as such files exist in the reviewed folder, the ms3 review command has detected

  • incongruent phrase beginnings { and endings }, and/or

  • harmony labels where over 60 % of the note heads in the segment are out-of-label, and/or

  • other warnings related to parsing the scores or annotations.

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 op03n02 are movements of Sonata number 2 from opus 3. The sequence of movements is indicated by appended letters op03n02a, op03n02b, etc.

Questions, Suggestions, Corrections, Bug Reports#

For questions, remarks etc., please create an issue and feel free to fork and submit pull requests.

Overview#

file_name

measures

labels

standard

annotators

reviewers

op01n01a

14

64

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

HB, JH

op01n01b

38

141

2.3.0

Lars Opfermann , Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

HB, JH

op01n01c

37

97

2.3.0

Lars Opfermann and Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n01d

98

147

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

HB, AN, JH

op01n02a

19

76

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n02b

36

121

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n02c

29

67

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n02d

117

174

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n03a

17

66

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n03b

54

223

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n03c

35

71

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n03d

97

177

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n04a

19

52

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n04b

12

26

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n04c

28

117

2.3.0

Lars Opfermann (2.1.1) , Ya-Chuan Wu(2.1.1), Hanné Becker (2.3.0)

AN, HB

op01n04d

39

115

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n05a

42

90

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n05b

39

149

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n05c

30

59

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n05d

59

117

2.3.0

Lars Opfermann (2.1.1), Ya-Chuan Wu (2.1.1), Hanné Becker (2.3.0)

AN

op01n06a

11

44

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Victor Zheng (2.3.0)

VZ, JH

op01n06b

40

190

2.3.0

Lars Opfermann, Ya-Chuan Wu, Victor Zheng (2.3.0)

VZ, JH

op01n06c

38

89

2.3.0

Lars Opfermann, Ya-Chuan Wu, Victor Zheng (2.3.0)

VZ, JH

op01n06d

69

131

2.3.0

Lars Opfermann, Ya-Chuan Wu, Victor Zheng (2.3.0)

VZ, JH

op01n07a

40

161

2.3.0

Kristine Kier Jørgensen (2.1.1), Victor Zheng (2.3.0)

VZ, JH

op01n07b

14

57

2.3.0

Cristiana Palandri (2.1.1), Victor Zheng (2.3.0)

VZ, AN, JH

op01n07c

51

174

2.3.0

Cristiana Palandri (2.1.1), Victor Zheng (2.3.0)

VZ, AB

op01n08a

16

56

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n08b

20

76

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n08c

27

119

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n08d

39

71

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n09a

39

45

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n09b

37

153

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, VZ

op01n09c

36

74

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n09d

54

56

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Ehsan Mohagheghi Fard (2.3.0)

EMF, DK

op01n10a

12

45

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Amelia Brey (2.3.0)

AB, AN

op01n10b

17

70

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Amelia Brey (2.3.0)

AB, AN

op01n10c

29

107

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Amelia Brey (2.3.0)

AB, AN

op01n10d

24

56

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Amelia Brey (2.3.0)

AB, AN

op01n10e

84

139

2.3.0

Lars Opfermann, Ya-Chuan Wu (2.1.1), Amelia Brey (2.3.0)

AB, AN

op01n11a

18

60

2.3.0

Hanné Becker

JH

op01n11b

34

123

2.3.0

Hanné Becker

JH

op01n11c

33

79

2.3.0

Hanné Becker

AN

op01n11d

18

81

2.3.0

Hanné Becker

AN

op01n12a

19

64

2.3.0

Ehsan mohagheghi Fard

AN

op01n12b

36

101

2.3.0

Ehsan Mohagheghi Fard

AN

op01n12c

13

42

2.3.0

Tomoko Ono

JH

op01n12d

62

225

2.3.0

Ehsan Mohagheghi Fard

AN

op03n01a

19

78

2.3.0

Gabriela Ortiz Würth (2.1.1), Adrian Nagel (2.3.0)

AN (2.1.0), AW (2.3.0)

op03n01b

37

149

2.3.0

Gabriela Ortiz Würth (2.1.1), Adrian Nagel (2.3.0)

AN, AW

op03n01c

61

117

2.3.0

Gabriela Ortiz Würth (2.1.1), Adrian Nagel (2.3.0)

AN (2.1.1), AW (2.3.0)

op03n01d

40

158

2.3.0

Gabriela Ortiz Würth (2.1.1), Adrian Nagel (2.3.0)

AN (2.1.1), AW (2.3.0)

op03n02a

19

68

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n02b

31

118

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n02c

40

91

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n02d

43

121

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n03a

16

59

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB

op03n03b

32

62

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n03c

23

137

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n03d

60

240

2.3.0

Moritz Heffter (2.1.1), Amelia Brey (2.3.0)

AB, ST

op03n04a

23

137

2.3.0

Kelsey Lussier

JH

op03n04b

39

138

2.3.0

Ehsan Mohagheghi Fard

DK

op03n04c

55

114

2.3.0

Yannis Rammos

JH

op03n04d

50

171

2.3.0

Ehsan Mohagheghi Fard

AB

op03n05a

21

89

2.3.0

Mastaneh Nazarian (2.1.1), John Heilig (2.3.0)

JH

op03n05b

49

175

2.3.0

John Heilig

AN

op03n05c

36

80

2.3.0

John Heilig

AN

op03n05d

33

125

2.3.0

John Heilig

AN

op03n06a

33

119

2.3.0

Kyle Quarles

AN

op03n06b

14

54

2.3.0

Kyle Quarles

JH

op03n06c

38

150

2.3.0

Kyle Quarles

AN

op03n06d

41

179

2.3.0

Ehsan Mohagheghi Fard

DK

op03n07a

20

76

2.3.0

Hanné Becker

JH

op03n07b

35

131

2.3.0

Hanné Becker

AN

op03n07c

38

92

2.3.0

Hanné Becker

AN

op03n07d

28

84

2.3.0

Hanné Becker

AN

op03n08a

20

90

2.3.0

Matthew Chiu

JH

op03n08b

39

153

2.3.0

Ehsan Mohagheghi Fard

DK

op03n08c

31

74

2.3.0

Matthew Chiu

AN

op03n08d

40

135

2.3.0

Matthew Chiu

AN

op03n09a

30

69

2.3.0

John Heilig

JH

op03n09b

28

103

2.3.0

John Heilig

AN

op03n09c

38

85

2.3.0

John Heilig

AN

op03n09d

28

121

2.3.0

John Heilig

AN

op03n10a

14

49

2.3.0

Tal Soker

JH

op03n10b

38

154

2.3.0

Tal Soker

JH

op03n10c

11

25

2.3.0

Tal Soker

JH

op03n10d

31

114

2.3.0

Tal Soker

JH

op03n11a

17

68

2.3.0

John Heilig

JH

op03n11b

39

164

2.3.0

John Heilig

AN

op03n11c

29

63

2.3.0

John Heilig

AN

op03n11d

45

97

2.3.0

John Heilig

JH

op03n12a

19

17

2.3.0

John Heilig

JH

op03n12b

41

8

2.3.0

John Heilig

AN

op03n12c

9

39

2.3.0

John Heilig

AN

op03n12d

29

97

2.3.0

John Heilig

AN

op03n12e

25

76

2.3.0

John Heilig

AN

op03n12f

37

192

2.3.0

John Heilig

AN

op03n12g

46

205

2.3.0

John Heilig

AN

op04n01a

17

74

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n01b

47

75

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n01c

13

47

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n01d

34

136

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n02a

20

87

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n02b

22

111

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n02c

5

9

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n02d

57

125

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, JH

op04n03a

18

90

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n03b

48

87

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n03c

16

37

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n03d

41

136

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n04a

20

68

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n04b

41

80

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n04c

17

102

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, DK

op04n04d

31

107

2.3.0

Lydia Carlisi (2.1.1), Adrian Nagel (2.3.0)

AN, AB

op04n05a

20

101

2.3.0

Andrew Wilson

JH

op04n05b

28

105

2.3.0

Andrew Wilson

JH

op04n05c

39

78

2.3.0

Andrew Wilson

JH

op04n05d

12

38

2.3.0

Andrew Wilson

AN

op04n06a

6

22

2.3.0

Adrian Nagel

Victor Zheng

op04n06b

23

41

2.3.0

Adrian Nagel

Victor Zheng

op04n06c

7

19

2.3.0

Adrian Nagel

Victor Zheng

op04n06d

28

57

2.3.0

Adrian Nagel

Victor Zheng

op04n06e

10

22

2.3.0

Adrian Nagel

Victor Zheng

op04n06f

25

76

2.3.0

Tim Girard

AN

op04n06g

30

94

2.3.0

Justin Franklin

JH

op04n07a

15

86

2.3.0

Justin Franklin

JH

op04n07b

46

104

2.3.0

Justin Franklin

AN

op04n07c

6

12

2.3.0

Justin Franklin

JH

op04n07d

32

47

2.3.0

Justin Franklin

JH

op04n07e

27

92

2.3.0

Justin Franklin

AN

op04n08a

38

94

2.3.0

Kevin Davis

AN, JH

op04n08b

23

88

2.3.0

Kevin Davis

JH

op04n08c

16

41

2.3.0

Kevin Davis

AN, JH

op04n09a

13

77

2.3.0

Victor Zheng

AN

op04n09b

44

103

2.3.0

Victor Zheng

AN

op04n09c

12

49

2.3.0

Victor Zheng

JH

op04n09d

56

167

2.3.0

Victor Zheng

JH

op04n10a

2

4

2.3.0

Kevin Davis

JH

op04n10b

33

104

2.3.0

Kevin Davis

JH

op04n10c

4

8

2.3.0

Kevin Davis

AN, JH

op04n10d

14

51

2.3.0

Kevin Davis

AN, JH

op04n10e

48

152

2.3.0

Kevin Davis

AN JH

op04n11a

24

156

2.3.0

Amelia Brey

AN

op04n11b

73

116

2.3.0

Amelia Brey

AN

op04n11c

36

142

2.3.0

Amelia Brey

AN

op04n12a

35

77

2.3.0

Andrew Wilson

AN

op04n12b

39

111

2.3.0

Andrew Wilson

AN

op04n12c

19

62

2.3.0

Andrew Wilson

AN

Overview table automatically updated using ms3.

Further information: