Hello all,
Some years ago I created a simple program to generate “tonal” canons using the music21 library.
With more recent versions of music21 I hit some problems to generate notation, but by using music21 for the “music calculations” and then using scamp to realize some notation/performance these were easily solved.
more info about how it works can be found in this old blog article that describes the system: http://a-touch-of-music.blogspot.com/2013/08/algorithmic-composition-generating.html
An example of such a canon (it’s a simple system ):