The Plaine & Easie Code is a music notation encoding system designed for the capture of melodic incipits: Short fragments of music notation that help to identify a musical work.

Introduction

The Plaine & Easie Code was first defined in 1964 by Barry S. Brook and Murray Gould [[BrookGould1964]][[Brook1965]]. Perhaps the most important design feature of this system was that it could represent music notation with "ordinary" typewriter characters, to be put on index cards to build a thematic index to accompany bibliographic source descriptions.

The specifics of the code system have changed over time, but, until the present specification, the changes have not been clearly versioned. Features have been added to the Plaine & Easie Code and the expected publication medium has shifted from index cards to computer systems. These changes have resulted in incipits that may have conformed to the specifications at the time, but which are now at odds with current practices and methods.

The present specification seeks to establish a clearly defined "Version 2" of the Plaine & Easie Code. This is an attempt to distinguish it from "Version 1" of the Code, which is now fixed at its last revision date. Incipits encoded to the specifications given in Version 1 are still valid, and will continue to be.

Version 2 of the Plaine & Easie Code is written in a specification language that attempts to clearly communicate the normative requirements of the Code. This is a recognition that a significant audience for the code is the programmers that create data processing systems. This audience needs clear definitions of the code so that it can be accurately and uniformly processed for search, retrieval, automated comparison, and notation display.

At the same time, however, it must be recognized that the core of this code must remain "Plaine" and "Easie" to facilitate easy capture of musical notation by catalogers. Although now couched in normative language, the present specification does not deviate far from the earlier specifications—indeed, some changes that are introduced in this new version are drawn from the original papers by Brook and Gould. While some notable changes have been introduced to try and address common errors or ambiguities, Version 2 is largely an attempt to "pave the cowpaths"; that is, to normalize and standardize existing practices.

Catalogers who are familiar with Version 1 of the Plaine & Easie Code may wish to consult the Change Log to see what has changed in Version 2.

The Plaine & Easie Code is maintained by the Digial and Editorial Centers of the Répertoire International des Sources Musicales (RISM), and by the International Association of Music Libraries, Archives and Documentation Centres (IAML) for use as an exchange format in the library environment.

Terminology

Circle of fifths
Transcriber
The person or persons who transcribe the source into Plaine & Easie.
Logical Unit
A logical unit of notation data consists of one or more characters that represent a single musical notation figure.

Staff Definitions

The clef, key signature, and time signature of an incipit is defined separately from the Musical Notation of the incipit. These properties affect the whole staff.

Clef

Every encoding MUST include a clef.

The clef code MUST be three characters long. The first character specifies the clef shape and MUST be one of the values G, g (octave G), C, or F.

The second character MUST be one of the characters - to indicate modern notation, * to indicate mensural notation, or : to indicate neume notation. Each of these notations impose different interpretations on the music notation in the incipit.

The third character MUST be a numeric value in the range 1-5, and indicates the reference staff line for the clef starting from the bottom.

The clef indications imply the octave in which each note on the staff will sound and its visual placement on the staff. The following table gives the indicative octave and note for the bottom and top lines of each staff.

Shape and Line Bottom Line Octave and Note Top Line Octave and Note
G-2 'E (E4) ''F (F5)
F-4 ,,G (G2) ,A (A3)
g-2 ,E (E3) 'F (F4)
C-3 ,F (F3) 'G (G4)

Key Signature

An encoding MAY include a key signature.

The character x indicates sharp keys and b flat keys. These characters MUST be followed by a list of Note Names to be altered accordingly.

The list of note names in a key signature SHOULD follow the circle of fifths ordering. Missing accidentals in this list SHOULD be supplied by the transcriber. Note names MUST NOT be repeated.

All notes given in the key signature MUST be interpreted as having their sounding pitch altered accordingly. In cases where a note in a key signature is further altered by use of an accidental, directly before the note, the written pitch and sounding pitch indicated by the accidental will take precedence.

A key signature MAY contain note names within square brackets [] to indicate that the note names are not in the original source and have been supplied by the transcriber. Consecutively supplied note names MUST be within a single set of brackets. A key signature MAY contain more than one set of non-consecutive bracket groups.

A key signature containing a single n character MAY be supplied to indicate a natural key signature, e.g., C Major or A minor. This character MUST NOT be followed by any note names.

For neume notation, the key signature MUST be omitted. Any alterations to individual pitches MUST be encoded as accidentals.

Time Signature

An encoding MAY include a time signature.

There are two main categories of time signature forms, Common Western Music Notation (CWMN) and Mensural.

For neume notation, the time signature MUST remain unspecified.

CWMN and Mensural time signatures MUST NOT be mixed on the same staff.

CWMN time signatures are expressed as one number above another. These numbers MUST be separated by a / character. Any positive digit MAY be used, but encoders SHOULD use commonly accepted values where possible. The c ("common", or 4/4) and c/ ("alla breve", or 2/2) characters MAY be used.

CWMN time signatures that indicate alternating measures MAY be indicated by transcribing both. These MUST be separated by a vertical bar | character.

For mensuration signs, the c and o characters indicate imperfect and perfect tempus, respectively. The . character indicates "major" prolation; omitting . indicates "minor" prolation. A / character may follow the tempus character to indicate diminution.

A mensuration sign MAY include a numerical component as a proportion or augmentation, indicating modus cum tempore. These numerals MUST be either a 3 or 2. These numbers MAY be combined and separated by a /.

Musical Notation

Structure

The Musical Notation section of an encoding is given as a single line of characters representing a staff of musical notation. Notes and rests are the most basic logical units of notation representation, composed of one or more characters that specify different attributes of a note or rest. Complex notational figures, such as chords, beams, or tuplets, serve to group notes and rests. Expression Marks alter the performance of a note, a rest, or groups thereof. Other staff and measure symbols can control the definition of the staff itself: bar lines, cross-measure rests, or a change of clef, key signature, or time signature.

Many characters representing a musical note are optional—the only required character is the note name. Where one or more characters for a note occurs, they MUST occur in the following order:

Note Feature Characters Requirement
Octave [,'] Optional
Duration / Duration Dot [0-9][.] Optional
Accidental [xb] Optional
Note Name [A-G] Required
Order of characters representing a note

Logical units MAY be nested to represent complex notational features; for example, a beam will contain two or more notes, or a tuplet may be composed of two or more chords. All logical units of the same kind MUST be closed before a new one is started (i.e., no nested groups of the same kind).

Many logical units use the same characters to represent the same musical concept. Both notes and rests, for example, make use of the same duration characters.

There MUST be no spaces within the Musical Notation section, except for the required space separating a change of Clef, Key Signature, and Time Signature.

Notes and Rests

Durations

Note durations MUST be represented by integer values in the range 0-9. The corresponding note value for each number is given in [[[#note-duration-map]]].

Duration values MUST be interpreted differently if the encoding is in CWMN or Mensural notation. Mensural notation MUST NOT use durations of 3, 5, or 7.

Notes in neume notation MUST NOT be given a duration value.

Duration Notation CWMN Mensural
0 Longa
9 Breve
1 Whole note Semibreve
2 Half note Minim
4 Quarter note / crochet Semiminim
8 Eighth note / quaver Fusa
6 16th note / semiquaver Semifusa
3 32nd note / demisemiquaver -
5 64th note / hemidemisemiquaver -
7 128th note -
Note duration value mapping, ordered from longest to shortest note value.

The duration value for a given note MAY be omitted. If the duration is omitted, the last specified duration is used for all following notes.

An encoding MAY omit all duration indications. If no duration is supplied on any note, all notes are assumed to have a duration value of 4 (quarter note / crochet / semiminim).

For CWMN the period character . MAY be used to indicate a dot of augmentation, extending the duration of the note by half the indicated duration value. This character MUST be directly appended to the duration value. Multiple dots MAY be used, with each successive dot indicating that the duration is extended by half the value of the previous dot. The number of dots MUST NOT exceed four.

Note Names

A note name MUST be provided to indicate the pitch class of the note.

Note names MUST be one of the following characters: C, D, E, F, G, A, B.

All letters MUST be uppercase; lowercase letters MUST NOT be used to specify a note name.

Octaves

Octaves in Plaine & Easie are enumerated according to [[ScientificPitch]]. The boundary note between octaves is C.

Octaves MUST be indicated using the apostrophe ' for octave C4 and above, and the comma , for octaves C3 and below. These characters are repeated to indicate successively higher or lower octaves: '' indicates C5, ''' indicates C6, ,, indicates C2, and so on.

The number of apostrophes MUST NOT exceed four, corresponding to C7. The number of commas MUST NOT exceed three, corresponding to C1.

The octave indication for a given note MAY be omitted. If the octave is omitted, the last specified octave indication is used for all following notes until a new octave is indicated.

An encoding MAY omit all octave indications. If no octave is supplied on any note, all notes are assumed to be in octave C4.

Accidentals

An accidental MAY be used to alter the written and sounding pitch of a note. Accidentals MUST be one of the values given in [[[#accidental-map]]].

Accidental Notation Remarks
x sharp
b flat
xx double-sharp
bb double-flat
n natural
Accidental values

The sounding pitch of a note MAY be altered by both a key signature and an accidental. In the case of a note being altered by both, the alteration of the accidental MUST be interpreted as an alteration of the pitch defined by the key signature.

A note SHOULD NOT be altered by the same accidental more than once within the same bar. The alteration to the sounding pitch of the note is continued on subsequent notes with the same Note Name until the next Bar Line. If the same accidental is given to several notes with the same Note Name within the bar, it will have no further effect.

Accidentals MUST be interpreted by their written value, and MUST NOT be interpreted by their values relative to a preceding accidental.

Single Rests

Rests for single notes MUST be indicated by a hyphen/minus character -. This character MAY be preceded by a duration value giving the musical duration of the rest. If the duration is omitted, the last specified duration is used. If no duration is supplied in the encoding a default duration of 4 is assumed.

Groups

Ties

Tied notes MUST be indicated with an underscore character _. Ties MUST occur between successive notes with the same pitch and octave. A tie MUST NOT occur between a note and a rest.

The underscore character MUST occur on the first note of the tie.

Tied notes MAY occur over bar lines.

The underscore character MUST NOT be used to indicate slurs, phrase marks, or ligatures.

Ligatures

Todo.

Beams

Beamed notes are encoded using braces {}.

Beam groups MUST start with an opening brace {, and MUST end with a closing brace, }. Nested beam groups MUST NOT occur, except as part of an appoggiatura Group.

Notes with duration values of 0, 1, 2, 4, and 9 MUST NOT occur within a beam group. Notes with other duration values MAY occur within a beam group.

Beam groups SHOULD NOT occur in Mensural encodings.

Tuplets

A tuplet group MUST begin with a duration value to indicate the duration of the tuplet group.

All musical symbols MAY occur within a tuplet group. The members of the tuplet group MUST be enclosed within parentheses ().

The duration value MUST be provided for the first note or rest after the opening parenthesis (.

A semicolon ; and a positive integer MAY immediately precede the closing parenthesis of a tuplet group. This number indicates the number of beat divisions in the group; that is, the number of beats that occur within the tuplet in the space of the given duration value. If a number is not given, a value of 3 is the default.

Since the default number of beats in the tuplet is 3, these two encodings of a triplet are considered to be equivalent:

Chords

Notes in a chords are enclosed in the characters ^ and >.

A duration value MAY precede the ^. Two or more note names (with optional octave and accidental indications) MUST immediately follow this character. The notes SHOULD be ordered from the lowest to the highest on the staff line. A > MUST be used to end the chord. A duration value for the individual notes within a chord MUST NOT be supplied.

If the duration is omitted, the last specified duration is used. If no duration is supplied in the encoding a default duration of 4 is assumed.

A p character MAY follow the duration to indicate the chord has a fermata.

A v MAY be used to indicate a tied chord. A duration value MAY immediately precede the v. If the duration is omitted, the last specified duration is used. If no duration is supplied in the encoding a default duration of 4 is assumed.

The v MUST follow the closing >. It MUST not be separated from the chord by any character EXCEPT bar line characters. It MAY be repeated as many times as necessary, and each repetition MAY change its duration.

Expression Marks

Trills

The lower-case character t is used to indicate a trilled note. The t MUST immediately follow the note name.

Fermatas

The lower-case character p is used to indicate a fermata on a note. The p MUST follow the note name. If there is also a Trill, the p MUST follow the trill character.

Grace Notes

There are two types of grace note: Acciaccatura and appoggiatura.

For a single acciaccatura the lower-case character g MUST be used. This character MUST precede the note name, and MUST also precede all other attributes of the note. Consecutive single acciaccaturas MUST NOT occur.

For a single appoggiatura note, the lower-case character q MUST be used. This character MUST precede the note name, and MUST also precede all other optional attributes of the note.

Consecutive appoggiatura notes MUST be encoded using an appoggiatura Group. Consecutive single appoggiaturas MUST NOT occur.

Appoggiatura Groups

For multiple consecutive appoggiatura notes, the appoggiatura group SHOULD be used. The lower-case characters y MUST be given as the first characters before the first note of the group, and the lower-case character r MUST be the last character of the group. There MUST be more than one note in an appoggiatura group.

The r character MUST follow the closing beam character that is part of the appoggiatura group.

An appoggiatura group with beams MAY occur within a non-appoggiatura beam.

Measure and Staff Symbols

Bar Lines

Bar lines MUST be indicated using one of the code options given in [[[#barlines-spec]]].

Bar lines SHOULD be inserted at intervals that correspond to the current time signature.

Neume and Mensural notations SHOULD NOT use bar lines.

Code Notation Remarks
/ Single bar line
// Double bar line
//: Double bar line with repeat sign on the right
:// Double bar line with repeat sign on the left
://: Double bar line with repeat signs on the left and on the right
Types of bar lines

Measure Rests

Measure rests MUST be indicated by an equal sign character =. This character MUST be followed by a positive integer indicating the number of measures for which this rest applies, unless the measure rest only applies to a single measure. In this case, the number MAY be omitted.

Measure rests MUST be followed by a bar line character.

Measure rests MUST NOT be used with Mensural notation, due to the general absence of measures in this system of notation.

Measure rests MAY indicate the number of measures that are being skipped in the original source before the musical content being captured by the incipit, regardless of whether these measures in the original source contain musical content.

Changes to Staff Definitions

Clefs, key signatures, and time signatures MAY be changed within an incipit.

The percent character % MUST be used to indicate a clef change. A clef change MAY occur anywhere within the music notation section. This character MUST be followed by a clef definition according to the specifications given in the Clef section.

The dollar character $ MUST be used to indicate a key signature change. A key signature change MAY appear anywhere in the music notation, but SHOULD appear immediately following a bar line. This character MUST be followed by a key signature definition according to the specifications given in the Key Signature section.

The at sign character @ MUST be used to indicate a time signature change. A time signature change MAY appear anywhere in the music notation, but SHOULD appear immediately following a bar line. This character MUST be followed by a time signature definition according to the specifications given in the Time Signature section.

For any change of clef, key signature, time signature, or combination thereof, the change indication MUST be separated from the notation that follows by a single space character. In the case of multiple changes at once (for example, a key and a time signature change) the individual change indications MUST NOT be separated by a space.

Shortcuts

Repeat group

If one or more notes or rests are repeated several times, a repeat group MAY be used.

A repeat group is only valid within a single measure.

To use a repeat group, mark the beginning and the end of the group with an exclamation mark character !. The lower-case character f MUST immediately follow the ending !, and MUST occur the number of times the figure should be repeated. The f MUST be specified at least once.

Repeated measures

If one or more whole measures are repeated, a measure repeat MAY be used.

The measure to be repeated MUST end with a bar line. The lower-case character i MUST occur immediately after this bar line, and MUST be immediately followed by another bar line. There MUST NOT be any other characters between these two bar lines.

Any type of bar line MAY be used to begin or end a measure repeat group.

Measure repeats SHOULD NOT be used with Mensural notation due to the general absence of measures in this system of notation.

Rhythmic sequence

When the same rhythmic sequence is repeated, the sequence of rhythmic values can be stated once before the note names.

Representation Formats

The original expression of the Plaine & Easie Code was intended for physical media such as an index card, or a printed book. In the intervening years, usage of the Plaine & Easie Code has shifted to use within a digital context, such as online library catalogs and on the World Wide Web.

This section provides the specification of the acceptable representations of the Plaine & Easie Code. It is expected that these representations—with the possible exception of "single-line text"—are constructed and used by automated tools and not written "by hand."

Character Encodings

All characters used in the Plaine & Easie Code MUST be within the [[ASCII]] code range. Plaine & Easie MAY be transmitted as part of another encoding standard, such as UTF-8, as long as the characters used within the encoding itself do not fall outside of the ASCII range.

Depending on the application, some ASCII characters MAY be encoded in another way; for example, Plaine & Easie Code could be embedded in HTML where some characters are replaced by Named character references.

MARC21 and UNIMARC

The Plaine & Easie code is accepted as a format within a MARC (MAchine Readable Catalogue) or UNIMARC (UNIversal MARC) record. The specifics of each system are given in the [[MARC21]] documentation or in the [[UNIMARC]] documentation. The 031 MARC21 field is used to record incipits, while UNIMARC uses the 036 field. The subfields used by these formats for Plaine & Easie Code is given in [[[#marc21-unimarc-subfields]]].

In both systems, the $2 subfield indicates the coding system used for the incipit. This code MUST be pe2 for Version 2 of the Plaine & Easie Code.

Field MARC21 UNIMARC
Clef $g $m
Key Signature $n $n
Time Signature $o $o
Musical Notation $p $p
Source $2 $2
MARC21 and UNIMARC subfields for the Plaine & Easie Code

Multi-Line Text with Field Delimiters

The Plaine & Easie Code MAY be represented in a multi-line text format.

Each field MUST be separated by a newline character \n.

Each field MUST begin with a field identifier. This identifier consists of an at sign character @, followed by a field name. The field identifier MUST end with a colon character :.

The field name MUST be one of the following: clef, keysig, timesig, key, data, or version.

The field value MUST immediately follow the colon in the field identifier. The field value MUST NOT contain any characters that are not part of the value itself; for example, the value must not be enclosed in quotation marks.

There MUST be at least two fields in the encoding: clef and data.

The version field MAY be included. The value of the version field MUST be pe2 for incipits that conform to Version 2 of the specification. If a version field is not specified, the incipit SHOULD be interpreted as conforming to Version 1 of the specification.

JavaScript Object Notation (JSON)

Plaine & Easie Code MAY be represented as JavaScript Object Notation ([[JSON]]). All JSON encodings of the Plaine & Easie Code MUST be valid JSON.

The keys in the JSON MUST be one of the following: clef, keysig, timesig, key, data, or version. Unlike the multi-line text representation, they MUST NOT begin with an at sign character @.

There MUST be at least two keys in the encoding: clef and data.

The version key MAY be included. The value of the version key MUST be pe2 for incipits that conform to Version 2 of the specification. If a version key is not specified, the incipit SHOULD be interpreted as conforming to Version 1 of the specification.

Single-Line Text

Plaine & Easie code MAY be represented in a single, continuous line of text.

This line MUST start with the string ;pe2 for incipits that conform to Version 2 of the specification.

Following the version declaration, the line MUST continue with a declaration of the clef. The format of the clef declaration follows the same format for an inline change of clef; that is, the clef declaration MUST start with the percent character %.

The line of text SHOULD specify a key signature and a time signature. This also follows the same format for an inline change of key and time signatures.

The clef, key signature, and time signature declarations MUST NOT themselves be separated by a space character.

The clef, key signature and time signature MUST be separated from the rest of the music notation by a single space character.

The rest of the line of text follows the format for the music notation section of the code. Further changes to the clef, key signature, and time signature are permitted as normal.

Changes

A list of substantive changes between Version 1 and Version 2 of the Plaine & Easie Code can be found in the Change Log.