The Atonal Harmony Generator
What It Is
What It Does
The module mixes stochastic procedures with chord progression algorithms to make melodic, rhythmic and harmonic decisions that yield homorhythmic textures, which are stylistically valid in the atonal realm.
The Atonal Harmony Generator operates in two stages. It first builds a list of possible chords using stochastic means, and then employs deterministic processes to segregate/arrange the best of them as part of an harmonic progression.
A significant share of the processes employed by Atonal Harmony are non-deterministic. As a direct consequence, there will be situations where musical output does not seem to reflect the current configuration (if not defy it, altogether). You must consider the results statistically, and only amend the configuration when several chorals generated by the same set of parameters fail to meet your expectations.
Atonal Harmony uses 8 configuration parameters, which are described below.
A harmonic rank is a group of semantically related harmonic intervals. Available flavors range from most consonant (thirds and sixths) to most dissonant (seconds and sevenths). Weigh out the harmonic ranks you want the program to consider using. Note that perfect octaves (doubling) will be employed automatically, whenever they seem fit.
The rhythmic durations you want the program to consider using, along with their weights. There are no sixteenths in this table as they only serve polyphonic textures or sung lyrics, which are neither provided by this module.
Lowest Permitted Note
The lowest pitched note that should ever be allowed in the resulting choral, as a MIDI note number. For example, middle C is 60 in MIDI; the E of the bass operatic voice is 40.
Highest Permitted Note
The highest pitched note that should ever be allowed in the resulting choral, as a MIDI note number. For example, middle C is 60 in MIDI; the C of the coloratura soprano operatic voice is 84.
Chord progressions are carried out considering (among other factors) the already existing material. This controls how many chords to observe prior to the current one.
This parameter is related to Analysis Window. Controls how important rules are in any decision-making where randomness is also a factor.
Use Seeded Randomness
Whether to use a species of pseudo-randomness that produces consequential results (based on a given value, referred to as a seed). Useful for testing.
The value to base seeded randomness on (if employed).
What o Use It For
You use the Atonal Harmony Generator to synthesize free atonal, homorhythmic textures. Statistically, generated progressions are good enough to serve as a starting point for non-thematic surfaces, or as raw material for background harmonic sequences.
Note: the complete list of pending bugs, features and epics is available in Jira.