Algorithmische Komposition mit Common Lisp
Erweiterung von Clarence Barlow
Von der Komposition existiert auch eine Extended Version von Clarence Barlow aus dem Jahr 1991. In dieser Version bricht das Stück nicht am Ende der ersten Stimme ab, sondern der gesamte Kanon wird noch einmal symmetrisch am Ende des Originalkanons gespiegelt und läuft als Krebs des Originals ab. Der folgende Code erzeugt diese Version.
(defun spectral-canon-barlow (&optional dur) "Return a list of sfz Instances for the extended version of the Spectral Canon by James Tenney suggested by Clarence Barlow." (let ((original (spectral-canon)) (total-duration (get-time 384 1))) (append original (loop for evt in original if (< (sv evt :time) (get-time 384 1)) collect (let ((new (copy-object evt))) (setf (sv new :time) (- (* 2 total-duration) (sv evt :time))) new)))))