Harmony Generator
The
Harmony Generator is a separate program that takes a different approach
to generating music. In contrast to the Melody Generator that creates a
melody without any harmony, the Harmony Generator creates a harmony
without a melody.
The Melody
Generator is sufficient for creating sight reading exercises, but
leaves much to be desired from a musical quality standpoint. The main
advantage of the Harmony generator is its ability to adhere to musical
form. The melody generator is only aware of the previous one or two
notes at any given time. Imagine writing a sentence if you could only
know the previous one or two words at any given time. By this same
principle, imagine writing a sentence if you had only a conception of
what the following word should be, but none after that. It would be
extremely difficult (though not impossible) to write a coherent
sentence in this way. The same holds true with the Melody Generator; it
is capable of writing a song that sounds pleasing, but it does not
always accomplish this goal.
Example of the Graphical User Interface of the Harmony Generator
Current Program
This
program asks the user to select the form of the song, the rate of
change for the chords, whether or not they would like to allow uncommon
chord progressions, and if so, gives them the option to increase the
probability of those uncommon progressions. Below is an example output
of the Harmony Generator.
The
program uses a probabilistic method of setting chord progressions
within musical phrases and then places the phrases together in the
selected musical form.
Future Improvements
The Harmony Generator is still in development, and the next features that we would like to add are listed below:
- Chord Substitutions
- Chord Extensions
- Addition of a Melody