This is a project to examine the use of generating music and harmony using CSPs and Python. This program uses the Generalized Arc Consistency algorithm with Domain Splitting to find a voicing for a given harmony that does not violate the rules of Counterpoint. A sample can be found at https://z.umn.edu/aiharmonizersample1.
broden-wanner/ai-harmonizer
Models the problem of harmonization as a constraint satisfaction problem
Python