Syntax
Overview
In TiLiA, each element in a hierarchy timeline should be given a label. The use of labels should follow a syntax, which extends that of Gotham and Ireland (2019). This page outlines the most important features of this syntax.
| Feature | Symbol | Example |
|---|---|---|
| Formal types | Dot (.) |
0: sonata form.type 2 |
| Typological realization | Pipe (|) |
4: antecedent | sentence |
| Adjacent repetitions | Exclamation mark(s) (!, !!, !!!) |
6: bi; 6: bi!; 6: bi!! |
| Partial emergences or repetitions | Asterisk (*) |
4: 1st* or 4: 1st*! |
| Specification of units within units | Hyphen (-) + Arabic numeral |
4: 2nd-1 |
| Distant repetitions | Square brackets ([]) |
3: 2nd zone, 4: 2nd-1 [1st-1*] |
| Alternative readings | Hyphen (-) |
4: consequent - transition |
| Multivalence | Lower-case Roman num. + hyphen (-) |
4i: consequent - ii: transition |
| Overlap of formal levels | And (&) |
4ii&iii: pres |
| Formal hybrids | Lower-case letters | 0a: sonata form, 0b: rondo |
| Functional transformation | ‘Arrows’ (<, >, <>) |
4: transition, 5: < consequent |
| Uncertainty | Question mark (?) |
5: bi? |
| Overlap/ continuation | Slash (/) |
i: /, ii: |
| Overlap | Plus (+) |
1st + tr |
| End of level | Closing curly bracket (}) |
6: bi} |
Hierarchical Levels
The syntax can be applied on different annotation apps, though some aspects differ in usuage. In annotation in MuseScore, a typical first label of a sonata-form movement can look like this:
0: mvt1|sonata.type1, 1: exp, 2: 1st zone, 3: theme|sent, 4: pres, 5: bi
When using TiLiA, it is not necessary to specify the position within the hierarchical structure by an integer, since it is captured within the hierarchy timeline. One would simply write mvt1|sonata.type1 in the highest component. However, we still reference the integer levels in this guide in order to make the underlying logic clear.
Types and functions
Our standard distinguishes between formal functions and types (Caplin 1998). Realisations of formal functions (on any hierarchical leve) are appended to the relevant token using a pipe symbol (|). For instance, the label component 0: mvt1|sonata.type1 is to be read as ‘first movement, realized as sonata form type 1’, while the component 3: theme|sent tells us that the theme within the 1st zone is realized as a Caplinian (or Schoenbergian) sentence.
TiLiA does offer dedicated fields for types and function, but for now we recommend writing them into the “label” field in the inspector.
Vocabulary and abbreviations
For easier annotation, we have implemented a series of abbreviations for the most frequent terms in formal analysis. See the Vocabulary page for reference. In any case where you do not see a fitting label for a segment, you can use the neutral label unit.
Repeating a subtree
It is possible to encode the form-functional return of an entire subtree using the symbol %. For example, when a section named A repeats, its immediate repetition—if we interpret to have the same form-functional subtree—can be named %, which is a shorthand for % [A]. In other words, % marks an immediate return of a form-functional subtree, whereas a non-immediate return at a later point will require a named reference. In both cases, all lower levels can be omitted. It is permitted to create individual sub-segments to highlight structual deviations from the repeated subtree.
In most cases, the repeated subtree is due to an exact repetition of an entire section. In these cases, %! should be used as anonymous reference in order to highlight both. The named reference has the format % [A!] (see the section on material references below). This precisation is, however, frequently omitted when the exact repetition of a unit is already expressed on a higher level (in particular through a label such as 1st_section|repeated_section).
Material content and repetition
| Operation | Symbol |
|---|---|
| (varied) repetition | N/A |
| exact repetition | ! |
| variation | $var |
| ornamentation | ~ |
| concatenation (horizontal) | , |
| combination (vertical) | & |
| local transposition | ^ |
| adaptation to new harmonic context | ° |
| partial repetition | * |
| inversion, retrograde, diminution, augmentation | $inv, $retr, $dim, $aug |
| extension/expansion | + |
Despite the standard’s focus on form, we allow for the annotation of material content and its use. * For the repetition of materials we propose marking adjacent repetitions with an exclamation mark (!) appended to the relevant token. The number of exclamation marks stands for the number of adjacent repetitions (for instance, 5: bi!! for the second adjacent repetition of a basic idea). * An asterisk appended to any label indicates that the re-occurrence of the relevant function is partial. * Distant repeats can be annotated using square brackets indicating the material that is repeated. For instance, 3: 2nd zone, 4: 2nd [1st*] would indicate a partial repeat of 1st-theme material in the secondary-theme zone, characteristic of the so-called monothematic exposition.
To avoid ambiguous references, it is possible to assign unique custom names to components that you wish to reference in other places, for example main_theme: theme|sent, means that we call this theme (realized as a sentence) “main_theme”, so if we later write coda [main_theme] it is clear that the coda is repeating that particular theme, not another.
The default: Varied repetition
By referring to another segment without any syntactic operators, you imply that the material or parts of it are being repeated, potentially with some degree of variation including transposition. For example, [a] is understood to refer to a previous segment named a, but without specifying which parts of the material (melodic contour, rythmic-metric structure, texture, harmony, etc.) are being referenced. As a rule of thumb, such a generic reference implies that the two related segments have the same length because otherwise, one would likely use an expansion (+) or truncation (*) operator. The absence of all operators is understood as the absence of the relationships they express, meaning that the repetition is not ornamented, not expanded, etc.
Shorthand: Anonymous references
All non-default references are expressed as a name followed by at least one operator. For example, as explained below, [a!] expresses a near-exact repetition of the segment named !. There is, however, a shorthand that lets us omit the named reference in squared brackets in all cases where the operator relates the segment to its immediate predecessor segment: In these cases, the operator(s) can directly follow the form label. For example, an immediate, near-exact repetition of a basic idea bi can be expressed as bi!, which is a shorthand for naming the idea first (e.g., name: bi) and then referring to it by name (bi [name!]). Since no name needs to be introduced or used, we call this an anonymous reference.
(Near-)Exact repetition
A material reference followed by an exclamation mark ! expresses a near-exact repetition of the referenced segment. For example, by [a!] we understand a repetition of the music in the segment named a regarding most structural aspects (melodic contour, rythmic-metric structure, texture, harmony, etc.). While some variation can be part of this operation, as a rule of thumb, we add ! to express that it is closer to an exact repetition than to a varied repetition. [a!], without any other operators, implies that the sub-segments will also constitute near-exact repetitions of the sub-segments of a (even though this does not mean that the resulting formal functions need to be identical). It is permitted to
- omit the implied material brackets on the lower levels,
- write them out,
- write out only those where additional operators are to be added, e.g. for ornamentation.
In other words, exact repetition on lower levels that is implied by a single ! on a higher level can be omitted or overridden. As soon as more operators are involved, the recommendation is to write things out.
If, on the other hand, an entire form-functional subtree repeats (not implying a repetition of material, see below), the same principle holds: sub-segments are typically omitted, unless they diverge in some way.
Material relationships on various levels
As a general guideline, material relations on lower levels should never contradict those on higher levels (exception: for a lower level to specify a deviation from an exact repetition). Ideally, they tell the same story from two different perspectives. For example, when a segment has two children reffering to material from [a] and [b] respectively, then this segment should come with a concatenation operator [a,b]. On the other hand, this relationship is obvious from looking at the lower levels and could be omitted, in particular if the relationships on the lower levels are more intricate, including one or multiple operators.
Transposition
Transposition as a material relationship between timespans is ubiquitous and included in our varied repeat assumption (see above). There are, however, different types of transpositions, e.g. real vs. tonal, transposition along the scale over the same vs. a different harmony, etc. Our transposition marker ^ is reserved for cases where the entire material is being transposed (and not, for instance, only the melody) locally. We consider a transposition as local if it appears within the same phrase. In most cases, the symbol applies to immediate transposed repetitions.
Rationale: We want to be able to retrieve cases, e.g., where the immediate repetition of basic idea is transposed. When material re-appears in a different phrase, it falls under the basic assumption that it might be varied, transposed along the scale, etc. In addition, the annotation of key is a strong indicator that repeated material has been transposed.
Formal transformation
‘Form-functional transformation’ (Dahlhaus 1987; Schmalfeldt 2011) is expressed in our standard by separating the two functional tokens with greater-than (>) or a less-than (<) symbols, or both (<>). When the transformation occurs within a single formal level, the three symbols stand for the three possible directions: > for forward transformation (Horton 2017), < for retrospective transformation (Martin and Vande Moortele 2014), and <> for bidirectional transformation (Vande Moortele 2013).
Ambiguity, diverging interpretations or multi-dimensional forms
Uncertain labels can be highlighted using a question mark. There are also cases where the form can be understood in several different ways, which are either mutually exclusive analytical perspectives, or different formal models being used at the same time. One example of “multidimensional form” could be the main theme zone of a sonata form being structured as a fugue, which invites two different modes of decoding the form at the same time. In both cases, one should open a seperate hierarchy timeline and use it as an addition to add the other layer for the relevant passage.
Common gotchas
%used only for entire sections/sub-trees, not for immediate repetition of individual labels (!,!!, …) should be used for that).cbi= compound basic idea vs.ci= contrasting idea- forgetting to add names + references where material is repeated
- duplicating/copying a sub-tree rather than using a reference to the original (use
% [name]instead) - including an alternative label separated by a hyphen (
-) which would, however, invalidate the parent level if substituted (use a separate hierarchy timeline instead) - designating
cadas type (following a pipe symbol|cad) rather than as cadential function