Skip to content
David Garfinkle edited this page Oct 29, 2019 · 13 revisions

Content-based symbolic music retrieval (CBSMR) Wiki

This wiki will overview the CBSMR system built to integrate with SIMSSADB as part of the ELVIS-project.

This system will search a corpus of sheet music by its content using a written musical query and return highlighted excerpts of the sheet music where the query was found.

New pieces can be added to the database of searchable scores. The intention is that this system will extend SIMSSADB by storing searchable indexed data and providing highlighted excerpts of the same pieces in SIMSSADB.

A Flask application implements the API, interacting with the postgres database and our search micro-service to handle two primary functions: adding a piece and searching through pieces.

A static webpage uses the Verovio Humdrum Viewer to write musical queries with music notation and send requests to the backend system.

Dependencies

We use postgres to store piece data, golang and gRPC to implement a search microservice, a search algorithm written in C included as a submodule, and we service web requests with python and javascript.

This project is built on top of notable music processing software mentioned here:

  • verovio humdrum viewer in the front-end web application to let users type out their queries
  • music21 to parse a variety of symbolic music encodings
Clone this wiki locally