Harmonic Functions

Brief introduction to the theory of harmonic functions according to Hugo Riemann

The theory of harmonic functions can be traced back to the German music theorist Hugo Riemann (1849–1919). It was revised by Herrmann Grabner (1886–1969). This theory is still taught today at German music schools. The theory is not without controversy and by no means a natural given. Synfire makes use of this theory only to the extent that it may be useful and inspiring for creating chord progressions.


The theory describes a system of relationships between harmonies that spread out around a Tonal Center (root). Letters (function symbols) are used to identify the harmonies:

T, t = Tonic
S, s = Sub Dominant
D, d = Dominant
P, p = Parallel
G, g = Gegenklang ("contrast" in German)
N = Neapolitan

On the one hand, when resolved in relation to a tonal center, these symbols point to a particular major or minor triad. On the other hand, they also represent the idea of a "function", in the sense of a role or purpose they serve inside a chord progression.

Apart from the primary functions Tonic, Dominant, and Sub Dominant and their immediate relatives, Synfire does not speculate whether there may be some hidden magic behind higher level functions. We are looking at this more from a practical perspective, as an aid for understanding and creating progressions, not unlike the well-known Roman Numeral notation.

Primary Harmonies

The primary harmonies of a key are Tonic, Dominant, and Sub Dominant. The Dominant is a fifth above the Tonic and the Sub Dominant a fifth below. Because each is a fifth away from the root, we say there is a Fifth Relationship (German: "Quint-Verwandtschaft") between primary harmonies.


The Tonic is the triad with the root on the first degree of the Horizontal Scale of the key. Thus, the root of the chord is also the root of that scale. A major triad is denotes as a capital T, and a minor triad is written with a lowercase t. For example, if C is the root of our key, the following applies:

T = C
t = Cm

The Tonic is perceived as a center of calm, invoking a feeling of stability and rest. If a melody at its end comes down to a final conclusion that feels like "Amen" or "Om", then this last note is usually the Tonal Center, the root note of the Tonic. In classical music, the final chord in a minor key's progression is often replaced by its major version for a well-known effect (German: "Trugschluss").


The Dominant is written as D or d. It is on the fifth degree of the Horizontal Scale. In contrast to the Tonic, the Dominant is full of suspense and tension, yearning for a resolution towards the Tonic. It is often played with dissonant extensions to make this yearning more obvious.

D7 t
D9 t

This resolution D → T is called authentic cadence, also known as 5 → 1. It works best with a major Dominant chord, although Dominants may be minor as well. If you don't know how to conclude a chord progression D → T is always a good option.

Sub Dominant

The Sub Dominant is written as S or s. It is built on the fourth degree of the Horizontal Scale. In the tonal center of C (major or minor), the following applies:

D = G
d = Gm
S = F
s = Fm

In a chord progression, Sub Dominant chords (and the secondary harmonies derived from them) often precede a more dissonant Dominant chord, which then leads back to the Tonic.


This merry friend is notated as N and called the Neapolitan Sixth Chord. It is a major triad on the lowered second degree (minor second) of the Horizontal Scale. It can be used in place of the Sub Dominant and is often resolved towards the Dominant.


Here is an example of the popular progression t s D T resolved in three different keys:

Cm Fm G C
Am Dm E A
Ebm Abm Bb Eb

Secondary Harmonies

Secondary Harmonies are built in relation to the primary harmonies. They are in a Third Relationship (German: "Terz-Verwandtschaft") to the primary harmonies. Their root is one third away from the root of a primary harmony. The harmony based on a major third away is called Gegenklang ("contrast" in German). The one based on a minor third away is called Parallel. They are notated G and g or P and p respectively, appended to the primary function:

tP, tp, tG, tg, TP, Tp, ..., dP, dp, dG, ..., SG, Sg

For example, the symbol tP stands for Tonic Parallel and DG stands for Dominant Gegenklang.

In order to keep it simple, we don't want to dig into the secondary harmonies any deeper. As a practical rule of thumb, replacing primary harmonies with their secondary relatives and vice versa is a thing you should definitely try.

Interlude Harmonies

Functions may temporarily refer to a shifted Tonal Center. These are called interlude harmonies. It's a matter of opinion whether this already constitutes a key change (modulation) or just adds more tension to the mix (i.e. more accidentals). It much depends on the duration of the shift and whether the other Tonal Center is reaffirmed strongly enough. For example, a D → T cadence (in the shifted key) might establish it as the new Tonal Center.

Synfire allows for text input of interlude harmonies using the official Riemann notation. All chords that refer to the shifted key are grouped in parentheses, while the root note of the chord immediately after the closing parenthesis determines the shifted Tonal Center:

t d (s DG) D T
t d (s DG) [D] T

Thus the two chords (s - DG) above refer to the Tonal Center at the root note of D (after the closing parenthesis). That chord may be set in square brackets (as in the second example), to prevent it from sounding. Nesting multiple interlude harmonies can lead to interesting progressions that wander through several keys.

Distant Relationships

Dominants may be chained (stacked) to build Secondary Dominants. The root of one Dominant is taken as the tonal center of the subsequent Dominant to obtain the Dominant of the Dominant. The same goes for Sub Dominants.

The notation is simple: DD is a double dominant, DDD a triple dominant, etc. The same goes for SS, SSS, SSSS, etc. These are also called Dominant Chains. Two examples in the Tonal Center of A:

Dominant chains achieve a great effect when they are understood only in hindsight, i.e. leading to a conclusion that is obscure enough until finally resolved with the last chord. Theoretically, secondary harmonies also allow themselves to be chained (stacked) to denote more distant relationships:
tGG, TPp, ..., spp

Although Synfire can deal with chained expressions to an unlimited extent, it is doubtful whether extremely remote relationships achieve anything that is perceived as more sophisticated or interesting (acoustically) than a much simpler expression.

Mixing Major And Minor

As you may have noticed, a Tonal Center has no gender. It's neither major, nor minor. When working with harmonic functions, it is common for both major and minor variants of the same chord to occur in the same key, even though the chord's notes fall outside the Horizontal Scale of the key. You should not worry about that at all, because the unlimited mixing of major and minor offers more freedom and adds color and tension to your music.


Chords take on different roles (functions) depending on the context in which they are played. It probably comes as no surprise that multiple function expressions may resolve to the same chord, especially when expressions are nested.

If function symbols are shown in a Palette, you will see many chords with multiple function expressions next to them. A few expressions show up in parentheses (not to be confused with interlude harmonies!). Example:

F6(add9) in A = sP tG (s)

Chord F6(add9) has two functions sp, tG in A and a third function shows in parentheses, meaning it is a function of only a sub-triad of the chord (if the chord can be decomposed into multiple superimposed triads). Whether a sub-triad (subset) of a chord really constitutes a functional relationship is debatable. However, it is certainly interesting in a practical sense when you are looking for a substitute for a chord with a similar harmonic function but a different timbre.


With the Pro edition of Synfire you can input chords and progressions in harmonic function expression format. The original notation introduced by Riemann didn't include specific about the interval structures to use for each chord. Synfire recognizes all chord interval structures in the Catalog to be appended as a suffix to the expression following a colon.

The major or minor triad implied by the original Riemann expression is replaced with whatever chord expression you append after a colon. Merely the root note is preserved in that case. For simple chord extensions that can be written as a number, the colon is optional.

An optional bass interval can be appended after a slash.