Orchestral music

Harmony 1.1 User guide

This is an application that:

1st purpose:

should serve as a tool for students to help them navigate through difficult courses on harmony at music schools. It is able to check whether chords are correctly used – that is, whether or not they obey harmonic rules. Students can therefore apply the application to their homework, thereby saving not only their own time, but their teacher’s as well. The application will tell them which mistakes have they made. However, it can only be useful to someone who has a thorough knowledge of musical theory and also probably knows the basics of harmony. Considering the application’s use in conservatories and music departments at universities, it is best to use the program in conjunction with relevant lectures. The part of the program serving this first purpose is called "Theory".

2nd purpose:

should serve as a tool for people who want to become music composers, making their first steps in composition easier. In addition, it can simplify the composition of chords for everyone, as they no longer need to strain their brains when thinking about harmony. The part of the program serving this purpose is called "Practice". It is a powerful musical editor in which you can insert as many chords as you like, and which is capable of analyzing, inserting, and deleting chords, seaching for chords, and also loading and saving harmonies into a file. Hence, the user can have all the harmonies for his composition saved in that file, and return to it any time to make new changes.

This program is purely theoretical; therefore, I encourage you to play your compositions on real instruments in order to hear what have you created, and above all to enjoy it.

Details of the application

Inserting tones

Tones are inserted by typing on a computer keyboard. It is sometimes necessary to distinguish tones from different octaves, and this application uses musical conventions to do this. According to these, the lowest possible tone is C0, the highest possible, C8. All other tones lie in between. For example D#4, Gb6.

Three-voice and four-voice

Compositions which are not very complex usually contain three or four independent voices, which move independently with regard to each other. Four is also the number of voices this program can work with. Single voices are marked "1", "2", "3" and "4". Voice 1 (or Tone 1) is the highest tone or voice in the actual chord.

Wide harmony

Four-voice and three-voice compositions are usually written in so-called wide harmony. What does this mean? For example, the triad C - E - G is not spread only within one octave, but within two or more octaves. For example, above tone C is tone G and above tone G is tone E. Additionally, if the composition is four-voice, then some of these tones will be doubled. This means they will be in the chord twice in two different octaves.

Type of chord

The type of chord is typed into the field below the tones. Harmonic symbols are used in order to do this: 5 means triad; 6 is the first inversion of the triad; 64 is the second inversion of the triad; 7 is the seventh chord; 65, 43 and 2 are inversions of the seventh chord.


The "Theory" part of the application checks whether input chords conform with all harmonic rules, as described by music theorists. I have changed this in the "Practice" part, where only the type of chord and its position are checked by default, not complex harmonic rules. However, this can easily be customized at the "Check" menu, so that everyone can choose for himself the rules he wants to follow. The application will then only check these.

Check a chord

The cornerstone of the application is the "check" button. It checks input chords for the fulfillment or violation of harmonic rules. It also suggests harmonically “correct” alternatives and, thereby, helps to solve harmonic problems.


When you compose music in a particular key, it is impossible to create something ugly. However, the "Chromatics" button is a little dangerous in this regard, because, when used, it can happen that your music simply won't be in tune. Hence, I recommend using it carefully. It is located in the "Practice" part of the application.
When you press this button, it adds the prefix "ch" before the type of chord, enabling you to insert chromatic tones into it. It will also provide you with a little help - it will identify which input tones can be chromatically altered and also how. In addition, it will present information about the tones you have input so that you can see which intervals are contained within your chords.

Harmonic function

The "Theory" part of the program automatically computes the harmonic function of the previous and current chord. However, in the "Practice" part, it is necessary to click on the "Recalculate" button to do this. The harmonic function is the position of the chord in the key, such as T (tonic), II (second grade), III (third grade), D (dominant), S (subdominant), VI (sixth grade), and VII (seventh grade).

Saving a composition

The "Practice" part of the program provides the possibility to save a current composition. This can then be reopened in the same part of the application, or in the "Theory" part, where only the bass and type of chord are loaded.

The "Composition" menu

The "Composition" menu, located in the "Practice" part of the application, contains the following entries:

  • Open: loads file containing saved composition (file is of .har extension)
  • Save: saves composition into a file (with .har extension); also saves further windows if the composition spans more than one window
  • Insert chord: inserts empty chord into current position and shifts other chords to the right
  • Delete chord: deletes chord at the current position
  • Delete from here...: deletes current chord and also a selected number of chords to the right of it
  • Delete all from here: deletes current chord and all chords to the right of it
  • Find a chord...: finds a particular chord; also searches through further windows if the composition spans more than one window
  • Analyze chord: determines intervals between tones in the chord (relative to the bass) and eventually also names the chord
  • Three-voice mode: lets the user input chords consisting of only three tones

What the application checks

  • Type of chord: whether input tones correspond to the desired type of chord
  • Omitted tones: whether some tones from the desired type of chord are missing
  • Crossing of voices: whether a lower voice is above an upper voice
  • Wide harmony: whether some tones are too far from each other
  • Leading tone doubled: whether there are more leading tones in the chord
  • Leading tone not resolved: whether the leading tone has risen to a tonic
  • Non cantabile interval: whether a non-cantabile interval occurs in a voice
  • Parallel eights: whether two voices are moving along, preserving an interval of eight
  • Parallel fifths: whether two voices are moving along, preserving an interval of fifth

Tonal systems

It is possible to input the following tones in the following tone systems:

  • Dur/Moll ,. : for example Dis,, Dis, Dis dis dis, dis,, dis,,, dis,,,,
  • Dur/Moll 12 : for example dis0 dis1 dis2 dis3 dis4 dis5 dis6 dis7 (lower case)
  • Major/Minor ,. : for example D#,, D#, D# d# d#, d#,, d#,,, d#,,,,
  • Major/Minor 12 : for example D#0 D#1 D#2 D#3 D#4 D#5 D#6 D#7 (upper case)
English Deutsch Русский Česky Slovensky