Making FuxCP generate harmonious Counterpoints

(2026)

Files

Burignat_35171700_deMentendeHorne_62682000_2026.pdf
  • Open access
  • Adobe PDF
  • 2.71 MB

Details

Supervisors
Faculty
Degree label
Abstract
FuxCP is a constraint-programming based generator for species counterpoint in the style of Johann Joseph Fux. It encodes Fux-inspired rules as explicit constraints over discrete musical variables (MIDI pitches on a rhythmic grid) and ranks feasible solutions using a structured cost model. Before this thesis, the project already contained an extensive rule base spanning multiple species and voice counts, but it was not yet robust as a generation system: optimization could crash after the first solution, several higher-species and multi-voice configurations were impractically slow or infeasible within reasonable time budgets, and recurring musical artefacts (e.g., repetition patterns and weak multi-voice harmonic control) appeared in generated outputs. This thesis improves FuxCP along two complementary axes. First, it introduces structural improvements that make generation stable and controllable: a corrected optimization pipeline (including objective variable instantiation for Branch-and-Bound), refined branching and pruning choices, explicit solver controls (timeout and stagnation management), and a consolidated orchestration layer with a standalone CLI, a pro- grammatic API returning a structured GenerationResult, configuration loading from CSV presets/cantus datasets, MIDI export, and cantus-firmus scale detection for direct inputs. Second, it improves the musical model through targeted constraint work: new voice-independence constraints, multi-voice harmonic completeness rules motivated by expert review, a Bitsch-inspired chord-membership rule for weak beats, and relaxed variants of selected constraints to preserve musical intent while keeping hard cases solvable. Experiments on representative configurations show that previously problematic settings in fourth and fifth species and in multi-voice contexts become practically reachable, while the resulting counterpoints exhibit fewer systematic artefacts and improved stylistic coherence under fixed generation budgets.