vsa mvsa / mvsa — meerstemmige .mvsa (draft)¶
Draft-tooling voor mvsa: meerstemmige tekstbronnen (.mvsa) met
lyrics-regels en stemregels. Normatieve draft-spec:
specification-mvsa.
Dit is niet hetzelfde als vsa validate /
vsa musicxml voor eenstemmige .vsa.
Top-level alias: mvsa … is gelijk aan vsa mvsa … (console-script of
scripts\mvsa.cmd). Bron-commands voor andere formaten: mxl,
mscz.
Subcommando’s zijn genoemd naar de uitvoer (zoals mscz / pdf /
mp3 / ogg / wav). Oude namen musicxml en audio blijven als alias
werken (audio ≡ mp3).
Synopsis¶
mvsa [-h] {validate,mxl,mscz,pdf,mp3,ogg,wav,import,normalize,kuiser} …
vsa mvsa [-h] {validate,mxl,mscz,pdf,mp3,ogg,wav,import,normalize,kuiser} …
mvsa validate [-h] path
mvsa mxl [-h] [-o OUTPUT] [--section SECTION] [--hulptekst]
[--hulptekst-as-parts] [--bibliotheek-id ID]
[--musescore PATH] path
mvsa mscz [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] [--layout PROFILE] [--bibliotheek-id ID]
[--hulptekst] path
mvsa pdf [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mscz PATH] [--keep-mxl PATH]
[--layout PROFILE] [--bibliotheek-id ID] path
mvsa mp3 [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
mvsa ogg [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
mvsa wav [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
mvsa import [-h] [-o OUTPUT] [--pitch {doremi,a-g,vsa,ag-vsa}] …
mvsa normalize [-h] [-o OUTPUT] [--pitch {preserve,doremi,a-g,vsa,ag-vsa}] …
mvsa kuiser [-h] [-o OUTPUT] [--check] [--pitch {preserve,doremi,a-g,vsa,ag-vsa}] …
Subcommando's¶
| Subcommando | Doel |
|---|---|
validate |
Structuur + sync-telling van .mvsa controleren. |
mxl |
Exporteer .mvsa / .mscz / .mxl naar playback-.mxl. |
mscz |
Exporteer .mvsa naar MuseScore (.mscz). |
pdf |
Exporteer .mvsa of .mscz naar print-PDF (zangers). |
mp3 / ogg / wav |
Exporteer naar preview-audio (.mp3 / .ogg / .wav). |
import |
Importeer .mxl / .mscz → .mvsa (werkbank). |
normalize |
Canoniseer .mvsa (default: behoud noteernamen). |
kuiser |
Authoring-kuiser: strepen syncen, woordstreep, align. |
Hulp op de commandoregel:
mvsa -h
vsa mvsa -h
mvsa validate -h
mvsa mxl -h
mvsa mscz -h
mvsa pdf -h
mvsa mp3 -h
mvsa ogg -h
mvsa wav -h
mvsa import -h
mvsa normalize -h
mvsa kuiser -h
vsa mvsa validate¶
Synopsis¶
vsa mvsa validate [-h] [--require-zoektekst] path
Beschrijving¶
Controleert .mvsa-bestanden op LSATB-structuur, maatstrepen en de
sync-telling
tussen lyrics-regels en stemregels. Draft-validatie: zie
specification-mvsa/validation.md.
path-type |
Gedrag |
|---|---|
.mvsa-bestand |
Valideert dat ene bestand. |
| Map | Zoekt recursief naar alle .mvsa-bestanden eronder. |
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default | Beperkingen |
|---|---|---|---|---|
path |
Ja | .mvsa-bestand of map met .mvsa-bestanden. |
— | Moet bestaan. |
--require-zoektekst |
Nee | Eis YAML-zoektekst gelijk aan body (catalogus); zie zoektekst. |
Uit | — |
-h, --help |
Nee | Toon hulp voor dit subcommando. | — | — |
Output¶
- stdout: bij succes zonder warnings de tekst
OK(één keer, ook bij een map); warnings naar stdout. - stderr: errors (
ERROR: …) en samenvatting bij falen. - Geen bestanden aangemaakt.
- Geen per-bestand
…: OK-regels (zelfde stijl alsvsa validate).
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
Alle gevonden .mvsa-bestanden geldig. |
1 |
Pad ontbreekt, geen .mvsa, of validatiefout. |
Voorbeelden¶
vsa mvsa validate examples\mvsa
vsa mvsa validate examples\mvsa\alleluia-toon-8.mvsa
vsa mvsa validate examples\mvsa\alleluia-toon-8.mvsa --require-zoektekst
Voor alleen vullen/checken van zoektekst zonder overige validate:
vsa zoektekst.
vsa mvsa mxl¶
Synopsis¶
vsa mvsa mxl [-h] [-o OUTPUT] [--section SECTION] [--hulptekst]
[--hulptekst-as-parts] [--bibliotheek-id ID]
[--musescore PATH] path
Beschrijving¶
Schrijft een Coria-playback-.mxl (of .musicxml/.xml). Bron:
| Bron | Gedrag |
|---|---|
.mvsa |
SATB-export (vier parts). Optioneel --section / hulptekst-vlaggen. |
.mscz |
MuseScore → playback-normalisatie (zelfde keten als mscz mxl). |
.mxl / .musicxml / .xml |
Normaliseer naar playback (SATB-explode, Coria-sanitize). |
Bij .mvsa: zonder --section gaan alle @sectie-blokken achter elkaar in
één partituur; met --section alleen die sectie-id.
Kale - op een stemregel aan het begin van een nieuw LSATB-systeem houdt de
lopende toon van het vorige systeem (soft-wrap); een beginanker of expliciete
@start-toewijzing reset die toon. Bij @speelplan volgt die keten de
klinkende vorm. Zie
lopende toon over systeembraken.
Lege recite met ELM-keten (()~&~&.…, lyric-loos melisma uit import) wordt
als gewoon melisma geëxporteerd (alle slots/duur), niet als één noot.
Playback (Coria): standaard vier parts S/A/T/B met piano op elke partij
(checklist M8).
Stemidentifiers in het .mvsa-bestand (Sop:, cantus:, …) worden op dit
pad als part-namen gebruikt (SATB-letters → Soprano/Alto/Tenor/Bass).
Hulptekst (kerkslavisch ↔ Latijn / Nederlands ↔ Cyrillisch, parochieschema):
| Vlag | Wie | Effect |
|---|---|---|
--hulptekst |
Blad én Coria-MXL | Lyric number 2 onder dezelfde noten (transliteratie). Handmatige L1 wint als lyric 2 al bestaat. |
--hulptekst-as-parts |
Alleen Coria-MXL | Extra parts: zelfde pitches, lyrics van laag 2; part-namen {stem} ({label}). Labels uit @taal (zie keywords — @taal). Volume 0 op hulp-parts. Impliceert --hulptekst. |
Richting en Coria-labels sturen met sticky @taal (nl / ksl / auto, of
Lap=aap Lus=noot op lyrics-ids). Zie
kerkslavisch-transliteratie.
Dit is een aparte exporter dan vsa musicxml (eenstemmig
VSA).
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default | Beperkingen |
|---|---|---|---|---|
path |
Ja | Bron: .mvsa, .mscz of .mxl/.musicxml. |
— | Moet een bestaand bestand zijn. |
-o, --output |
Nee | Uitvoerpad (.mxl, .musicxml of .xml). |
<bronnaam>.mxl (bijv. lied.mvsa.mxl) |
Andere extensie → wordt .mxl. |
--section SECTION |
Nee | Alleen bij .mvsa: deze @sectie-id. |
Alle secties | Id moet in het bestand voorkomen. |
--bibliotheek-id ID |
Nee | Alleen bij .mvsa: bibliotheek-id in identification/rights. |
pad-sniff onder content-source/bibliotheek |
Optioneel. |
--hulptekst |
Nee | Alleen bij .mvsa: tweede lyric-laag (number=2). |
uit | Zie beschrijving hierboven. |
--hulptekst-as-parts |
Nee | Alleen bij .mvsa: Coria-extra parts met hulptekst (volume 0). |
uit | Impliceert --hulptekst. |
--musescore PATH |
Nee | Alleen bij .mscz: pad naar MuseScore. |
auto-detectie | — |
-h, --help |
Nee | Toon hulp voor dit subcommando. | — | — |
Output¶
- stdout:
Geschreven: <pad>bij succes. - stderr: validatie- of exportfouten.
- bestand:
.mxl(standaard) of het pad uit-o.
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
MusicXML succesvol geschreven. |
1 |
Bestand ontbreekt, validatiefout, of exportfout. |
Voorbeelden — succes¶
Standaard naast het bronbestand (….mvsa.mxl):
vsa mvsa mxl examples\mvsa\kleine-intocht-zondag-hemelum.mvsa
Met expliciet uitvoerpad en één sectie:
vsa mvsa mxl examples\mvsa\kleine-intocht-zondag-hemelum.mvsa --section schets-a-bladcijfer -o generated\intocht-a.mxl
Coria met keuze tussen lyrics-lagen (trisagion, kerkslavische sectie):
vsa mvsa mxl examples\mvsa\trisagion-8a-slav-hemelum.mvsa --section ksl --hulptekst-as-parts -o generated\trisagion-ksl-coria.mxl
Vanuit MuseScore-partituur (zelfde resultaat als mscz mxl):
vsa mvsa mxl examples\bug-cases\cherubijnenhymne-15c-kastorski-hemelum.mscz -o generated\bug-cases\cherubijnen.mxl
Blad/MSCZ: lyric 2 op partituur-MXL (keten via mscz --hulptekst):
vsa mvsa mscz examples\mvsa\hulptekst-ksl-mini.mvsa --hulptekst -o generated\hulptekst-ksl.mscz
Voorbeelden — falen¶
Onbekende sectie-id of sync-fout in het .mvsa-bestand levert exitcode 1
en diagnostiek op stderr. Controleer eerst met vsa mvsa validate.
vsa mvsa mscz¶
Synopsis¶
vsa mvsa mscz [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] [--layout PROFILE] [--bibliotheek-id ID] path
Beschrijving¶
Exporteert één .mvsa-bestand naar MuseScore (.mscz) via de keten:
.mvsa → .mxl (partituur: SA/TB, lege part-namen) → MuseScore CLI → .mscz
→ layoutprofiel (default: partituur)
Layoutprofielen (na MuseScore-conversie):
| Profiel | Gedrag |
|---|---|
partituur |
Default. A4, leesbaarheid, lege partijnamen, colofon — MSCZ-leesbaarheid. |
plain |
Geen nabewerking door VSA-tooling (ruwe MuseScore-output van de partituur-MXL). |
--bibliotheek-id zet de id in het colofon (alleen bij partituur).
Zonder die optie mag tooling de id uit het pad afleiden als
…/bibliotheek/<zangstuk>/<variant>/<uitvoeringsvorm>/… — consumers horen
de id expliciet te geven. Zie
ownership.
Dit voldoet bij partituur aan de MSCZ-checklist
(twee balken, geen S/Soprano-labels). Voor Coria-playback (vier parts)
blijft vsa mvsa mxl het primaire pad.
Vereist MuseScore 4 (of 3): op PATH als MuseScore4 / mscore, of het
standaard Windows-pad
C:\Program Files\MuseScore 4\bin\MuseScore4.exe. Override met
--musescore.
Werkplan: mvsa-conversions.
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default |
|---|---|---|---|
path |
Ja | Bron-.mvsa-bestand. |
— |
-o, --output |
Nee | Uitvoer-.mscz. |
<bronnaam>.mscz (bijv. lied.mvsa.mscz) |
--section SECTION |
Nee | Alleen deze @sectie-id. |
Alle secties |
--musescore PATH |
Nee | Pad naar MuseScore-executable. | Auto-detectie |
--keep-mxl PATH |
Nee | Bewaar ook het tussenliggende .mxl. |
temp (wordt verwijderd) |
--layout PROFILE |
Nee | partituur of plain. |
partituur |
--bibliotheek-id ID |
Nee | Colofon-id (profiel partituur); anders pad-fallback. |
pad-sniff / geen |
--hulptekst |
Nee | Tweede lyric-laag in tussen-MXL (blad «tweede regel»). | uit |
Output¶
- stdout:
Geschreven: <pad>(enMXL: …bij--keep-mxl). - bestand:
.mscz(zip met.mscx).
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
MSCZ geschreven. |
1 |
Pad ontbreekt, validatiefout, MuseScore ontbreekt, of conversiefout. |
Voorbeelden¶
vsa mvsa mscz examples\mvsa\alleluia-toon-8.canonieke.mvsa
vsa mvsa mscz lied.mvsa -o generated\lied.mscz --section schets2-oct-doremi
vsa mvsa mscz lied.mvsa -o out.mscz --keep-mxl generated\lied.mxl
vsa mvsa mscz lied.mvsa -o out.mscz --layout partituur --bibliotheek-id zangstuk/var/uv
vsa mvsa mscz lied.mvsa -o raw.mscz --layout plain
vsa mvsa pdf¶
Synopsis¶
vsa mvsa pdf [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mscz PATH] [--keep-mxl PATH]
[--layout PROFILE] [--bibliotheek-id ID] path
Beschrijving¶
Maakt een print-PDF van de partituur (voor zangers), via MuseScore CLI.
| Bron | Pad |
|---|---|
.mvsa |
Keten: partituur-.mxl → .mscz (--layout) → .pdf |
.mscz |
Alleen MuseScore-conversie naar .pdf (geen her-export uit .mvsa) |
--layout / --bibliotheek-id gelden alleen bij bron .mvsa (zelfde
betekenis als bij mscz).
Canoniek: A4 staand (checklist
PDF P6);
via MuseScore-Style van het .mscz (MSCZ S7). US Letter is niet canoniek.
Dit is niet vsa pdf (Markdown + VSA-SVG via browser; wél
dezelfde A4-eis P6).
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default |
|---|---|---|---|
path |
Ja | .mvsa of .mscz. |
— |
-o, --output |
Nee | Uitvoer-.pdf. |
<bronnaam>.pdf (bijv. lied.mvsa.pdf) |
--section |
Nee | Alleen bij .mvsa: één @sectie-id. |
alle secties |
--musescore |
Nee | MuseScore-executable. | auto-detectie |
--keep-mscz |
Nee | Bij .mvsa: bewaar tussenliggende .mscz. |
temp (wordt verwijderd) |
--keep-mxl |
Nee | Bij .mvsa: bewaar tussenliggende .mxl. |
niet |
--layout PROFILE |
Nee | Bij .mvsa: partituur of plain. |
partituur |
--bibliotheek-id ID |
Nee | Bij .mvsa + partituur: colofon-id. |
pad-sniff / geen |
Voorbeelden¶
vsa mvsa pdf examples\mvsa\alleluia-toon-1.mvsa
vsa mvsa pdf lied.mvsa -o generated\lied.pdf --keep-mscz generated\lied.mscz
vsa mvsa pdf lied.mvsa --layout partituur --bibliotheek-id zangstuk/var/uv
vsa mvsa pdf lied.mscz -o lied.pdf
vsa mvsa mp3 / ogg / wav¶
Synopsis¶
vsa mvsa mp3 [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
vsa mvsa ogg [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
vsa mvsa wav [-h] [-o OUTPUT] [--section SECTION] [--musescore PATH]
[--keep-mxl PATH] path
Beschrijving¶
Maakt een preview-audiobestand via MuseScore: eerst playback-.mxl
(vier parts), daarna audio. Het subcommando is het formaat: mp3, ogg
of wav. Alias audio ≡ mp3. Bron mag .mvsa, .mxl, .vsa of
.mscz (fallback) zijn. Alleen het artefact; de consumer-site zet de
afspeelknop. Zie vsa audio en
formats/audio.md.
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default |
|---|---|---|---|
path |
Ja | .mvsa / .mxl / .vsa / .mscz. |
— |
-o, --output |
Nee | Uitvoer-audio. | <bronnaam>.<formaat> (bijv. lied.mvsa.ogg) |
--section |
Nee | Alleen bij .mvsa: één @sectie-id. |
alle secties |
--musescore |
Nee | MuseScore-executable. | auto-detectie |
--keep-mxl |
Nee | Bewaar tussenliggende playback-.mxl. |
temp (wordt verwijderd) |
Voorbeelden¶
vsa mvsa mp3 examples\mvsa\test-alleluia-toon-8.mvsa --section schets3-oct-doremi
vsa mvsa mp3 lied.mvsa -o generated\lied.mp3
vsa mvsa ogg lied.mvsa
vsa mvsa wav lied.mxl -o generated\lied.wav
vsa mvsa import¶
Alleen voor de werkbank-fase
De importer (mvsa import / mxl import / mscz import) is bedoeld als
bewerk-/startvorm in de werkbank — om van MuseScore/MusicXML naar
bewerkbare .mvsa te komen en die handmatig af te maken. Niet als
kant-en-klare catalogusbron.
Belangrijkste redenen:
- Lettergreepstreepjes — MuseScore-lyrics zetten streepjes tussen
lettergrepen van één woord vaak verkeerd of inconsistente; de canonieke
vorm (
hei-li, spaties vóór-libij breedte) moet je nabewerken. - Lyrics-gaten — noten zonder bruikbare tekst worden lege recite
(
()~/()_); multi-lettergreep op één noot wordt recite( … ). Dat houdt de sync, maar is geen nette zangstuktekst. Een lege recite met ELM-keten (()~&~&.…) exporteert weer als gewoon melisma (alle slots), niet als één noot. - Lossy — MuseScore-layout en partituurdetails vallen weg; succes is pitch/duur/lyrics-equivalentie, niet een publicatieklare partituur.
Na import: controleren, kuisen, valideren — pas daarna (in de bibliotheek) accepteren naar de catalogus.
Elk importbestand krijgt na # Imported: … een ASCII-waarschuwingsbanner
(zelfde tekst via mvsa import / mxl import / mscz import) met een
checklist: woordstreepjes, recite-grenzen, A/T/B-uitlijning, ritme/maten,
metadata. Die banner is geen catalogus-label — hij herinnert eraan dat het
een schets is.
Synopsis¶
vsa mvsa import [-h] [-o OUTPUT] [--pitch {doremi,a-g,vsa,ag-vsa}] [--do PITCH]
[--octave-style {@oct,marker}] [--section SECTION]
[--musescore PATH] [--no-align] path
Beschrijving¶
Importeert een partituur naar .mvsa:
| Bron | Pad |
|---|---|
.mxl / .musicxml / .xml |
Direct geparst (SATB P1–P4) |
.mscz |
MuseScore CLI → temp .mxl → SATB-normalisatie (zelfde explode als mscz mxl) → parser |
Stemhoogten worden in de gekozen --pitch-vorm geschreven (default
ag-vsa); @mode is majeur (aanname); @oct wordt per stem afgeleid.
@do volgt deze volgorde:
--doop de command line (bijv.F4);- bij
.mscz: aantal kruisen/mollen uit MuseScoreKeySig(concertKey); - anders MusicXML
<key><fifths>(na MuseScore-conversie of uit.mxl); - anders fallback
F4als er geen voortekening in het bestand staat.
Lossy t.o.v. MuseScore-layout — succes = pitch/duur/lyrics-equivalentie.
Leesbaarheid van de uitvoer
- Soft-wrap: LSATB-systemen van ongeveer 80 tekens
(
DEFAULT_SYSTEM_SOFT_WIDTH). Eén maat die alleen al langer is blijft één systeem. - Maatnavigatie: vóór elk LSATB-systeem staat
#maat N(N= 1-based startmaat van dat systeem), zodat je makkelijk heen-en-weer kunt tussen.mvsaen maatnummers in PDF / MuseScore. - A/T/B-uitlijning: onderstemmen volgen de L/S-posities op duur (niet
op noot-index of lyrics van A/T/B). Een lange noot die meerdere S-slots
dekt, wordt gesplitst/gepaddet (
c4&-+ hold-); een lyric-loze spacer na zo’n noot steelt geen volgende lettergreep. Dat voorkomt verschoven Bb/T/B bij MSCZ-import waar A/T/B weinig of scheve lyrics hebben. Heeft een onderstem meer toonwissels in dezelfde tijd dan S slots (bijv. S één hele noot, T twee kwarten A→B), dan blijven die tonen als&-melisma; L/S worden met holds/ELM’s mee uitgebreid zodat de sync-telling klopt (geen stille truncate). Onder een recite-positie blijft één slot (L-recite telt als 1); daar kan een onderstem-toonwissel nog wegvallen. Heeft de onderstem minder noten dan S-slots, dan worden hold-slots naar duur verdeeld (gestipte + achtste → drie holds op de lange toon, niet herhaling van de korte). MuseScore-lyrics met streepje in de tekst (- le) tellen als één lettergreep; de melisma-staart blijft hangen. - Same-pitch holds: opeenvolgende dezelfde toonhoogte (ook over maatgrenzen)
wordt op de stemregels als
-geschreven. - Multi-lettergreep lyrics op één noot (spaties,
-, of soft hyphen) worden recite( … )i.p.v. één geplakte lettergreep. Een lone extender-wordt lege recite()~. Trailing.op lyric-tekst wordt weggestript. - Same-pitch recite: opeenvolgende noten met dezelfde toonhoogte én
duur die elk een eenvoudige lettergreep dragen, worden vanaf 3
lettergrepen één recite
( … ). Daarnaast worden lettergrepen direct vóór/na een underlay-recite op dezelfde toon én duur meegenomen (bijv.Ver+(vuld zij …)+met→ één recite). Losse paren zoalswe/genblijven aparte posities. - Woordgrenzen: MusicXML-
syllabicstuurt de groepen. Tweesingles worden alleen gehypheneerd als Pyphen dat bevestigt (met closed-class- en hoofdletter-guards:Be-waar, nietons-heeft/Licht-aan/steun-van/dag-gaan). Eenbegin…end-keten wordt opnieuw gelettergreepd (heb-ben het wa-re); spaties in eenend-lyric horen bij volgende woorden (psalm+zin-gen voor mijn God→psalm-zin-gen voor mijn God). Gebroken MuseScore-ketens: tweedebegintelt alsmiddle(Ja-cob); spaced fragments in recite worden hersteld (we der ke→we-der-ke). Lossesingleervoor of erna mag meedoen (aan-bid-den,he-mel-se-Geest) tenzij de volgende lettergreep een beter woord vormt (ge-loofi.p.v.wa-re-ge). Woordstreepjes tussen L-posities alleen als de rechterkantmiddle/endis (of een recite), plus korte eigennaam-begin (Ja_-cob). Over een maatstreep tussen twee recites:(… wa)- | (re …). - Normaalvorm: standaard schrijft import daarna de canonieke vorm via
mvsa kuiser(lone standaard-~op L weggelaten;~blijft bij&-melisma en na); maatstrepen sync, kolomuitlijning) — zie syntax — canonieke schrijfvorm en semantiek — canonieke layout.
Bij complexe MuseScore-lyrics is soms --no-align nodig (sla kuiser/align
over) — de sync-telling blijft leidend. Pyphen-woordstreep-warnings van
kuiser zijn advies, geen import-fout.
Pitch-vormen bij import
--pitch |
Stemregels | Eindanker per systeem |
|---|---|---|
ag-vsa |
Default. Eerste klinkende noot per LSATB-systeem absolute a–g; daarna EHM | ja (a–g) |
vsa |
Eerste toon absoluut als doremi; daarna EHM | ja (a–g) |
doremi |
Laddergraden | nee |
a-g |
Toonnamen met wetenschappelijk cijfer (bb4, …); alias abc |
nee |
Bij ag-vsa en vsa plakt de import op elke stemregel een eindanker met
absolute toonhoogte (a–g met wetenschappelijk cijfer) direct achter de
laatste maatstreep van elk systeem, bijvoorbeeld |g4 of ||a4. Dat zijn
check-only ankers: na wijzigingen in het .mvsa vangt mvsa validate een
mismatch op (MVSA-BAR-ANKER). Op de lyrics-regel (L:) blijven de strepen
kaal.
Syntax van eindankers: specification-mvsa — eindanker.
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default |
|---|---|---|---|
path |
Ja | .mxl, .musicxml of .mscz. |
— |
--pitch |
Nee | ag-vsa (default), vsa, doremi, of a-g (alias abc). |
ag-vsa |
-o, --output |
Nee | Uitvoer-.mvsa. |
<stem>.import.mvsa |
--do |
Nee | Forceer @do (bijv. F4). Zonder: KeySig / fifths / fallback. |
afgeleid |
--octave-style |
Nee | @oct of marker (nog niet) |
@oct |
--section |
Nee | @sectie-id in de output |
import |
--musescore |
Nee | MuseScore-pad (bij .mscz) |
auto |
--no-align |
Nee | Geen kuiser-normaalvorm (geen align) | uit |
Voorbeelden¶
vsa mvsa import generated\alleluia-schets2.mxl -o generated\alleluia.import.mvsa
vsa mvsa import generated\alleluia-schets2.mxl -o generated\alleluia.import.mvsa --pitch doremi
vsa mvsa import lied.mscz -o lied.mvsa --pitch a-g
vsa mvsa import lied.mscz -o lied.mvsa --pitch a-g --do F4
vsa mvsa import lied.mxl -o lied.mvsa --pitch vsa
vsa mvsa validate lied.mvsa
vsa mvsa normalize¶
Synopsis¶
vsa mvsa normalize [-h] [-o OUTPUT] [--pitch {preserve,doremi,a-g,vsa,ag-vsa}]
[--octave-style {@oct,marker}] [--no-align] path
Beschrijving¶
Canoniseert een bestaand .mvsa-bestand (uitlijning; optioneel
hoogte-spelling). De L-regel (lyrics, ELM, recite, melisma) blijft
semantisch gelijk. Sticky @do / @mode / @oct blijven staan.
Default bij bron .mvsa: --pitch preserve — de namen/notaties van
noten blijven zoals in de bron (bladcijfer, do-re-mi, a–g, EHM, …). Alleen
kolom- en maatstreep-uitlijning gebeurt standaard. Zo blijf je
meerdere schetsen met verschillende spellingen in één bestand intact.
Wil je wél herschrijven naar één vorm, geef dan expliciet --pitch doremi,
a-g, vsa of ag-vsa. (abc is een alias van a-g.)
Import uit een ander formaat (.mxl / .mscz via mvsa import / mxl
import): daar is de default ag-vsa — er is dan geen “bronnotatie” om
te bewaren.
--pitch |
Gedrag |
|---|---|
preserve |
Default voor .mvsa → .mvsa: stemtokens ongewijzigd; wel align |
doremi |
Laddergraden t.o.v. @do / @oct |
a-g |
Toonnamen met wetenschappelijk cijfer (bb4, c5, …); alias: abc |
vsa |
Eerste toon absoluut (doremi), daarna EHM (/, \2, …) |
ag-vsa |
Per LSATB-systeem: eerste noot absolute a–g, daarna EHM; a–g-eindanker op de laatste maatstreep |
Kolom- en maatstreep-uitlijning gebeurt standaard (zelfde regels als
scripts/align_mvsa_columns.py); zet --no-align om dat over te slaan.
Werkplan: mvsa-conversions.
Argumenten en opties¶
| Naam | Verplicht | Betekenis | Default |
|---|---|---|---|
path |
Ja | Bron-.mvsa-bestand. |
— |
--pitch |
Nee | preserve (default), of doremi / a-g / vsa / ag-vsa |
preserve bij .mvsa-bron |
-o, --output |
Nee | Uitvoerpad. | <stem>.normalized.mvsa |
--octave-style |
Nee | @oct (canoniek) of marker (nog niet klaar) |
@oct |
--no-align |
Nee | Geen kolomuitlijning. | uit (wel alignen) |
Output¶
- stdout:
Geschreven: <pad>bij succes. - bestand: genormaliseerde
.mvsa.
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
Normalisatie geschreven. |
1 |
Pad ontbreekt, validatiefout, of normalisatiefout. |
Voorbeelden¶
vsa mvsa normalize examples\mvsa\alleluia-toon-8.canonieke.mvsa -o generated\alleluia.normalized.mvsa
vsa mvsa normalize examples\mvsa\alleluia-toon-8.mvsa --pitch a-g -o generated\alleluia.ag.mvsa
vsa mvsa normalize lied.mvsa --pitch doremi --octave-style @oct
vsa mvsa kuiser¶
Synopsis¶
vsa mvsa kuiser [-h] [-o OUTPUT] [--check] [--pitch {preserve,doremi,a-g,vsa,ag-vsa}]
[--octave-style {@oct,marker}] [--no-align] path [path …]
Beschrijving¶
Authoring-pad naar de canonieke schrijfvorm uit de draft-spec (syntax, semantiek — layout):
- woordstreep-spatie op L (
hei- li→hei-li;le- lublijft); - maatstrepen syncen waar eenduidig (maximale unieke bar-reeks; herpartitioneren via positietelling);
- daarna hetzelfde als
normalize(default--pitch preserve+ kolomalign).
Default schrijft in-place. Gebruik --check als dry-run (exit 1 als er
iets zou wijzigen). Na afloop moet validate geen errors meer geven; bij
conflicterende strepen faalt de kuiser met een duidelijke fout.
Gedrag t.o.v. - / ~ op L (draft-spec):
- Canoniek: lone standaard-lengte zonder
~(impliciet);~wél bij&-melisma (ziel~&~) en na recite-)bij niet-breve duur. Woordstreepje direct vóór de lettergreep (-li), met spaties ervóór bij extra breedte (…_&_ -li). - Invoer: kale ELM-
-mag (o.a. melisma); kuiser herschrijft eenduidige gevallen naar~en laat daarna lone~weg. - Ambigu (
hei- li,li-&--ge): waarschuwing op stderr metbestand:regel:kolom— geen stille collapse naarhei-li. - Pyphen (ontbrekende / verdachte woordstreepjes): advies-warnings;
geen validate-fout. Sync-telling blijft leidend; bij complexe
MuseScore-importlyrics soms
--no-align.
normalize blijft het conversiepad (pitch-herschrijf naar een apart
uitvoerbestand). kuiser is het dagelijkse authoring-commando.
Argumenten en opties¶
| Optie | Verplicht | Beschrijving | Default |
|---|---|---|---|
path |
Ja | .mvsa-bestand(en) of map(pen). |
— |
-o, --output |
Nee | Uitvoerpad (alleen bij precies één bronbestand). | in-place |
--check |
Nee | Geen schrijfactie; exit 1 bij wijziging. | uit |
--pitch |
Nee | Zelfde als normalize (default preserve). |
preserve |
--octave-style |
Nee | Schrijfoctaaf-stijl. | @oct |
--no-align |
Nee | Sla kolomuitlijning over. | uit |
Exit status¶
| Exitcode | Betekenis |
|---|---|
0 |
Klaar (of --check zonder wijziging). |
1 |
Pad ontbreekt, kuiser-/validatiefout, of --check met diff. |
Voorbeelden¶
vsa mvsa kuiser examples\mvsa\alleluia-toon-8.mvsa
vsa mvsa kuiser examples\mvsa --check
vsa mvsa kuiser lied.mvsa -o generated\lied.kuiser.mvsa
vsa mvsa kuiser lied.mvsa --pitch a-g
Zie ook¶
- Draft-spec: specification-mvsa
- Conversieplan: mvsa-conversions
- Voorbeelden: examples/mvsa
- Eenstemmig:
vsa validate,vsa musicxml - Platte gezongen tekst:
vsa text(ook op.mvsa/ MusicXML /.mscz)