Skip to content

Skrid-platform/data

Repository files navigation

SKRID Data

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.

Source files

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.

File structure

.
├── 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

Dependencies

  • verovio to convert the sources into mei and other file formats ;
  • mscore to do some conversions (try package musescore in your Linux distribution) ;
  • musicxml2ly to convert musicXML to lilypond ;
  • Musypher to create the cypher dump from the MEI. It is not needed to download it, it is done automatically.

Usage

To generate all files :

make

For 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).

Adding a collection

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.

About

Skrid music files in multiple formats needed by the platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages