vsa syllabify — lettergreepstreepjes in VSA-tekst¶
Voeg orthografische lettergreepstreepjes toe aan woorden in de
VSA-brontekst, zodat de bestaande MusicXML-export elk deel als eigen
kwartnoot kan zetten (belangrijk voor Coria: elke lettergreep heeft minstens
één noot nodig, en streepjes markeren waar een woord doorloopt). Met
--unsyllabify doe je het omgekeerde: streepjes weer weghalen.
Synopsis¶
vsa syllabify [-h] [--dry-run | --in-place] [--extension EXT] [--unsyllabify] path
Beschrijving¶
Reciteertekst staat in veel vsa-bestanden als één woord
(lijden, onbederfelijke). Cadensstukken zitten vaak al in scopes
(marte{la_}{/ren}). vsa syllabify hypheneert elk woord met Pyphen
(nl_NL), inclusief woorden die over platte tekst en scopes heen lopen.
Tussen alle lettergrepen van hetzelfde woord komt een streepje — ook op
de grens tussen tekst en {…}, en tussen opeenvolgende scopes. Zo wordt
Jo{+\han_}{/nes_} → Jo-{+\han_}-{/nes_}.
- De inhoud van scopes (zangelement, EHM, ELM) blijft onaangeroerd;
alleen brugstreepjes
-eromheen worden gezet of weggehaald. - Toonhoogtemarkers (
[…:]), YAML-frontmatter en HTML-comments blijven staan. - Binnen scopes blijft
-een ELM; daar wordt niets gewijzigd — ook niet bij--unsyllabify. - Een woord dat al
-bevat en helemaal buiten scopes staat (handmatige zing-deling) blijft bij hypheneren ongemoeid; bij--unsyllabifyverdwijnen die streepjes wél. Over scope-grenzen heen worden breekpunten opnieuw uit Pyphen afgeleid. - Hard streepje: schrijf een orthografisch koppelteken als
=in de bron (mede=eeuwige). Syllabify hypheneert de delen apart (me-de=eeu-wi-ge);--unsyllabifyhoudt=;vsa text/ MusicXML / SVG tonen een gewoon streepje. Zachte-verdwijnen in zoektekst,=niet (wordt-). - Dit is geen automatische stap bij
vsa musicxml: bron en product blijven voorspelbaar. Na schrijven vernieuw je.vsa.mxlviascripts\vsa-products.cmdofscripts\check.cmd.
path mag één .vsa-bestand zijn of een map. Bij een map zoekt het
commando recursief alle *.vsa-bestanden (zoals vsa validate
dat voor .vsa doet).
Orthografische hyphenatie is niet altijd dezelfde als liturgische zing-deling; controleer twijfelgevallen handmatig.
Schrijfmodi¶
| Modus | Gedrag |
|---|---|
Geen schrijfflag / --dry-run |
Niets schrijven. Eén bestand: resultaat op stdout. Map: statusregels. |
--in-place |
Overschrijf elk bronbestand. |
--extension EXT |
Schrijf naast het bronbestand: xyz.vsa → xyz + genormaliseerde EXT. |
--in-place en --extension mag je niet combineren. Met --extension mag
je wel --dry-run gebruiken om alleen te tonen wat er zou gebeuren.
Bestanden waarvan de naam al op de doelextensie eindigt (bijv. xyz.syl.vsa
bij --extension .syl.vsa) worden overgeslagen, zodat je geen
xyz.syl.syl.vsa krijgt.
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default | Beperkingen |
|---|---|---|---|---|
path |
Ja | Pad naar een .vsa-bestand of een map met .vsa-bestanden. |
— | Moet bestaan. |
--dry-run |
Nee | Toon het resultaat zonder bestanden te schrijven. | Gedrag zonder schrijfmodus (preview) | Mutueel exclusief met --in-place. |
--in-place |
Nee | Schrijf het resultaat terug naar elk bronbestand. | Uit | Niet combineren met --extension. |
--extension EXT |
Nee | Schrijf naar sibling-bestanden met deze extensie (.syl.vsa of syl.vsa → xyz.syl.vsa). |
Uit | Moet eindigen op .vsa; niet met --in-place. |
--unsyllabify |
Nee | Verwijder lettergreepstreepjes (ook brugstreepjes rond scopes) i.p.v. ze toe te voegen. | Uit (hypheneren) | Scope-inhoud / ELM-- blijven staan. |
-h, --help |
Nee | Toon hulp voor dit subcommando. | — | — |
Output¶
- Eén bestand, dry-run: gehypheneerde (of ont-syllabifyde) brontekst op
stdout; op stderr een regel
(dry-run — N lettergreepstreepje(s) toegevoegd|verwijderd; bestand niet geschreven). - Map, dry-run: per bestand een statusregel op stdout, bijv.
pad\a.vsa -> pad\a.syl.vsa: 2 lettergreepstreepje(s) toegevoegd (dry-run). - Schrijven (
--in-placeof--extension): per bestand een statusregel op stdout (<bron>: …of<bron> -> <doel>: …).
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
Alle bestanden verwerkt (ook bij geen wijziging of overgeslagen siblings). |
1 |
Pad ontbreekt, geen .vsa gevonden, ongeldige flags/extensie, of parserfout. |
Voorbeelden¶
Preview van één bestand:
cd /d C:\Git\orthodox-ronl\VSA-tooling
vsa syllabify examples\minimal\voorbeeld.vsa --dry-run
Hele map in-place hypheneren:
cd /d C:\Git\orthodox-ronl\VSA-tooling
vsa syllabify examples\minimal --in-place
Naar sibling-extensie .syl.vsa (bron blijft ongewijzigd):
cd /d C:\Git\orthodox-ronl\VSA-tooling
vsa syllabify pad\naar\xyz.vsa --extension .syl.vsa
Dat schrijft pad\naar\xyz.syl.vsa. Zelfde resultaat met --extension syl.vsa.
Lettergreepstreepjes weer verwijderen (brugstreepjes rond scopes inbegrepen):
cd /d C:\Git\orthodox-ronl\VSA-tooling
vsa syllabify pad\naar\xyz.syl.vsa --unsyllabify --in-place
Na schrijven MusicXML-product vernieuwen:
cd /d C:\Git\orthodox-ronl\VSA-tooling
vsa syllabify pad\naar\bestand.vsa --in-place
scripts\vsa-products.cmd
Voorbeeldtransformatie:
| Voor | Na (syllabify) | Na (--unsyllabify) |
|---|---|---|
lijden |
lij-den |
lijden |
onbederfelijke |
on-be-der-fe-lij-ke |
onbederfelijke |
marte{la_}{/ren} |
mar-te-{la_}-{/ren} |
marte{la_}{/ren} |
Jo{+\han_}{/nes_} |
Jo-{+\han_}-{/nes_} |
Jo{+\han_}{/nes_} |
{/heb}ben |
{/heb}-ben |
{/heb}ben |