Creating Chorales… Algorithmically?

As I went through my intro Music Theory class writing out 4-part chorales, I wondered if there was some way to “solve” them algorithmically. I didn’t wonder for long…

 

I wrote a handy little program that lets you input a bass line and automatically generates the other three parts using 4-part chorale rules. It’s written in C++ and uses the Stanford C++ library for graphics.