Algorithmic Composition - Windchimes
References
Computer Music Algorithms (2nd ed) by John Francis
AC Toolbox by Paul Berg
Aim: Convert “Computer Music Algorithms”project to AC Toolbox
4 sections with 7 notes randomly placed
Section 1: notes from Pentatonic scale, slow tempo
Section 2: notes from Whole tone scale fast tempo
Section 3: notes from Pentatonic scale, medium tempo
Section 4: notes from Locrian Scale, medium temp
In the initial algorithm the note are place in time while in AC Toolbox in general notes are place serially with rests. My solution was to generate a stockpile of 64 random values between -8 time unit and 4 time units (rv -8 4). The note duration would be randomly chosen from this list.
My method was to create a Data Section for each of the 7 channel for each of the scales, e.g.
Name: windchimes-lydian-2
Clock: (rv 180 240) // 180 - 240 milliseconds
Rhythm: (Rc wind-rhythm-8) // Randomly choose from the stockpile “wind-rhythm-8″.
Number: 10 // notes
Pitch: (rc (generate-range (lydian c3) c5)) // randomly choose from a list in the lydian scale from C3 to C5
Velocity: mf // medium
Channel: 2
A parallel section which used the data sections of the scales which constructed for each scale.
This process meant that any change to a group meant that all changed sections had to be generated again and the combination had to be generated. I had hope yo use the AC Toolbox feature “Generate parallel section” which remakes all the components of the section and related objects but this ignored the channel designations. Every thing was sent to Channel 1 which was wrong.
windchimes-pentatonic-1 // I started with single sections as the all channel version too often started with simultaneous notes.
windchimes-pentatonic-all
windchimes-wt-1 // single
windchimes-wt-all // parallel combination of whole tone sections
windchimes-pentatonic-1 // Initial reprised
windchimes-lydian-1 // single
windchimes-lydian-all // // parallel combination of whole tone sections
There maybe a more efficient structure but this gets the job done for now.