CS 342 Lecture -*- Outline -*- * course project ** predicates from Springer & Friedman see Scheme and Art of Programming, chapter 8 ** 4-part voice leading input: initial chord and base line chord = list of 4 notes (in order: s a t b) such that for each x in {s a t}, x = b + p + k*7 where p in {0,2,4} and k is an integer and s > a > t > b note = a (non-negative) integer (1 is tonic, 8 is octave above) bass line = list of notes outout: list of chords such that the bass note of the ith output chord is the ith note of the bass line the first chord of the output is the initial chord of the input and the following rules are satisfied: priority order 1. notes are repeated if posisble in all voices 2. each voice moves to closest note from previous chord 3. if tie, move in direction opposite to bass