Published July 17, 2023
| Version v2.0.0
Software
Open
ms3: A parser for MuseScore files, serving as data factory for annotated music corpora
Description
Breaking changes
- Renamed MultiIndex levels:
- The column
fnamehas been renamed topiece. This concerns especiallymetadata.tsvwhere it is used as index, but also the MultiIndex of concatenated facets such as those output byParse.get_facet()orms3 transform. - The last (right-most) index level, which used to be called
<facet>_iin some cases, is now consistently calledi.
- The column
- When extracting TSV files:
- The possibility to assign custom suffixes to the extracted facets has been replaced by default suffixes separated by a full stop. For example, the notes for the MuseScore file
MS3/filename.mscxwill be extracted tonotes/filename.notes.tsvby default. - Every extracted TSV file comes with a JSON descriptor file following the frictionless specification for metadata. This replaces the
csv-metadata.jsonfiles that were following the CSV on the Web specification. - The frictionless schemas used in the JSON descriptor files are stored in the
schemasfolder of the ms3 package in YAML format. Their filenames are truncated hashes computed from the included column/field names and they are stored in a folder pertaining to the facet in question. This comes with the advantage that schemas do not have to be written out in every descriptor: Instead, theschemafield contains the URL of the schema file, allowing to update the schema specifications at a later point, e.g. with added or more elaborate descriptions. - Validation errors are written into
.errorsfiles stored next to the resource descriptor in question.
- The possibility to assign custom suffixes to the extracted facets has been replaced by default suffixes separated by a full stop. For example, the notes for the MuseScore file
- The command
ms3 transform, by default, outputs the concatenated facets as a single ZIP file that comes with a frictionless DataPackage descriptor (for the parameters added to the command, see below). The concatenated files are now named<corpus_name>.<facet>.tsv(previouslyconcatenated_<facet>.tsv).
New features
- It is now possible to batch-edit the instrumentation in many scores at once by changing the relevant column(s) in
metadata.tsvand callingms3 metadata --instrumentation. - Since
ms3 transformnow outputs zipped frictionless DataPackages by default (meaning that all concatenated facets are described in the same package descriptor JSON file), it comes with additional parameters:--unzippedto output the package as uncompressed TSV files rather than as single ZIP file.--resourcesto create a frictionless resource descriptor per concatenated facet instead of a package descriptor.--safeto prevent overwriting existing files.
- The
ms3 extractcommand now has a--corpuswiseoption allowing to parse and extract one corpus after the other, avoiding the need to parse all scores at once and keep them in memory before beginning the extraction. - The parser throws a warning if a score does not have a metronome mark at the beginning (which can be hidden). This is to encourage the inclusion of information on the basic beat unit (in 6/8 meter, e.g., the metronome unit is typically a dotted quarter) and pace to every score for better comparability.
Bugfixes
- For the
IGNORED_WARNINGSfile. - For the
--thresholdargument of thems3 reviewcommand. - Writing and reading the
volta_mcscolumn ofmetadata.tsv. - #60, #63, #78, #79
Internal changes
utils.pyhas been turned into a Python package containing the moculesconstants,functions, andfrictionless.- Not using the
fracalias forfractions.Fractionanymore. - The version number is not manually stored as a constant, instead it is automatically written into
_version.pyupon initialization.
Other
This version contains the final version of the paper A parser for MuseScore 3 files and data factory for annotated music corpora for publication in the Journal of Open Source Software (JOSS).
Files
johentsch/ms3-v2.0.0.zip
Files
(16.1 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:539361b770e72b4046e22c2ce18357f8
|
16.1 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/johentsch/ms3/tree/v2.0.0 (URL)
Funding
- Swiss National Science Foundation
- Distant listening - The development of harmony over three centuries (1700-2000) 105216_182811