Table of contents
The note
The height
The shape
The signs
Signs above the note
Signs on the right of the note
Signs beneath the note
horizontal episemus on several notes
Flat and natural
The glyph
Inside the markup <note>
The neumatic glyph
Basical neumatic glyphs
Puncta inclinata
Indication of the notes
liquescentia and initio debilis
The markup name
Neumatic elements
The entire neume
Longer spaces
Separation bars
Ends of line
Conclusion on the software interpretation of a neume
The simple score
The text
Special characters
Separation bars
Keys and key changes
Metadata of a score
Mandatory elements
Optional elements
The Initial
anotations
style and precise-style
Example
Use of GregorioXML
The goal of the document is to describe a simple usage of GregorioXML to typeset monophonic gregorian chant in square notation. Future extensions are envisaged for ancient notation and polyphony.
The document start by the most precise part, the representation of the note, and then enlarges to the global representation of a score.
The note
To begin with, we must start by the way of representing a note, before going to the glyph. A note is under the markups <note>.
The height
The height of a note is represented between the <pitch> markups, we need two parameters to know the height of a note: the name and the octave it is in.
We indicate the note we want to represent between the <step> markups, in english notation (with the letters a, b, c, d, e, f and g lower-cased).
The octave is indicated between <octave> markups. For some keys there are 3 possible octaves, so it is a number between 1 and 3. The convention is to say that the note of the key is in the second octave. For example if the c key is on the third line, a c on the third line will be in the octave 2.
If we want to represent the c of the second octave we will write:
<pitch>
<step>c</step>
<octave>2</octave>
</pitch>
The shape
A note can have several possible shapes. To unify the names, there are restrictions on the names that can be used. They are the following:
![]() | punctum |
|---|---|
![]() | punctum-inclinatum |
![]() | stropha |
![]() | oriscus |
![]() | oriscus-reversus |
![]() | quilisma |
![]() | virga |
In the beginning of some books, there are explanations on the way to sing gregorian chant, and this explanation is printed with special notation: empty notes. There are thre shapes:
![]() | punctum-cavum |
|---|---|
![]() | linea-punctum |
![]() | linea-punctum-cavum |
The virga with the queue on the left theorically never appears inside a glyph.
![]() | left-virga |
|---|
Another shape appears sometimes, the square without style:
![]() | quadratum |
|---|
The shape is between <shape> markups, for example if we want to represent a note with the shape of a punctum it will be <shape>punctum</shape>.
The signs
Notes can have several signs above, beneath and on the right of them. These signs are represented between <sign> markups. These markups contain up to three other markups that must follow this order: <top>, <right> and <bottom>.
The signs above the note
There is mainly one sign above the note: the horizontal episemus, which name will be h-episemus.
![]() | h-episemus |
|---|
The horizontal episemus is often above several notes. This this case we do not put a horizontal episemus abover every note, but we use the <multi-note-h-episemus> markup which is described later.
However, there are cases in which we may use the two representations: it are the cases of small horizontal episemus beneath long ones.
Other signs may appear, in particular at the beginning of books explaining the interpretation:
circulusis a circlesemi-circulusis half a circleaccentusis an accent that may be large
circulus, semi circulus and accentus
The signs on the right of the note
There are two possible signs on the right of the note: punctum mora is a dot after the note, and augmentum duplex is composed of two dots aligned vertically, after the notes.
Inside the <right> markup, the will be indicated by the names augmentum and augmentum-duplex.

punctum mora (
augmentum) and augmentum duplex
The signs beneath the note
Two signs are possible beneath the noteIl y a deux signes possibles sous la note : l'épisème horizontal et l'épisème vertical. Parfois un substitut d'épisème est utilisé. Les noms de ces signes sont h-episemus, v-episemus et circumflexus.
There can be only one sign between the top, right and bottom markups. I have never seen a case in which two would be necessary.
If we want to represent a not with a horizontal episemus, a punctummora and a vertical episemus we will note inside the <note> markup, after <pitch>:
<sign>
<top>h-episemus</top>
<right>augmentum</right>
<bottom>v-episemus</bottom>
</sign>
Horizontal episemus on several notes
Horizontal episemus are often above several notes. To represent these, we use the <multi-note-h-episemus> markups, that have one attribute: the position of the note according to the episemus. The first note of an horizontal episemus on several notes will have this attribute with the value beginning; a note inside it middle and the final note of the episemus end.
A difficulty here is the case of two notes one on another, for examples in a podatus. We do not really impose a restriction there, we can make the episemus start on the first or the second note of the podatus, and it the same for the end: we can make the episemus end on the note of the podatus that we want.
For example, if the C key is on the second line:
<note>
<pitch>
<step>b</step>
<octave>2</octave>
</pitch>
<multi-h-episemus position="beginning"/>
</note>
<note>
<pitch>
<step>c</step>
<octave>2</octave>
</pitch>
<multi-h-episemus position="middle"/>
</note>
<note>
<pitch>
<step>b</step>
<octave>2</octave>
</pitch>
<multi-h-episemus position="end"/>
</note>
The flat and the natural
The problem of the alterations is the following: we need to represent them inside the <note> markups, for music analysis tool to be able to see that a note is altered. But we also need to think to the score representation softwares that will represent the glyph, without representing the alteration on every altered note. That's why we chose to represent alterations in two different places.
The glyph
We represent the glyph of the alteration on the same level as the glyphs (see glyph section):
<flat>
<step>d</step>
<octave>1</octave>
</flat>
The natural is represented the same way, with the markups <natural> instead of <flat>
Inside the <note> markups
The notes that are flated have an additional <flated /> markup inside their code><pitch> markups:
<pitch>
<step>b</step>
<octave>2</octave>
<flated />
</pitch>
The naturals are, of course, never represented inside the note.
The neumatic glyph
Basic neumatic glyphs
By neumatic glyph we understand the position of the notes, the link between them and the position of the queues. We do not take the shape of the notes into consideration inside the glyph. When several shapes are possible for a note, we will need to look inside the <shape> markup of this note.
liquescentia may also change the shape of a neumatic glyph, we will see that later.
The type of the glyph is given inside <type> markups. To ease the interpretation of GregorioXML, there is a restriction on the type that we can give to a glyph. The basic glyph that contains only one note (of any shape) is called punctum. Here is a list of the other glyph type possible:
![]() | pes |
|---|---|
![]() | pes-quadratum |
![]() | clivis |
![]() | torculus |
![]() | porrectus |
![]() | torculus-resupinus |
![]() | porrectus-flexus |
![]() | torculus-resupinus-flexus |
The pes quadratum is a new shape invented by a monk of the abbey Sainte-Madeleine du Barroux to determine precisely the translation of the podatus from ancient notation to square notation. This is also the type used when the first note of a podatus is an oriscus. This shape can also be encountered with the a quilisma as first note, but it is a very rare case.
There are other shape that never exist alone, that is to say that they are always followed by a particular glyph, often a subbipunctis deminutus, but they are very rare:
![]() | right-pes |
|---|---|
![]() | right-porrectus |
To finish with, a last glyph must be taken into consideration. Theorically it must not be used, but we prefer to give it a name, for our representation to be realy complete.
![]() | torculus-et-pes |
|---|
Puncta inclinata
There are glyphs that make an exception to the definition that we gave earlier. They are the puncta inclinata. They are a sequence of puncta inclinata that (???), and very often composed of only ascending or descending ??> notes. We call them x-puncta-inclinata-ascendens or x-puncta-inclinata-descendens, where x is their number. The other possibility is the trigonus: three puncta incliata in which the central one is the highest. Other sequences of puncta inclinata will be simply called puncta-inclinata.
3-puncta-inclinata-descendens
The climacus is a one-note (with the shape
virga) followed by a 2-puncta-inclinata-descendens.
Indication of the notes
We represent the glyphs inside <glyph> markups. Inside those markups, the first markup is <type>, in which we indicate the type of the glyph (it has to be a name that we already talked about).
After <type>, <note> markup are present, as many as notes in the glyph.
Here is an example if the C key is on the second line:
<glyph>
<type>porrectus</type>
<note>
<pitch>
<step>d</step>
<octave>2</octave>
</pitch>
</note>
<note>
<pitch>
<step>c</step>
<octave>2</octave>
</pitch>
</note>
<note>
<pitch>
<step>d</step>
<octave>2</octave>
</pitch>
</note>
</glyph>
liquescentia and initio debilis
The liquecences are indicated by the <figura> markups, that can contain four different words:
deminutusfor diminutive liquescentiadescendensfor auctae increasing liquescentiaascendensfor descendae increasing liquescentia
The initio debilis are represented in another markup: <initio-debilis />. This markup is situated between <type> and <note>markups.
The puncta inclinata can also have liquescentia (but not initio-debilis).
In some cases there is a lot iof difference between a glyph and the glyph with liquescentia. There are even sometimes different ways to represent the same glyph with the same liquescentia.
Another important thing is that the pes quadratum, pes and right-pes have the same ??? liquescentia. It is not advised to give the glyph the type right-pes in this cas. The most logical is pes.
Auctae increasing liquescentia of the pes
The name markup
Sometimes a glyph can have a special name, it may be interesting to indicate it, even if it not mandatory for the interpretation, for example if we type this:
The name pes quassus won't appear anywhere, this is the kind of things that may appear in the <name> markup:
<glyph>
<type>pes</type>
<name>pes quassus</name>
<note>
<pitch>
<step>c</step>
<octave>2</octave>
</pitch>
<shape>oriscus</shape>
</note>
<note>
<pitch>
<step>c</step>
<octave>2</octave>
</pitch>
</note>
</glyph>
You can notice that here we could have set the type to pes-quadratum.
The neumatic elements
The neumatic elements are the most simple markups: they are only a sequence of neumatic glyphs. Before this sequence there may be a <name> markup, as a lot of elements do have names.
Here is a very simple example:
<element>
<name>salicus auctus descendens</name>
<glyph>
<type>one-note</type>
<name>punctum quadratum</name>
<note>
<pitch>
<step>e</step>
<octave>2</octave>
</pitch>
<shape>punctum-quadratum</shape>
</note>
</glyph>
<glyph>
<type>pes-quadratus</type>
<name>pes quassus</name>
<figura>auctum-descendens</figura>
<note>
<pitch>
<step>d</step>
<octave>2</octave>
</pitch>
<shape>oriscus</shape>
</note>
<note>
<pitch>
<step>e</step>
<octave>2</octave>
</pitch>
</note>
</glyph>
</element>
The entire neume
The neume is basically a succession of neumatic elements. So inside the <neume> markups we can find a sequence of <element> markups. However, sometimes other things may appear between two <elements>.
Longer spaces
Spaces are specially important in gregorian chant. This importance comes from the fact that when monks translated the ancient neumes in square notation, the equivalence was not perfect, and some ancient figureshave been translated with a larger space between two notes. It is necessary to take that phenomenon into consideration for the conservation of all the datas the digital format.
by default there is no need to put spaces between elements, but sometimes larger spaces are present. When it is the case, we must put the <larger-neumatic-space/> markup between two elements.
Notes with non space, then normal space between two elements and finaly a larger neumatic space
Separation bars
Inside a neume, there may be separation bars. Even if all of them cannot appear, we will present them all now.
To represent a bar between two neumatic elements, we write <bar>. Inside these markups, we only find the <type> markups, in which there can only be five words:
minima: a small bar on the top lineminor: a bar on the two middle linesmaior: a bar on all linesfinalis: a double bar on all lines-
virgula: an apostrophe on the top line (or the bottom line, according to the style)
virgula, minima, minor, maior et finalis
The spaces before and after the bar must be set automatically by the sotfwares that will interprete GregorioXML.
End of line
Logically sotfware can handle automatically the end of lines, but it may be useful to indicate them in XML files, for example for conversions to OpusTeX.
End of line may appear between neumes, or even inside them, between two neumatic elements (but not between two glyphs).
The two cases are identical: the end of a line is indicated by the markup <end-of-line />. The software that will interprete GregorioXML must determine the custo automatically.
Conclusion on the software interpretation of a neume
If a software wants to interprete GregorioXML to print a result on the screen, it must start by interpreting the glyph, looking at the type (<type>) and the liquescentia (<figura>), to determine the position of the notes and the bars linking them. It must then look at the shapes of the notes (<shape>) for the notes that can be of several different shapes.
It must do the same for each glyph of the neumatic element, without space between them, and then handle the spaces(<larger-neumatic-space/>), bars (<bar>) and eventually the end of lines (<end-of-line>) between elements to form the complete neume.
The simple score
Let's look at a simple score, that is to say a monodic score.
The text
To each syllable corresponds a neume, we have consequently thought to a <syllable> markup containing a markup <text> and then a <neume> markup.
The <text> markup has an attribute position which is the position of the syllable inside the word: if the syllable is the first of the word it will be beginning, if it is inside the word, middle and if it is the last, end. If the word has only one syllable, the attribute will be set to one-sylable.
Here is an example (we don't write the neume to gain some place):
<syllable>
<neume> ... </neume>
<text position="beginning">ec</text>
</syllable>
<syllable>
<neume>
...
</neume>
<text position="end">ce</text>
</syllable>
The special characters
Sometimes the text contains characters that are not in the Unicode table. The special characters used in gregorian chant are the y accentuated, the æ accentuated, the œ accentuated, the barred R (pour Répons), the barred V (pour verset) and the barred A (pour antienne). In these signs, the œ accentuated and the barred A are not in the unicode table. There are also other accentuated characters, and somtimes letters with tilda.
The insertion of special characters in the text, in the cases where it is not possible with the keyboard, will be done thanks to the <special-character> markups, containing a code identifying the character:
'ofor o accentuatedoefor œ'oefor œ accentuated/Rfor barred R barré~nfor a n with tilda
These codes are of course adaptable to all other letters.
barred A, V and R
Separation bars
Separation bars are often between neumes. We can consequently put some <bar> markups in a separate <syllable> markup, containing a <type> markup with the same name as in the pervious section on bars. The text under the bar is the one of the syllable.
Keys and key changes
The keys are defined inside the meta-data of a score, but there can be key changes inside a score, which are represented the same way.
The key changes are represented with a <clef-change> markup, that contains the <sign>, <line> and optionally <flated/> markups. The <sign> markup contains the sign of the key: c for a c key and f for a f key.
The <line> markups contain the number (between 1 and 4) of the line on which is the key, when 1 is the top line. If there is a flat on the key, it is indicated with the <flated/> markup.
Here is an example of key change:
<clef-change>
<type>f</type>
<line>3</line>
</clef-change>
Possible keys in gregorian chant
Metadata of a partition
The metadata of a partition are indicated inside the <score-attributes> markups, the first markup inside the <score> markup. They contain a lot of elements in any order. Most are optional, but some are importants:
Mandatory elements
The key is indicated between <clef> markups, that behave exactly the same way as <clef-change> markups.
The name of the piece is indicated inside the <name> markups. Most of the time the name of the piece is constituted of the office part followed by the first words of the text, for example Introïtus Pópulus Sion. Here Introïtus is the part of the office and Pópulus Sion are the first words of the piece.
The <type> markups contain the type of the partition: mono-voice, simple-polyphony or polyphony. mono-voice corresponds to the score that we are describing, simple-polyphony allows to have several neumes in one syllable, and polyphony allows to make real polyphony.
Optional elements
The <author> and <date> markups contain the name of the author and the date of the writing. For most of the pieces, theses datas are unknown, these markups are mandatory.
The <manuscript> markups contain the name of the manuscript the piece is transcripted fromcontiennent le nom du manuscrit duquel est tiré la pièce. et les balises <storage-place> contiennent l'endroit où est stocké le manuscrit.
Les balises <reference> contiennent la référence de la pièce. Chaque pièce ancienne a une référence unique.
<translator> et <translation-date> contiennent respectivement le nom de celui qui a saisi la partition informatiquement et la date de cette saisie.
The initial
Initials are indicated between <initial> markups, that contain the <letter> markup (indicating the leter represented by the initial), <type> (representing the width of the initial) and <style> representing the style.
Three width are often encountered in manuscripts: the very large intiail at the beginning of some books (type huge), the initials at the beginning of chapters (type large) and the normal initials (type normal).
You can notice that the first letter after an initial is upper-cased. We consider that the word starts with the first letter under the score lines, so we will note <text position="beginning"> but not <text position="middle"> for the first syllable after the initial.
The anotations
What we call anotation is what is represented at the left of the first score line, above the initial (cf. example). It is often just the mode and then an abreviation for the part of the office, so it can generally be determined without any precision. However there are exceptions, we need to be able to precise these anotations.
The representations of these anotations is made unside <anotation> markups. There is one of these markups per line. The number of these lines is by the way an attribue of the <anotation> markup. There is never more than two lines of anotation, but there may be an anotation at the lever of the initial, we consider that the initial is on the line 3.
Inside these <anotation> markups we put text, including special characters. To format the text we can put some <style> markups that have a format attribute. There is no restriction for this attribute, but the commonly used are italic, bold and small-capitals.
Here is an example:
...
<anotation line="1">
1. <style format="italic">P
<special-character>'o </special-character>
pu</style>
</anotation>
<anotation line="2">
<style format="small-capitals">Offert.</style>
</anotation>
...
style and precise-style
The style determines the graphys that will be used for the different glyphs, the type of font that will be used we could say. In general there are only few variations between the different styles, that's why the <style> is not mandatory.
However there may be really different graphys, like in the line from a book the 18th century:
Describe the small changes that may appear between the styles is possible with the <precise-style> that can contain any markup, to describe all possible styles.
An example of markup that we can put inside it is <virgula-position>, that can be bottom or top. Indeed in some books the virgula is on the bottom line and in other on the top line.
Another example would be <v-episemus-style>, that determines if we use classical vertical episemus or episemus substitutes (circumflexus).
We can also indicate some shapes, for example the shape of the toruclus resupinus deminutus or of the subpunctis deminutus that may vary.
Example
Here is an example on what we have seen on the metadatas of a score:
<score>
<score-attributes>
<name>Introït Populus Sion</name>
<office-part>introitus</office-part>
<anotation>
<style format="small-capitals">Offert.</style>
</annotation>
<type>mono-voice</type>
<author>Elie Roux</author>
<date>2006</date>
<initial>
<letter>P</letter>
<type>normal</type>
</dropped-initial>
<clef>
<sign>c</sign>
<line>3</line>
</clef>
</score-attributes>
<syllable>
<neume>
...
</neume>
<text="beginning">Ó</text>
</syllable>
...
</score>























