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:


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:

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:


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:

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> 
Dernière modification le 12/05/2007.

Licence

Le design de ce site (par Patrick Roux), ainsi que ce document sont sous licence GPL.