CITATION — REFERENCE ENTRY

Musical harmonization with constraints: A survey — Constraints

Revision 0fc6ed65-a80b-47f4-8b02-c1c90bf1ebd3 · 11/1/2026, 5:14:55 PM UTC
Key
pachet2001-harmonization-constraints
Authors
Pachet, François; Roy, Pierre
Issued
2001
Type
article-journal
Container
Constraints
Volume
6
Issue
1
Pages
7-19
Raw CSL JSON
{
  "URL": "https://www.francoispachet.fr/wp-content/uploads/2021/01/pachet-01-Musical_Harmonization_with_Constraints.pdf",
  "page": "7-19",
  "type": "article-journal",
  "issue": "1",
  "title": "Musical harmonization with constraints: A survey",
  "author": [
    {
      "given": "François",
      "family": "Pachet"
    },
    {
      "given": "Pierre",
      "family": "Roy"
    }
  ],
  "issued": {
    "date-parts": [
      [
        2001
      ]
    ]
  },
  "volume": "6",
  "container-title": "Constraints"
}

Claims

  1. Pachet and Roy considered the technical problem of four-voice harmonization solved by constraint satisfaction using arc-consistency, but the problem of producing musically interesting results unsolved. Electronic keyboards offer basic real-time harmonization on a note-to-chord basis without taking melodic context into account, since real-time requirements rule out backtracking. Neural network approaches such as Hild et al. (1992) had been shown to yield excellent results.
    "The technical problem of four-voice harmonization may now be considered as solved, using constraint satisfaction techniques based on arc-consistency [...]. However, what remains unsolved is the problem of producing musically nice or interesting melodies. [...] In practice, there are a lot of synthesizers which propose basic harmonization features (such as one-touch chords on some electronic keyboards). These harmonizations are usually performed on a note-to-chord, reactive basis, i.e. without taking into account the context (preceding notes of the melody). Real time requirements forbid anyway the use of backtracking for such systems ! [...] several approaches in solving the harmonization problem using learning techniques such as neural networks have been proposed, for instance in (Hild et al., 1992), and shown to yield excellent results."
    Locator: section: 2–3 · Quote language: en
  2. When one voice is fixed, harmonization becomes a finite-domain constraint satisfaction problem: each note to be found is a variable ranging over its voice's range, and the rules are constraints. Variants from composition teaching include harmonizing a given melody, an unfigured bass, a figured bass (whose figures indicate the chords, as harpsichordists once realized in real time), and finding only a bass for a melody.
    "The combinatorial problem arises when one has to produce harmonizations with an imposed, fixed voice. In this case, the harmonization problem naturally becomes a finite domain constraint satisfaction problem: each note to find may be considered as a variable whose domain is the range of the corresponding voice (soprano, alto, tenor, bass). The harmonic rules may then be considered as constraints [...]. Traditional exercises in composition classes include: Melody imposed (soprano), compose the three other voices. Unfigured bass: the bass is imposed; compose the three other voices. [...] Figured bass: the bass part is imposed, as well as figures indicating the nature of the chord on top of each note of the bass. [...] It used to correspond to an actual practice of harpsichord players, who had to play - in real time - chords that satisfied the bass voice, the figures, and a sung melody. Two-voice problems. A melody is imposed, find the bass only."
    Locator: section: 1.4 · Quote language: en
  3. Automatic harmonization is the problem of producing musical arrangements from given melodies, satisfying rules of harmony; most work has focused on tonal music and used constraint techniques. Treatises of harmony mostly state rules as prohibitions: in four-voice writing (soprano, alto, tenor, bass), each voice has a range, voices should not cross, some melodic intervals such as the tritone are forbidden, and parallel fifths and octaves between successive chords are prohibited. Respecting the rules does not guarantee musically interesting results; the rules are merely syntactic.
    "This problem, which consists in creating musical scores which satisfy given rules of harmony, has been the object of numerous studies, most of them using constraint techniques in one way or another. [...] automatic harmonization, i.e. the problem of producing musical arrangements (scores) from given melodies [...] In this survey we focus on tonal music [...]. They are mainly specifications of forbidden combinations of notes [...]. Finally, respecting the rules does not guaranty that the result will be musically meaningful or interesting. To make an analogy with language, harmonic rules can be considered as merely syntactic. [...] four-voice music [...] (the soprano (highest), alto, tenor and bass (lowest)). [...] each melody has a given range [...]. Additionally, a rule states that voices should never cross each another. [...] several intervals between notes are forbidden, such as the tritone interval [...]. This rule states that between two successive chords there should not be a parallel fifth. [...] Other similar rules apply to parallel octaves or unison intervals."
    Locator: section: Abstract, 1–1.2 · Quote language: en
  4. Schottstaedt (1984) built a four-part harmonization system based on Fux's treatise. Kemal Ebcioğlu (1987) was probably the first to complete a system producing high-quality four-part music fully automatically: it contained about 350 rules representing Bach's style, written in a purpose-built constraint logic programming language (BSL) using backjumping, but it is hard to understand and assess because it is implemented in a proprietary language with many interrelated modules.
    "Schottstaedt (1984) describes a complete four-part harmonization system based on Fux's treatise [...]. Ebcioglu (1987) is probably the first to have completed a system able to produce high-quality four-part music entirely automatically. [...] Concerning the strict problem of harmonization, Ebcioglu's system contains about 350 rules, representing the style of Johan Sebastian Bach as analyzed by Ebcioglu. These rules are represented in a constraint language specifically designed for the task, called BSL. BSL is essentially a constraint logic programming language implementing backjumping [...]. The system is, however, difficult to understand and assess, because it is implemented in a proprietary language, and contains lots of interrelated modules."
    Locator: section: 2 · Quote language: en
  5. Treatises on harmony do not all contain the same rules, but some basic rules, such as the parallel fifth rule, are considered valid throughout the evolution of tonal music. The rule states that if two notes of one chord form a fifth, the corresponding notes of the next chord should not also form a fifth; similar rules apply to octaves and unisons. Such rules mainly specify forbidden combinations of notes rather than a complete procedure for composing.
    "First, all treatises on harmony do not contain exactly the same rules. In fact, rules have evolved along with music. However, a set of basic rules are considered valid throughout the evolution of tonal music, and therefore always included, such as the parallel fifth rule illustrated below. Second, these rules are not intended to constitute a fully specified algorithm for composing music. They are mainly specifications of forbidden combinations of notes ... This rule states that between two successive chords there should not be a parallel fifth. More precisely, if there is a fifth interval between any two notes of the first chord, then there should not be also a fifth between the two corresponding notes of the next chord. ... Other similar rules apply to parallel octaves or unison intervals."
    Locator: section: 1.1-1.2 · Quote language: en
Available in