This repository contains the source data for the SKRID platform.
This data is used in two ways:
- generation of the Neo4j database, using
Musypher; - served by the frontend server (that needs the MEI files).
For the installation in the frontend server, please see in its README.
This README explains the data generation process.
The process is separated in two parts: each collection generates all the files by converting from the source, and then the MEI files are converted to cypher dumps.
The conversion from MEI to cypher graph dump is handled by the Musypher program.
The initial format for the scores depends of the collection. It is described in each folder (in the corresponding README).
But for all collections, the MEI files are included, as it is directly used by the frontend server in order to display the previews.
Please note that the ID present in the MEI files (for the notes, chords, ...) seems to be generated randomly. But they need to correspond to the IDs in the Neo4j database, so be sure to use the same MEI files for the frontend server and to generate the database (with Musypher), and do not regenerate the MEI files.
.
├── collection_1
│ ├── source/ The source files for this collection (possible to have multiple). The folder name is not `source`, but the filetype.
│ │
│ ├── Makefile Manages the generation of the files from source for this collection
│ └── README.txt Explain details about this collection
│
├── collection_2
│ └── ...
│
│ ...
│
├── Makefile
└── README.md
When data is generated, in each collection folder a directory per filetype is created.
For example :
collection_1/
├── archives/
├── cypher/
├── ly/
├── mei/
├── mid/
├── mscz/
├── mus/
├── musicxml/
├── pdf/
├── svg/
│
├── load_DB.cql
│
├── Makefile
└── README.txt
verovioto convert the sources into mei and other file formats ;mscoreto do some conversions (try packagemusescorein your Linux distribution) ;musicxml2lyto convert musicXML to lilypond ;Musypherto create the cypher dump from the MEI. It is not needed to download it, it is done automatically.
To generate all files :
makeFor each collection, this will :
- generate files in other formats with conversion using the makefile of that collection ;
- generate the cypher dumps using
Musypher.
To clean the generated files, run :
make clean
This will call the clean rule of each collection makefile.
Note that the generation will take some time (10 minutes to generate all files, and then around 15 minutes to populate the database).
To add a new collection to the database, create a new folder in the root of this repository.
Then add the source in a folder named after the filetype inside the new folder (e.g add all the .mei source files in a folder named mei/ if the source is made of MEI files).
For the generation, create a Makefile by inspiring from the other collections.
The makefile must have two rules : all (the first one, so make can be called without arguments) and clean.