To Contents

The Chord-based model

Assumptions

The Chord-based model is based on the following primary assumptions:
  1. A tonal melody is based on an underlying harmonic progression
  2. A tonal melody consists of Parts
  3. A tonal melody consists of structural tones (the skeleton) and ornamental tones. More
  4. The skeleton consists of chord tones (tones that are elements of the underlying harmony)
and the following additional assumptions:
  1. Structural tones are primarily located at metrically strong positions
  2. Non-chord tones are resolved by nearby chord tones
  3. Steps occur more frequently than leaps (for the skeleton the steps are on the triadic scale)

Implementation/Operation

The Chord-based model is based on the following architecture:

                                                    ChordBasedModel1a

Thus, there are two methods to construct a melody:
    1. By consecutively adding Parts. A Part can be constructed in a Stepwise or non-stepwise fashion.
    2. By using one of the prefab structures. In this mode construction can be either automatic or user guided, as will be shown.


This is the Construction pane of the Chord-based model:

                               ChordBasedModel1


First we deal with the Part by Part construction, explaining the three stages of generation. After that we describe the Structure based construction.


A. Part by Part construction

The generation of a melody in Melody Generator II basically consists of three stages:
In this mode, a melody is constructed in a number of steps. In each step the you may adjust the relevant parameters. These are shown in red when you move the cursor over the construction buttons.
  1.     Push the 'New Melody' button to set Key and Meter.
Now, there are two ways to construct a Part:

1. Step-wise construction


In the Step-wise construction you do the following:
  1. Push the button 'Add Part by step'. Next you add the various aspects (as many times as you like)
  2. Set Rhythm. Here the rhythm of the melody is created. More
  3. Set the Gap at the end of the melody.
  4. Set Harmony. Determines the underlying harmony for each measure
  5. Set Contour. Determines whether or not some or all measures should have the same contour
  6. Set Skeleton. Assigns the slots that will have a skeleton note (on downbeats, beats, or all slots). Sets the pitches of the Skeleton; the pitches are chord tones.
  7. Change ornamental notes (optional).
  8. Ornament. More
You can change each aspect as many times as you like (and listen to the result). Changing one aspect may need the (re)construction of other aspects as indicated by the red lights at the left side of the buttons. The order of construction is enforced by the interface (by disabling the controls, and by means of the red and green 'lights' of the controls).
When you are satisfied with the result, press the 'Done' button (becomes visible when all aspects of a Part has been made).

2. Non Step-wise construction

This works in principle the same as the step-wise construction except that after pressing the 'Add complete Part', an entire Part is constructed using the parameters as set. Next you can change each of the aspects in the same way as described above.

You can add more Parts as shown above, i.e. by pushing one of the buttons 'Add Part by step' or 'Add complete Part'.

However there is an additional method to duplicate, move and remove Parts which is made available when you right click on a Part:

                               ChordBasedModel2

After you have constructed one or more Parts, you can apply one or more transformations to a Part. The Transformation panel is opened either by right clicking on the Part and next selecting 'Transform Part', or by left-clicking and pushing the 'Edit?' button that will appear:

                               ChordBasedModel3

After pushing the 'Edit' button, the Transformation Panel will be opened while the Part you will be transforming is
 shown with its staff highlighted in red:

                               ChordBasedModel4


At present the following transformations can be applied:
  1. Increase elaboration. Each time the button is pushed the number of tones in the Part is increased.
  2. Reduce elaboration. Idem, but decreased
  3. Transpose 1. Applies a transformation of 1, 2, or 3 steps within the current harmony
  4. Transpose 2. Applies a transformation of 1-7 degree steps up or down, thereby adjusting the harmony
  5. Change pitch. Changes the pitches of the Part while keeping rhythm and harmony intact
  6. Change rhythm. Changes (only) the rhythm of the Part.
In the future more options will be added.

B. Structure-based construction

In this mode the pre-set structures in the Listbox at the right of the construction panel can be used after the 'Structure based' checkbox is pressed and the list of structures activated:

                               ChordBasedModel5
'Ant' and 'Cons' refer to the Antecedent-Consequent formula. The antecedent consists of a melodic phrase ending with a half cadence upon a note evoking the expectation for another note which will be the last note of the full cadence ending the consequent phrase.
As shown, the user can add additional structures after pushing the 'Add a structure' button. In the Structure-based mode a  melody can either or not be constructed automatically (after pushing the 'Automatic' button) or by hand.

1. Non-automatic generation

In this mode a structure is selected from the list by double clicking. Next the user creates the first Part in the same way as described above:

                   ChordBasedModel6

Each new Part is generated in the same way. A repetition or a variation of a Part (indicated by a digit after the name), will be added automatically by the program.

Coding of the structure

The Structure of a piece is coded as follows:
  1. A structure consists of Parts identified by one of the letters: A B C D E F G.
  2. The initial and final Harmony may optionally be indicated by one of the Roman numerals I, II ...VII, respectively preceding and following the Part identifier
  3. A variation of an (original Part) is indicated by a suffix consisting of a single digit, e.g. A2.
  4. There are a few reserved words, namely Ant indicating an Antecedent Part, Cons indicating a Consequent Part, and Coda indicating a Part at the end of a structure
  5. Parts are delimited by a space
  6. Repetitions of one or more parts are indicated by the symbols [ ].
Here are a few examples of legal Part encoding: A, IA, VAI, VAI1

For an Ant Part the Harmony selector will be set on Antecedent harmony (this can be overruled by the user). Similarly, for a Cons  Part for a Consequent harmony will be preset.

2. Automatic generation

In this mode, activated when the 'Automatic' checkbox is clicked, a complete melody based on the selected structure will be composed (Remember that the essential goal of the project is to model the generation of tonal music, that is to simulate the generation of tonal melodies without the interference of a human subject).

In this Automatic mode, a number of the Time and Pitch parameters are set randomly, each time a next Part is constructed. In addition, a randomly selected transformation is applied to a Part that is a variation of an original Part.

Once a structure-based melody is generated, its Parts can be re-arranged and transformed in the same way as described above.



Part is used in a generic sense without further defining it as a motive, phrase, segment, etc.

Chord-based model.html (last update 7.3.2009)
Created in SeaMonkey
© D.J. Povel, 2009

To Contents