Doel en scope¶
Het idee in het kort¶
In de liturgische praktijk bestaan formulemelodieën: vaste melodische
patronen (tropaar, stichier, vers, …) waarop telkens andere teksten worden
gezongen. Op het toonboekblad staan die formules vaak zonder lyrics, met
herhaalstructuur (||: 1, 2 :|| laatste), reciteertonen en
klemtoonlabels (e. st., l. st., …).
Een vsa-template is de machineleesbare vastlegging van zo’n formule:
- welke template-frasen er zijn;
- hoe ze herhaald of vast geordend worden;
- welke SATB-laddergraden en duren (ELM) elk template-event heeft;
- binnen welke do-context (
do+mode) die graden klinken.
De tekst van een concreet zangstuk blijft in VSA. Later kan tooling tekst + template combineren tot bijvoorbeeld MusicXML. Zo scheid je herbruikbare melodie van unieke tekst.
toonboekblad (formule) → vsa-template (YAML)
VSA-tekst (lyrics+relatieve melodie) → mapping (experimenteel)
↓
afgeleide (bijv. MusicXML SATB)
Doel¶
- Formules eenduidig en diffbaar in git vastleggen.
- Zelfde formule hergebruiken voor veel teksten.
- Aansluiten op VSA-begrippen: do-context, ELM, relatieve/laddergraad-denken.
- Pad openhouden naar reproduceerbare afgeleiden (SVG/MusicXML) zonder OMR als bron van waarheid.
Niet-doelen (deze draft)¶
- Vervanging van VSA-tekstnotatie.
- Volledige transcriptie van alle toonboekpagina’s in één keer.
- Layout-/drukwerkregels.
- Canonieke toonhoogtes uit AI- of OMR-lezing van scans.
Bronregel voor toonhoogtes¶
PDF’s en plaatjes leveren feature-eisen (wat de taal moet kunnen uitdrukken).
Normatieve graden in voorbeelden komen alleen uit menselijk gecontroleerde
invoer. Onzekerheden: open-points.md of
pitches_status: provisional.
Architectuur (VSA→template-instance)¶
Het vsa-template beschrijft de volledige SATB-formule zoals op het blad (inclusief optionele noten). Runtime-melodie voor S komt uit VSA; A/T/B komen uit de template en volgen dezelfde optional-/split-beslissingen als S. Zie Mapping VSA.
Begrippen (TermRefs)¶
Geen parallelle termtabel bijhouden: definities staan in curated texts / glossary. In deze specificatie:
| Begrip | TermRef |
|---|---|
| Document / formule | vsa-template |
| Melodisch blok | template-frase |
| Één stap/akkoord | template-event |
| Klemtoonlabel op noot | frase-anker |
| Id van een template-frase | frase-id |
| Staff-text op de formule | formulelabel (frase-id of frase-anker) |
| Variabel syllabe-akkoord | reciteertoon |
| Graad t.o.v. do | laddergraad |
| Grondtoon + modus | do-context |
| Duursymbool | enkelvoudige lengte-modifier (ELM) |
| Org: werk | zangstuk |
Genre-labels op het blad (tropaar, stichier, vers) en toonnummers (1–8)
zijn metadata in het YAML; nog geen aparte glossarytermen.
Status¶
Draft v0: syntax/semantiek/validatie + voorbeelden + schematests. Nog geen export-CLI. Zie README voor documentenlijst en v0-criteria.