The idea of this article is to open up a discussion on how to add way a musical canon is composed and written and to apply them into algorithmic music environment. Below is a few of standard concepts that you will find when composing a canon.
Augmentation increases the duration of each note by a uniform proportion. example if the melody contains 8th note and quarter note. The augmented version of the melody might substitute quarter for 8th notes and half notes for the quarter notes.
Diminution decreases the duration of each note by a uniform proportion. example if the melody contains 8th note and quarter note. The augmented version of the melody might substitute 16th notes for 8th notes and 8th notes for the quarter notes.
Inversion is like a mirror image of the original melody. Inversion reverse the direction of the melodic intervals. example if the melody was an ascent of a major 3rd from c to e. The inverted melody would be C down to A or descend a major third.
Retrograde is a musical term that literally means "backwards" This is a technique used in music,
The original melody is played backwards. Specifically in Serialism, where the retrograde techniques are performed on the same tone row at the same time.
Now recreating these in a computer music system can easily be achieved I will be tackling each one these formats personal in my language of choice which is ruby. If all of these concepts once the algorithm is figured out and understood it can be recreated in and programming language.
I like to invite you en sharing comments on this theory and how and the easiest way that they can be achieved..