Syntax

How to read and write chords, scales and lengths (durations).

Note Syntax

Notes begin with an uppercase letter A, B, C, D, E, F, G. These can be followed by one or more accidentals indicating a raise (sharp) or lowering (flat) by one halftone:

D# = D sharp
Eb = E flat
Gb = G flat
F# = F sharp
F## = F double sharp

The C chromatic scale is written this way:

C, C#, D, D#, E, F, F#, G, G#, A, A#, B

Synfire assumes your MIDI equipment is tuned with well-tempered 12TET tuning (Twelve-tone Equal Temperament), which is the default for all current hardware and software. Thus D# and Eb are assumed to send the same MIDI note. Still, Synfire presents and accepts the different enharmonic spellings correctly, depending on context.

Hence, the Db Major scale is written this way:

Db, Eb, F, Gb, Ab, Bb, C
Note: Synfire optionally supports German note spelling where H is rendered for B and B for A# (Edit > Preferences). Actually there is no reason to do so, unless you are doing a formal music education in Germany. This weird notation stems from a historical confusion of b with h. It is not used anywhere outside German speaking countries.

Interval Syntax

The chromatic distance between two notes is called an Interval. Examples are minor third, augmented fifth, diminished seventh, etc. For the labeling of chords and scales, Synfire uses a shorter form, though, as listed in the column Interval below.

Semitones Note Interval Names
0 C 1 Prime
1 C#/Db b2 Augmented Prime / Minor Second / Half Tone
2 D 2 Major Second / Whole Tone
3 D#/Eb b3 Minor Third / Trisemitone
4 E 3 Major Third
5 F 4 Perfect Fourth
6 F#/Gb b5 Augmented Fourth / Diminished Fifth / Tritone
7 G 5 Perfect Fifths
8 G#/Ab #5 Augmented Fifths / Diminished Sixth
9 A 6 Major Sixth / Diminished Seventh
10 A#/Bb 7 Augmented Sixth / Minor Seventh
11 B #7 Major Seventh
12 C 8 Octave
13 C#/Db b9 Minor Ninth
14 D 9 Major Ninth
15 D#/Eb #9 Augmented Ninth
16 E b11 Diminished Eleventh
17 F 11 Perfect Eleventh
18 F#/Gb #11 Augmented Eleventh
19 G Perfect Twelfth / Tritave
20 G#/Ab b13 Minor Thirteenth
21 A 13 Major Thirteenth
22 A#/Bb b14 Minor Fourteenth
23 B 14 Major Fourteenth
Note: This interval nomenclature assumes 12TET tuning (Twelve-tone Equal Temperament)

Chord Syntax

Note: The Pro edition of Synfire supports additional syntax for chord input that recognizes Roman Numerals and Harmonic Function Expressions.

For the designation of chords, Synfire uses the standard North American notation commonly used for Jazz. The chord name always begins with the name of the root note, whose spelling depends on the key in which the chord is used.

The root is followed by the designation of various triad forms (or nothing at all, if it is a major triad). For example, an m for a minor triad, dim for a diminished triad, aug for an augmented triad, and so forth:

Am, Cdim, F#aug, G, Esus4 

An optional numeral 6, 7, 9, 11, or 13 stands for sixth, seventh, ninth, eleventh, and thirteenth chords:

Am9, C7, Gm9, F#13, Bmaj7, Ebmaj9

Extensions may be appended. These additional notes are numerals, optionally prefixed with # or b, listed in parentheses and separated by comma:

A7(9,#11), Cm7(b9), Emaj7(9,11), Am(7,9,13)

If only a single extension is added, an alternative notation uses the keyword add:

A(add9), Cmaj7(add4)

Many chords allow for multiple equivalent notations, although only certain notations are commonly used. For example, these chords on each line are identical:

Am9 = Am(7,9)
Am11 = Am(7,9,11) = Am7(9,11)
C13 = C(7,9,13)
Faug = F(#5)
Fmaj7 = F(#7)
Fmaj9 = Fmaj7(9) = F(#7,9)

In practice, the exact notation you choose for text input is not relevant in Synfire, as chords will be renamed automatically.

The standard chords included with the Catalog are shown below. You can add more chords to the Catalog as you need.

Dim. Minor Major Augm., Susp.

Cdim

Cdim7

C(b5)

C6(b5)

C7(b5)

Cm

Cm6

Cm7

Cm7(b5)

Cm9

Cm(maj7)

Cm6(add9)

Cm7(#5)

C

C(add2)

C6

C7

C7(b9)

C7(b9,#9)

C9

C7(#9)

Cmaj7

Cmaj7(9)

C(add9)

C6(add9)

Caug

Csus2

Csus4

C7sus4

Note: Chord symbols must not include white space. All letters, digits, parentheses and numerals must be written without gaps. Multiple chord symbols however can be separated by spaces.

Slash Chords

Slash Chords are written with a bass note appended after a slash. The bass note need not necessarily be a member of the chord.

Am/F#
C/A

Power Chords

Power Chords omit the third interval, playing only the root note and the fifth. The power chord is an interpretation of the major or minor triad. It cannot be added to a progression directly, because it has no name in the Catalog. Writing F(no3) doesn't help either, because Synfire needs to consider the full triad to ensure harmonic consistency for all instruments.

If you want a particular instrument to play power chords, use the Chord symbols of the Figure parameter to draw a chord with only two symbols for the prime and fifths.

Warning: Resist the temptation to add a power chord interval structure to the Catalog, e.g. C5. Using this in a progression would force all instruments to use only the two notes of the power chord, which is certainly not what you want.

Scale Syntax

Like chords, scales begin with the name of their root note. A period follows that separates the root note from the scale's name, which is arbitrary (i.e. not parsed like chord symbols):

Eb.hungarian-minor
C.major
F#.aeolian

The name may be followed by a hyphen and references to features, such as added, altered or omitted notes. Accidentals and alterations use #, - or +, - respectively:

F.altered-dominant-bb7
E.locrian+2
C#.lydian-augmented
B.natural-minor-b2

The character @ followed by a digit says the object in question is the nth inversion (or rotation) of the scale. The example below denotes G natural minor, starting from the fourth degree, or Mode 4 of natural minor:

G.natural-minor@4

A dot followed by h at the end (not unlike a file extension) denotes a Horizontal Scale that was automatically generated by Synfire from a Vertical Scale:

F.bebob-minor@3.h
blues1.h

In the course of your work with Synfire, you will actually never be confronted with having to input scales. The program makes these decisions for you automatically.

Scale Set Syntax

Scale Sets always start with a capital letter. Otherwise, they are written like Scales. If you create your own, you are free to assign them any name.

Syntax of Durations And Times

Several inspectors in Synfire allow for text input of time offsets and lengths (durations). These are notated as fractions, denoting a note length in a format that is easily understood by every musician. The shortest supported duration is 1/128. Durations shorter than that are denoted as MIDI ticks (see below).

1/1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128

With dotted lengths, each dot (asterisk) adds ½ of the previous length. Up to three dots are supported.

1/4*, 1/8**, 3/4***

Triplets

1/3, 1/6, 1/12, 1/24, 1/48, 1/96

Quintuplets

1/5, 1/10, 1/20, 1/40, 1/80

Of course triplets and quintuplets may be dotted, too. Odd tuplets like 1/7 and 1/9 are not currently supported, because the internal resolution can't represent them as integral numbers. This may change in a future version of Synfire.

The length 1/1 is equivalent to 4/4. It always refers to four quarter notes regardless of time signature, e.g. in 3:4 time, it exceeds one measure by a quarter note. This is where you would use 1m or 2m to denote a number of measures. The actual length depends on time signature currently in effect:

1m, 2m, 4m, 12m

Multiple expressions can be combined with + to break an odd length down into smaller units:

2m+2/4
4m+1/4*            
For especially odd lengths, a number of MIDI ticks can be appended to the expression. Synfire uses a clock resolution of 1920 ticks per 4/4 note.
8m+1/2+240