80 likes | 267 Views
Kevin Deisz. Baroque-Era Algorithmic Composition. 1 st Step – Keys. Number all of the keys on the piano Everything is in the key of C. 2 nd Step – Diatonic Chords. All of C major’s diatonic chords (based off scale degrees)
E N D
Kevin Deisz Baroque-Era Algorithmic Composition
1st Step – Keys • Number all of the keys on the piano • Everything is in the key of C
2nd Step – Diatonic Chords • All of C major’s diatonic chords (based off scale degrees) • findPossibles() method returns the number of the keys in the lowest octave in the right chord
3rd Step – Secondaries • Adding in secondary dominants and leading tones • Secondary dominants: dominant chord of ii, iii, IV, V and vi • Cmaj dominant chord is Gmaj, Gmaj dominant chord is Dmaj (with an F#) • Secondary leading tones: leading tone chord of ii, iii, IV, V and vi • Cmaj IV chord is Fmaj, Fmaj leading tone chord is Em diminished (E G Bb)
4th Step – Cadence Points • Cadence points are points in the music that the motion can momentarily cease to give a sense of resolution • Currently, for simplicity, music is divided into four-bar phrases • After a cadence point, the chord progression can go anywhere, though it generally begins at I
5th Step – Deceptive Progressions • At certain times, the progression can be resolved in the minor mode, i.e. V → vi • Can also be resolved in the modulated key, i.e. V/IV → ii • Allows the map to change based off of the current progression within the piece
6th Step – Rhythmic Variation • Adding in eighth note passing tones based off of a probability map determined by scale degree • Adding in syncopation based off of a certain probability and proximity to a cadence point • Pyramid of rhythmic diversity based off of all four parts, i.e. soprano moves much more than the bass
Output • Python script translates • Output from the program (notes): [28, 30, 32, 33, 35, 37, 39, 40] • Converts to lilypond form: [“C”, “D”, “E”, “F”, “G”, “A”, “B”, “C’”]