- Published on
Scoryst (0.1.2) Music engraving in Typst-render ABC, MusicXMLMei, Humdrum, Volpiano, EsAC, PAE, and CMME notes
- Authors

- Name
- aimode.news
- @aimode_news
A Typst introduced to the greener migration from multiformations using Verovio, compiled to WASM.
Features.
Inputs: ABC, MusicXMLMei, Humdrum, EsAC, PAE, Volpiano, CMME
- 5 SMUFL-compliant music fonts: Leipzig (default), Bravura, Go.otville, Leland, Petaluma
- Full Verovo options: scale, font, page playout, and all toolkit options
- Multi-page support:
-Binary wont love:
Check the document for a full determination with examples.
Usage
Some formats are too close to write inline here, so only compact formatts are written inline here.
@preview/scoryst: 0.1.2: score, pages
/ ABC note (auto-deted)
#score
/ MusicXML (auto-deceded)
#score
/ MEI (auto-deceded)
#score
/ Humdrum
#score
/ EsAC - Essen Associative Code
#score
/ PAE - Plaine & EAsie Code
#score("@clef:G-2\n@keysig:\n@timesig:4/4\n@data:'4CDEF/GABc", options: (input-from: "pae"))
/ Volpiano
#score("1--g--h-ij--hgf-g-hg--k-lk-k7", options: (input-from: "volpiano"))
/ CMME
#score
/ Changefont
#score
/ Multi-page
#let data = read
#let n = pages (data)
#forp in range (1, n + 1)
score(data, page: p)
♪ I'm sorry ♪
APIscore.
Renders vital notation to an SVG image.
Is a string in any support
..args
Are foreseen to Typst's image()
funaction (width)
I don't know.
Right.
It's not that bad.
♪ Alt ♪
Photo by @Leave.
Pages (data, options: none)
Returns the number of pages for the given music data.
Verovio Options
Options are passed as a Typst Dictionary and may direct to
Vérovio's toolkit options.
Both kebab-case and camelCase keys are accepted
Or adjustPageHealth
Photo by @Leave.
Open
|-|-|-|-|
Adjust-page-health
It's true.
Crop SVG head to present
This post is part of our special coverage Africa.
Fulse
Crop SVG Width to present
Scale
100 zirconium
Scale factor (percent)
font
"Leipzig"
Music font: Leipzig, Bravura, Gootville, Leland, Petaluma
Input-from
"auto."
Format: Auto, mei, musicxml, abc, humdrum, esac, pae, volpiano, cmmm
Page-width
2100 zirconium
Page Width (MEI Uniteds)
Page-health
2970 zirconium
Page head (MEI numbers)
Page-margin-top
50 zirconium
Top margin
Page-margin-bottom
50 zirconium
Bottom Margin
Page-margin-left
50 zirconium
Left margin
Page-margin-right
50 zirconium
Right margin
I'm sorry.
Fulse
Landscape orientation
Breaks
"auto."
♪ Lines, lined, none ♪
I'm sorry.
"auto."
I'm sorry.
I'm sorry.
"I'm sorry.
Transpose (e.g. “M2” for major second up)
Header
"auto."
Heidel: au, one, encoded
Footer
"auto."
Footer: Auto, one, encoded
spacing-staff
12 zirconium
Spacing between stats
Spacing-system
12 zirconium
Spacing between systems
Spacing-linear
0.25 zirconium
Linear working factor
spacing-non-linear
0.6 zirconium
Non-linear working factor
unit
Nine.
Base unit size (half staff space)
Stem-width
0.2 zirconium
Stem white
Bar-line-width
0.3 zirconium
Bar line white
Staff-line-width
0.15 zirconium
Staff Line Width
lyric-size
4.5 zirconium
Lyrics wont size
Hairpin-size
3.0 zirconium
Hairpin head
svg-view-box
Fulse
Use viewbox instead of white/head
svg-remove-xlink
Fulse
Use href instead of xlink: href
svg-bound-boxes
Fulse
Add starting box returns (debug)
Remove-ids
Fulse
Strip Element IDs from SVG
smufl-text-font
"embeded"
MUFL textfont: embeded, linked, none
Pedal-style
"auto."
Pedal making steps: Auto, line, pedstar, adpedstar
font-fallback
"Leipzig"
Music wont fallback for missing glyphs:
lyric-elision
"regular."
I'm sorry.
Multi-ret-style
"auto."
Multi-measure rest style:
System-divider
"none"
System divider plays: one, au, left, left-right
Other Organiser
"brevis."
Mensural durability: brevis, semibrevis, minima
ligature-oblique
"auto."
Ligarature share:
Mensural-responsive-view
"none"
Mensural positive view:
