LilyPond library which reads chant scores encoded in the gabc format and translates them to LilyPond data structures, allowing easy inclusion of gabc scores in LilyPond documents.
Originally inspired by this forum post. Given the vast amount of chant transcriptions available in the gabc format, it makes sense to provide first class support for this music encoding format in LilyPond.
While LilyPond is not the first option for chant typesetting in terms of output quality, there are still plenty of use cases where a convenient way to include existing gabc scores is useful.
Only rendering in modern notation supported so far, several fundamental features still missing.
- render contents of gabc files in modern notation
- fundamental support for the chant notation styles supported by LilyPond
- neume detection/interpretation mimicking Gregorio (for all basic neumes and at least the most common composed ones)
Only LilyPond is required for using the provided LilyPond commands.
Developed with LilyPond 2.24 (built with Guile 2.2). Status on other versions is unknown.
For running tests:
- Guile
- Bash
- GNU Make (or compatible)
Command \gabc
loads music from a gabc string,
\gabc-file
from a file.
The resulting scores are by default very bare-bones.
Two layout variables with settings suitable for chant in modern
notation are provided.
\include "lilygabc.ily"
\score {
\gabc
"(c4) Ju(e)bi(f)lá(g')te(f) De(d_f)o(f'_) (,)
o(f)mnis(f) ter(e_f)ra,(d) al(f)le(fg)lú(e.)ia.(e.) (::)
E(h) u(g) o(h) u(ih) a(gf) e.(e.) (::)"
\layout {
\lilygabcModernGregorianLayout
}
}
\score {
\gabc-file "path/to/score.gabc"
\layout {
\lilygabcModernGregorianStemlessLayout
}
}
It's necessary to add the lilygabc root directory to LilyPond include paths:
$ lilypond --include=path/to/lilygabc my_document.ly
Unit tests:
$ make test
Visual tests:
engrave the documents in tests/visual/
,
check results according to the instructions in the resulting documents.
GNU GPL v3