Ye Olde Canon Generator: Instructions

by Christopher Bailey

Click here to return to the main entry page.



You need to enter 3 things:

  1. Number of Voices: Self-explanatory. Simply the number of voices.


  2. "fatness factor": This controls how close is the "stretto" of the canonic entries. Do the voices
    • topple over one another, coming in right away against each other?
    • Or does voice 1 sing away for a while, then much later, voice 2 comes in, then much later, voice 3, etc.?
    The "Fatness Factor" is a value of 0-1. It should probably never be 1.0 or 0.0 Generally values between .7-.95 will give interesting results. (Lower values will give you too many results, probably, none of which will be very cool.)
    • Values close to 1.0 mean the former situation (the canon is "thin", very stretto-ed, and it's over ASAP);
    • values close to 0.0 mean the latter situation (the canon is fat, wide and long, more like a fugue.)



  3. The theme: Pitch-wise, the theme is entered with pc-notation, with C being 0, C# being 1, etc. You can place a Rest in the theme with the letter R.

    Rhythmically, it's a bit more complex. If you have, say, a theme with quarter-notes and 16th-notes, then you have to enter the theme as a string of "what's happening on every 16th-note," since the 16th-note is the smallest unit (or "atomic" unit) of rhythmic change. (It doesn't really matter what kind of rhythm value you think of as your "atomic unit", as long as you're consistent within a theme).

    The program doesn't distinguish between repeated notes and held notes, in other words (as, neither do our hears, harmonically speaking.)
    Hence, the tune Deck the Halls would be as follows:
    	7 7 7 5  4 4 2 2  0 0 2 2  4 4 0 0  2 4 5 2  4 4 4 2  0 0 11 11  0 0 0 0		
    				
    Or, We Wish You A Merry Xmas
    	7 7   0 0 0 2 0 11  9 9 9 9 9 9   2 2 2 4 2 0   11 11 7 7 7 7   4 4 4 5 4 2   0 0 9 9 7 7 etc.
    				
    Notice, register of the pitches is unimportant. Again, the only thing that matters in making the canons is the kind of harmony produced. (the "set-class" in set-theory parlance.)

    Again, the theme must be quantized to one atomic value. So if you have triplet-8th-notes as well as 16th-notes, then you have to convert one to the other. I.e. change the triplet of 3 8ths to 4 16ths as best you can. (Of course, when you compose out the music, you can change it back into a triplet, and the harmony will most likely work fine.)

    So a little melody of C-D-E-F (4 16ths) followed by G-A-G (8th-note triplet), followed by F-E-D-C (4 16ths again) you could enter as follows:
    	0 2 4 5   7 7 9 7  5 4 2 0
    				
    NOT as:
    	0 2 4 5   7 9 7    5 4 2 0
    				
    If you really wanted to be more accurate, to get the "quantized" triplet more like a real triplet, you could use a smaller atomic value (in this case, 32nds):
    	0 0 2 2 4 4 5 5    7 7 7 9 9 9 7 7
    				
    Finally, here is the theme from the last movement of Beethoven's Eroica Symphony to demonstrate the use of Rests (note again that the 2 10's (Bbs) are not distinguished, even though in the actual piece they are in different octaves):
    	3 r r r  10 r r r  10 r r r  3 r r r  3 r 2 r  3 r r 4   5 2 3 0  10 r r r
    				
warnings: