MML example markup

Musorgsky's Boris Godunov

Last updated: February 2001

NOTE
Although the markup follows music notation, MML is not primarily intended for notation. Delivery should also be possible through synthetic devices.
The images serve as reference only to facilitate understanding of MML.

View this example as an XML file.

The markup below is only for the first page of the score. Markup is thus done as if the first page is the complete score.

<?xml version="1.0"?>
  <?xml-stylesheet href="../../style/music.css" type="text/css"?>
  <mml xmlns="http://www.musicmarkup.info/dtd">

<head>
  <title>Boris Godunov</title>
  <meta http-equiv="Content-Type" 
      content="text/mml; charset=iso-8859-1"/>
  <meta name="description" 
      content="An Opera in 4 Acts and a Prologue by MP Musorgsky. 
      Arranged and Orchestrated by NA Rimsky-Korsakov. 
      Full Orchestral Score. Unabridged Edition"/>
  <meta name="composer" 
      content="MP Musorgsky"/>
  <meta name="arranger" 
      content="NA Rimsky-Korsakov"/>

  <link rel="stylesheet" href="mymain.css" type="text/css"/>

  <band profile="classicrim.bnd" href="http://www.classyband.org/profiles/" />

  <classes>
      .basic {
      key: Fs Cs Gs Ds;
      time: 4:4;
      staff: C
  }
  </classes>
</head>

mml | head | title | meta | link | classes | band
profile | rel | href

First three staffs: Piccolo, Flute, Oboe

<song>
    <notation>
      <text style="ABC">Andante</text>
    </notation>

song | text

The position and font of the text is declared in a style sheet.

<!-- === Piccolo === -->

<instrument type="piccolo">
    <notation>
      <text lang="it" style="XYZ">Flauto Piccolo (III)</text>
    </notation>

<div id="Piccolo">
  <upbeat>R </upbeat>
  <bar barid="pic-1">R </bar>
  <bar barid="pic-2">R </bar>
  <bar barid="pic-3">R </bar>
  <bar barid="pic-4">R </bar>
  <bar barid="pic-5">R </bar>
</div>

</instrument>

A division (called "one") is declared spanning 5 bars (bars 1-5). This division is recalled later on.

<!-- === Flute === -->
<instrument class="basic" id="flute" type="flute" 
  repeat="piccolo">

    <notation>
      <text lang="it" style="XYZ">2 Flauti (I.II)</text>
    </notation>
</instrument>

The contents of class "one" (declared in a division) is called upon to be repeated here.

<!-- === Oboe === -->
<instrument class="basic" type="oboe" 
  repeat="piccolo">
    <notation>
      <text lang="it" style="XYZ">Oboe I</text>
    </notation>
</instrument>

bar | div | instrument | text
id | repeat

Staff for Alto Oboe

<!-- === Alto oboe === -->
<instrument class="basic" type="alto oboe">

      <text lang="it" style="XYZ">Oboealto (II)</text>

<bar barid="ob-1">G. A:4 
    <notation>
      <slurbegin id="oboe-s1" beat="1" />
    </notation>
</bar>

<bar barid="ob-2">B (A 3G):8 C C:8 
    <notation>
      <slurend end="oboe-s1" beat="3" />
      <slurbegin id="oboe-s2" beat="3" />
      <slurend end="oboe-s2" beat="4" />
    </notation> 
</bar>

In bar 1 a slur starts on the G note. It ends on the 3rd beat of bar 2, note C, and another slur begins on that note. In this case it is not necessary to declare slur id's as they do not overlap.

<bar barid="ob-3">3G (B 3G):8 C B:8
    <notation>
      <slurbegin id="oboe-s3" beat="1" /> 
      <slurend end="oboe-s3" beat="4" />
    </notation>
  </bar>

<bar barid="ob-4">(E D C B) D C:8 (D C):16
    <notation>
      <slurbegin id="oboe-s4" beat="1" />
      <bindbegin id="oboe-b1" beat="1" />
      <bindend end="oboe-b1" beat="2.5" />
      <bindbegin id="oboe-b2" beat="4" />
      <bindbegin id="oboe-b3" beat="4.5" />
      <bindend end="oboe-b2" beat="4.7" />
      <bindend end="oboe-b3" beat="4.7" />
    </notation>
</bar>

Note the nested bind elements.

<bar barid="ob-5">3G 3F (3G B A C):8
    <notation>
      <slurend end="oboe-s4" beat="3" />
      <slurbegin id="oboe-s5" beat="3" />
      <bindbegin id="oboe-b4" beat="3" />
      <bindend end="oboe-b4" beat="4.5" />
    </notation>
</bar>

</instrument>

bar | bind | instrument | slur

Staffs for Clarinet, Fagot and Cornette

<!-- ======= Clarinet ======== -->

<instrument type="clarinet">
    <notation>
      <text lang="it" style="XYZ">3 Clarinetti in la I</text>
    </notation>
<div id="Clarinet" key="Fs">

<bar barid="clar-1">R </bar>
<bar barid="clar-2">R </bar>
<bar barid="clar-3">R </bar>
<bar barid="clar-4">R </bar>
<bar barid="clar-5">R </bar>

</div>

</instrument>

Another class is declared (called "two") within the division. The content of this devision will be recalled for the next instrument.

<!-- === Clarinet 2 === -->

<instrument type="clarinet 2" repeat="Clarinet">
    <notation>
      <text lang="it" style="XYZ">3 Clarinetti in la II.III</text>
    </notation>
</instrument>
<!-- === Fagot === -->
  <instrument key="Fs Cs Gs Ds" noteset="3" type="fagot">
    <notation>
      <text lang="it" style="XYZ">2 Fagotti</text>
    </notation>

<bar barid="fagot-1">C. D:8 
    <notation clef="bass">
      <slurbegin id="fagot-s1" beat="1" /> 
      <bindbegin id="fagot-b1" beat="2" />
    </notation>
</bar>

<bar barid="fagot-2">E. (D C):8 F F:8
    <notation>
      <bindend end="fagot-b1" beat="2.5" />
      <slurend end="fagot-s1" beat="3" /> 
      <slurbegin id="fagot-s2" beat="3" />
      <slurend end="fagot-s2" beat="3.5" /> 
    </notation>
</bar>

<bar barid="fagot-3">C (E C):8 F E:8
    <notation>
      <slurbegin id="fagot-s3" beat="1" />
      <slurend end="fagot-s3" beat="4" />
      <bindbegin id="fagot-b2" beat="1" />
      <bindend end="fagot-b2" beat="2.5" />
      <bindbegin id="fagot-b3" beat="2" />
      <bindend end="fagot-b3" beat="2.5" />
      <bindbegin id="fagot-b4" beat="3" />
      <bindend end="fagot-b4" beat="4" />
    </notation>
</bar>

<bar barid="fagot-4">(4A G F E):8 G F (G F):16
    <notation>
      <slurbegin id="fagot-s4" beat="1" />
      <bindbegin id="fagot-b5" beat="1" />
      <bindend end="fagot-b5" beat="2.5" />
      <bindbegin id="fagot-b6" beat="4" />
      <bindend end="fagot-b6" beat="4.7" />
      <bindbegin id="fagot-b7" beat="4.5" />
      <bindend end="fagot-b7" beat="4.7" />
    </notation>
</bar>

<bar barid="fagot-5">C B C E D F
    <notation>
      <slurend end="fagot-s4" beat="2" />
      <slurbegin id="fagot-s5" beat="3" />
      <bindbegin id="fagot-b8" beat="3" /> 
      <bindend end="fagot-b8" beat="4.5" />
    </notation>
</bar>
</instrument>
<!-- ===== Cornette ======= -->
<instrument key="C" type="cornette" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">4 Corni in fa</text>
    </notation>
</instrument>
<!-- === Cornette 2 === -->
<instrument key="C" type="cornette" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">4 Corni in fa</text>
    </notation>
</instrument>

Staffs for trumpet, trombone and tuba

<!-- === Trumpet === -->
<instrument key="C" type="trumpet" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Trombe I.II in si</text>
    </notation>
</instrument>
<!-- === Trumpet 2 === -->
<instrument key="C" type="trumpet" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Trombe III in la (c-alta)</text>
    </notation>
</instrument>
<!-- === Trombone === -->
<instrument clef="bass" type="trombone" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Tromboni</text>
    </notation>
</instrument>
<!-- === Trombone 2=== -->
<instrument clef="bass" type="trombone" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Tromboni</text>
    </notation>
</instrument>
<!-- === Tuba === -->
<instrument clef="bass" type="tuba" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">Tuba</text>
    </notation>
</instrument>

Staffs for timpani

<!-- === Timpani === -->
<instrument clef="bass" type="timpani" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Tromboni</text>
    </notation>
</instrument>
<!-- === Timpani 2=== -->
<instrument clef="bass" type="timpani" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Tromboni</text>
    </notation>
</instrument>
<!-- === Timpani 3 === -->
<instrument clef="bass" type="timpani" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">3 Tromboni</text>
    </notation>
</instrument>

Staffs for strings

<!-- === Violin === -->
<instrument type="violin" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">Violini I (20-12)</text>
    </notation>
</instrument>
<!-- === Violin 2=== -->
<instrument type="violin" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">Violini II (18-10)</text>
    </notation>
</instrument>
<!-- === Viola === -->
<instrument type="viola" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">Viole (14-8)</text>
    </notation>

</instrument>
<!-- === Cello === --> 
<instrument clef="bass" type="cello" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">V-Celli (10-6)</text>
    </notation>
</instrument>
<!-- === Contra bass === -->
<instrument clef="bass" type="contrabass" repeat="Piccolo">
    <notation>
      <text lang="it" style="XYZ">C-bassi (8-4)</text>
    </notation>
</instrument>
</song>
</mml>

1999, 2000, 2001 © Jacques Steyn