Hello everyone,
I just wanted to share my work on automatically generating first species counterpoint in bach. Of course, I have a long ways to go, but just getting this far feels like a major milestone. The patch generates cantus firmi and counterpoints using the bach.contraints object.
The help patch for bach.constraints (which generates a four-part chorale!) is far more sophisticated and elegant, but it served as inspiration as I worked through my own implementation. I chose a slightly different approach, but could never have possibly done this without the help patch as reference.
I plan on improving this even more in the coming weeks. For starters I could really use a constraint to check for overlap (notice measures 5-6!)
A million, billion thanks to Andrea and Daniele for devising this incredibly rich, rewarding and powerful environment.
Does anybody else have experience doing this sort of thing?