User Tools

Site Tools


Table of Contents


This is a proposal for a nabc input syntax. It should enable users to type the neumes of all types of manuscripts, including:

  • St Gall
  • Laon
  • Benevento
  • Britanny (Chartres)
  • Aquitana

The idea is to have a syntax that will enable the description of all possible glyphs in all possible notations. As you will see, the syntax is quite complete and not all “fields” are mandatory, this does not mean that the logic of glyph presentation will be poor: the font can contain already assembled glyphs (for subpuncta for example).

All types of neume writings will have their table of correspondance to make the different variants explicit, and users will have to refer to them when typing neumes of a certain type.

General Syntax

The proposal is to have the following syntax for each neume:



With type being two letters, from the following:

  • vi (virga)
  • pu (punctum)
  • ta (tractulus)
  • gr (gravis)
  • cl (clivis)
  • un (uncinus, Laon only)
  • pv (pes volubilis, Benevento only)
  • pe (pes)
  • po (porrectus)
  • to (torculus)
  • ci (climacus)
  • sc (scandicus)
  • pf (porrectus flexus)
  • sf (scandicus flexus)
  • tr (torculus resupinus)
  • st (stropha)
  • ds (distropha)
  • ts (tristropha)
  • tg (trigonus)
  • bv (bivirga)
  • tv (trivirga)
  • pr (pressus maior)
  • pi (pressus minor)
  • vs (virga strata)
  • or (oriscus)
  • sa (salicus)
  • pq (pes quassus)
  • ql (quilisma, with 3 loops)
  • qi (quilisma, with 2 loops)
  • pt (pes stratus)


Alteration has the following possible values:

  • (nothing)
  • - (episemus)
  • ~ (deminutus)
  • < (auctus ascendens)
  • > (auctus descendens)
  • S (alteration of shape, in Dom Cardine's table)
  • G (alteration of grouping, idem)
  • M (alteration of melody, idem)


The previous two switches don't take into consideration all possible neumes, some are variations of the same neume, so we must take into account severa variants. Variant can thus be nothing (for the default glyph) or a number between 1 and 9, to take into account the variations.


For semi-diastematic notation (typically Beneventan notation), the ambitus is important. It can be indicated with amX, with X being 1 to 3 numbers between 1 and 5. For example a podatus with an ambitus of 3 will have am3 in its description, and an (hypothetical) climacus with ambitus 1 then ambitus 3 then ambitus 2 will have am132 in its description.


For neumes where the place of the height of the neume relative to the others, is important 1), it is necessary to be able to describe it.

When necessary, the user can add hN where N is the letter of the first note of the glyph, the same as in gabc (between a and m).

As there is no reference, the height is of course very approximative. We shall consider that the default is the height f.

Combined neume groups

When multiple base neume glyphs are combined together, drawn as one glyph, the neumes are joined together with ! character. E.g. a torculus combined with clivis and porrectus with episema is written as to!cl!po-. If height needs to be specified, it should be specified for all the base neumes, like tohh!clhh!po-hh. Subpuncta, prepuncta and significative letters go after the whole group in that case.


For adiastematic notation, the subpuncta can be added at the end, with su followed by the number of subpuncta (between 1 and 9).

For semi-diastematic notation, this is more difficult, as the relative height of the puncta can change. So a list of puncta can be give, with the following syntax: suX1suY1suZ1, with X, Y and Z being the height of the puncta. No more than 10 puncta can be given.

If a shape of the particular puncta needs to be specified, it can be specified by a modifier after the optional hight letter.

  • (nothing) gives the shape of punctum
  • t gives the shape of tractulus
  • u gives the shape of tractulus with episema
  • v gives the shape of tractulus with double episema
  • w gives the shape of gravis
  • x gives the shape of (liquescens) stropha
  • y gives the shape of gravis with episema

If pp is used instead of su, it describes prepuncta of the neume instead of subpuncta.

littera significativa

The possible letters are the following2)3):

  • c celeriter
  • t tenere
  • s sursum
  • l levare
  • x expectare
  • + sign of repetition
  • a augete
  • al altius
  • am altius mediocriter
  • b bene
  • cm celeriter mediocriter
  • co coniunguntur
  • cw celeriter (wide form)
  • d deprimatur
  • e equaliter
  • eq equaliter
  • ew equaliter (wide form)
  • f fastigium
  • fid fideliter
  • fr frendor
  • g gutture
  • h humiliter
  • hp humiliter parvum
  • hn humiliter nectum
  • i iusum
  • im iusum mediocriter
  • iv iusum valde
  • k klenche
  • lb levare bene
  • lc levare celeriter
  • len leniter
  • lm levare mediocriter
  • lp levare parvum
  • lt levare tenere
  • m mediocriter
  • md mediocriter (Laon)
  • moll molliter
  • n nectum
  • nl non levare
  • nt non tenere
  • p parvum
  • par paratim
  • pfec perfecte
  • pm parvum mediocriter
  • q equaliter
  • sb sursum bene
  • sc supra celeriter
  • sc sursum celeriter
  • simil similiter
  • simul simul
  • sj subjice
  • sjc subjice celeriter
  • sjcm subjice celeriter quam mox
  • sm sursum mediocriter
  • st sursum tenere
  • sta statim
  • su supra
  • tb tenere bene
  • th tenere humiliter
  • tm tenere mediocriter
  • tw tenere (wide form)
  • v valde
  • ve vel
  • vol volubiliter

To indicate the letter, one should write lsXP where X is one of the possibilities above. Y stands for a digit specifying the relative position of the significant letter against the neume:

  • 1 letter is at the top left corner of the neume
  • 2 letter is above the neume
  • 3 letter is at the top right corner of the neume
  • 4 letter is to the left of the neume
  • 6 letter is to the right of the neume
  • 7 letter is at the bottom left corner of the neume
  • 8 letter is below the neume
  • 9 letter is at the boottom right corner of the neume


To insert a smaller space between nabc neumes, use / character, to insert larger space use //. /// then stands for a larger space followed by smaller space. To add negative space, use ` and/or `` instead of / and/or //.

This is generally useful for the first nabc neume above some square note neume group, if there is plenty of space before that, but not enough space for the nabc neumes.


This proposal leads to a syntax that is simple by default, but can be very precise. For example:

  • vi gives the default virga
  • pf- gives porrectus flexus with an episemus
  • po-2 gives the second variant of the porrectus with episemus (see Dom Cardine's table)
  • pesu2lsc2 gives a pes subbipunctis with the c letter above it
  • vihgsuf1sue1 gives virga at height g, with two subpuncta, at height f and e
semi-diastematic notation, see this 11th century explicit example, the notation was quite close to gabc at that time!
see the very complete Manuale di canto gregoriano by Fulvio Rampi and Lattanzi
also see this diploma thesis, on pages 141 and 142
language.txt · Last modified: 2015/05/09 11:05 by jjelinek