Dette verket, som består av 14 danser, er et i en rekke kammer-teatralske verk som Mr. Davies skreiv på 60-tallet. Verket inkorporerer noen religiøse elementer, og benytter seg av imitasjon og parodisering for å realisere flere samtidige, gjensidig avhengige nivåer av musikalsk og dramatisk mening. Hver av de 14 dansene er koblet til tegninger fra en anatomibok fra 1500-tallet, laget av Andreas Vesalius, samt 14 scener fra noe bibel-tekster om kristi kors. Davies prater om et 3-lags sett av dramatiske super-posisjoneringer: Vesalius illustrasjonene, scenene fra teksten, og danserens kropp. Tilsvarende bruker han 3 musikalske super-posisjoneringer: pop-musikk, renessanse-polyfoni, og hans egen musikk.
Han benytter seg bl.a. av teknikker vi har sett på her. Et lite stykke ut i første dansen (takt 820) tar solo-celloen en pause, og fløyte, bassett klarinett, xylofon og piano spiller en slags akkompagnerende dobbelt-kanon. Fløyte spiller melodien rett fram, klarinetten spiller en transponert, retrograd versjon av den samme melodien. Xylofonen og piano gjør det samme, men starter seinere og diminuerer rytmeverdiene for å nå igjen de andre. (Diminuering av rytmeverdier var vanlig i Ars Nova også.)
La oss forsøke å formulere noe sånt i Lisp.
Først noterekka og rytmerekka som henta fra celloen. Siden disse rekkene skal brukes av flere instrumenter er det greit å lage en funksjon som kan levere dem der og når de trengs:
(defun lagnoter () (notes bf4 fs c5 e gs4 r c e5 bf fs4 d5 r e bf f6 g f5 ef6 r)) (defun lagrytmer () (rhythms q. e e q h e q e e q q e q. e. e. h e q. e))Så var det de 4 stemmene. De skal spille ``parallelt'' eller samtidig, så vi lager en mix, merge på Common Musicsk, å ha dem i. Så er det bare å gi verdier til note og rytme, evt. med justeringer i form av snuing (retrograd) , transposisjon eller diminuering.
(merge maxwell () (generator Flute instrument-note () (vars (noter (lagnoter)) (rytmer (lagrytmer))) (setf note (item noter :kill t)) (setf rhythm (item rytmer))) (generator BsstCl instrument-note () (vars (noter (lagnoter)) (rytmer (lagrytmer))) (setf note (transpose (item (retrograde noter) :kill t) 1)) (setf rhythm (item (retrograde rytmer)))) (generator Xylo instrument-note (start 4.5) (vars (noter (lagnoter)) (rytmer (lagrytmer))) (setf note (transpose (item noter :kill t) -6)) (setf rhythm (* 6/8 (item rytmer)))) ; starter seint - slutter likt (generator piano instrument-note (start 4.5) (vars (noter (lagnoter)) (rytmer (lagrytmer))) (setf note (transpose (item (retrograde noter) :kill t) -5)) (setf rhythm (* 6/8 (item (retrograde rytmer))))))Litt salting må gjøres med piano-stemmen når det gjelder varigheten til notene. Det er to måter å gjøre dette på. Den enkleste er kanskje å sette inn uttrykket (setf duration (* 6/8 (rhythm 'e))) inne i generatoren. Eventuelt kan du skrive i editoren:
set piano duration (* 6/8 (rhythm 'e))
eller noe lignende.
Figure 4.6: DAVIES: Vesalii icones - takt 8--13
Noen kommentarer til koden ovenfor er kanskje på sin plass. Egentlig holder vi på med uhyggelig kompliserte ting her. Funksjonene retrograde, transpose er greie, det samme er å gange med en faktor for å forkorte verdien som kommer fra rytmestrømmene. Når en sånn generator eller algorithm blir kalt for å lage noter, blir kroppen utført i en løkke som gir nye verdier til de ulike parametrene. For hver ny note blir løkka utført en gang, og alle lisp-uttrykkene som står der blir evaluert for å returnere verdier. (vars...) -uttrykket i starten av generatoren sørger for at de variablene som får verdi der (noter, rytmer) kun får verdi den første gangen uttrykket blir utført. Dette er mye bedre forklart i ``Common Music Dictionary'' og i ``Stella Tutorial'', samt i de eksemplene som følger med kildekoden.
I komposisjoner fra rundt 1500-tallet finner man i komposisjoner ofte ordspill i form av gåter knytta til kanon, som må løses før verket kan spilles. Løsningen på disse gåtene ga en metode for hvordan verket skulle framføres. I satsen Agnus Dei III av Guillaume Dufays Missa L'Homme armé fins ordene Cancer et plenus et redeat medius (``La krabben fortsette fullt og returner halvt''). Man har tolket dette til å indikere at Cantus Firmus synges to ganger, først i fulle note-verdier, så i dobbelt tempo og retrograd bevegelse (indikert ved ``redeat''). Imidlertid, siden krabber vanligvis krabber baklengs/sidelengs må jo forover egentlig bli retrograd, og returen derfor i vanlig retning...