DDMAL / DDMAL/cantus

Plan out and migrate the Liber Usualis to Cantus Ultimus

Open
#983 9 comments 0 reactions 0 assignees View on GitHub
Enhancement
Dominant language
JavaScript
Stars
16
Forks
4
Avg merge
2d 16h
Merged PRs (30d)
3

Description

## Goal

Migrate the 1961 Solesmes *Liber Usualis* (2318 pages, MEI 5.0+Neumes, OMR'd) onto the production Cantus Ultimus instance, so it's publicly searchable by OMR/pitch-melody, the same way other manuscripts are.

## Status

A full local deployment has already proven the core functionality works end-to-end against this corpus: manuscript record, folio-to-image mapping, IIIF image serving via Cantaloupe, full-corpus indexing (~2 million OMR n-grams across all 2318 pages), and working neume/pitch search, verified in the browser against real indexed data.

Doing that local deployment also surfaced and fixed several real bugs in the current Cantus Ultimus codebase along the way -- see #981 (fix PR), #979 (main bug: MEIParser silently dropping every staff but the first on multi-staff pages -- 67% of this corpus's pages have 2+ staves), and #980 (a related, not-yet-fully-resolved UI bug, non-blocking for this migration).

See the comment below for a detailed verification summary.

## Remaining work

This issue tracks what's left to take this from "proven locally" to "live in production." See linked sub-issues for the breakdown.

Contributor guide

No contributing guide indexed for this repository

Research direction

Read the linked sub-issues and the verification summary comment first; use the proven local deployment as the baseline. Check the manuscript record, folio-to-image mapping, Cantaloupe IIIF serving, corpus indexing, and neume/pitch search in production. Done means all 2318 pages are publicly searchable by OMR and pitch-melody.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
data-engineering, devops, search
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.