CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
This document serves as both a specification and as a source of examples, and is largely a verbatim copy of the existing specification hosted by the International Association of Music Libraries. We are aware of a number of areas where the examples could be more extensive, or the specification could be made more precise. The hope is to address these in Version 2 of the Plaine & Easie specification, and to add supporting materials to accompany it.
The Plaine & Easie Code is a library standard that enables entering music incipits in modern or mensural notation.
This version of the code is maintained by the International Association of Music Libraries, Archives and Documentation Centres (IAML) and the Répertoire International des Sources Musicales (RISM) for use as an exchange format in the library environment. Observations or queries may be addressed to Massimo Gentili-Tedeschi or Balázs Mikusi. A tutorial is available here.
Last update to the code: 28 June 2019
Also available in PDF format.
Adapted from the RISM guidelines. Corresponds to UNIMARC 036 and MARC21 031 fields.
Music incipits help identify works and facilitate the comparison of historical musical sources.
Which music incipits to enter depends on the kind of music. Best practice for instrumental music is to enter incipits for the violin or the highest part. For vocal music, enter the highest voice plus the first violin or the highest instrumental part.
The incipit should be neither too long nor too short, and make as much musical sense as possible. It should contain at least 3 bars or 10 non-repeated notes.
The code should be written on a single line. When using MARC-format subfields, omit the special characters that precede the encoded notes.
The clef code is preceded by %
and is three characters long.
The first character specifies the clef shape.
The second character is -
to indicate modern notation or +
to indicate mensural
notation.
The third character (numerals 1-5) indicates the position of the clef on the staff, starting from the bottom line.
If the music is written for a transposing instrument, notate the incipit at sounding pitch.
Begin this field with the character $
; if there are no sharps or flats in the key signature,
the $
is omitted.
The symbol x
indicates sharp keys and b
flat keys. The symbol is followed by the
capital letters that indicate the altered notes.
The time signature is preceded by @
and indicates the time value or the mensuration sign of the
incipit. If the incipit has no time signature, the @
is omitted.
Fractional or numeric values are transcribed as fractions and mensuration signs are transcribed with a
lowercase letter, if necessary followed by /
or .
:
Apostrophes are used for the octaves c4 and above, while commas are used for the octaves c3 and below.
Periods are used for dotted notes. Multiple periods can be added to a note.
C, D, E, F, G, A, B
Rests for single notes are indicated by -
(a minus sign).
Code | Name |
---|---|
- |
single-note rest (preceded by rhythmic value like note names) |
= |
measure rest (followed by number of measures and a bar line) |
Code | Note |
---|---|
{ |
beginning of beaming |
} |
end of beaming |
Code | Name |
---|---|
( |
beginning of special group |
) |
end of special group |
Before (
you must indicate the total value of the group.
After (
you must indicate the rhythmic value of the first note, even if it is equal to that
of the group.
Before )
you must indicate the number of notes of the group, preceded by ;
.
The triplet is a special case; strictly speaking, it should be coded as follows:
8(6ABC;3) or 8({6ABC};3)
Instead, the following shortcut is permitted:
(6ABC) or ({6ABC})
The rhythmic value inside the parentheses is required.
Code | Name |
---|---|
! |
beginning and end of passage |
f |
repetition indication of the notes that appear within !...! |
The group will be repeated as many times as the f
appears after the second
!
. Repetition is possible only within the same measure.
The symbol i
repeats the last measure. It must always be included within bar lines.
When the same rhythmic sequence is repeated, the sequence of rhythmic values can be stated once before the note names.
Use %
to change the clef, $
to change the key, and @
to change
the time signature. Follow this with the new indication (clef, key, or time), followed by a space.
The introductory characters are mandatory.
Notation abbreviations, such as tremolo, slash, etc., must be written out in full using the actual notation.
Enter chords from the highest to the lowest note, each one separated by ^
.
A one-character coded validity note can be introduced by a ~
at the end of the code.
Accepted characters are:
?
: a mistake in the incipit has not been corrected+
: a mistake in the incipit has been correctedt
: incipit has been transcribed into modern notationThese characters may be explained in a note (UNIMARC 036 $q — MARC21 031 $q).
There are several ways in which Plaine & Easie code can be expressed. The choice of representation depends on the environment in which you are using Plaine & Easie code, and the support of your software tools.
The most common use of Plaine & Easie code is as part of a MARC (MAchine Readable Catalogue)
record or UNIMARC (UNIversal MARC). The 031
MARC field is used to record incipits for
bibliographic catalogues. For UNIMARC the 036
field is similarly used.
In MARC and UNIMARC records, the Plaine & Easie notation components are separated out into subfields. The specifics of this encoding are given in the MARC documentation, or in the UNIMARC documentation.
Plaine & Easie code can be represented in a single, continuous line of text by using
the field delimiters for each notation component: %
for clef,
$
for key signature, and @
for time signature. These components
are given at the beginning of the line, and separated by a space with the notation data.
This format puts each component on its own line, separated by a newline character \n
, and
with the component field preceded by a @
symbol and followed by a colon :
.
There are five such fields: @clef
, @keysig
, @timesig
,
@key
, and @data
.
JavaScript Object Notation (JSON) is a key-value format that is easy to process in web browsers. Some
tools may support Plaine & Easie encoding using JSON. The same field names as the multi-line format are
used, but the preceding @
is dropped. Fields are separated by a comma.