Dette lille eksempelet er egnet til å illustrere 3 viktige ting:
(generator cage instrument-note (length 100) (vars (prob (expr (interpl count 0 0 100 8)))) (setf note (item (notes ¯(g4 weight prob) (a weight prob) bf (c weight prob) d (e weight prob) f (r max 1) ; ta en pause en gang i mellom in random for 1))) ; rekalk. av vekt pr. note (setf rhythm (item (rhythms s e te te te q. in random tempo 40))) (setf duration rhythm))
Figure 4.7: Akrostikk med varierende sannsynlighet
Algoritmen utsetter sannsynlighetsberegningen for notene C,A,G,E til ``seinere''. Når algoritmen spilles, blir disse notenes relative vektlegging forandret som en funksjon av verdien på algoritmens ``count''-parameter som går fra 0 til length-1 for algoritmen. Variabelen `` prob'' er det utsatte uttrykket (en ``expr'') som beregner vektene til C,A,G,E--notene. Mens algoritmen utføres vil ``expr'' -en automatisk bli regnet ut hver gang den blir støtt på i random-strømmen. Siden random-item-streams rekalkulerer sannsynligheten for elementene sine en gang pr. strømmens periode, har vi satt perioden til 1 her for å få sannsynligheten rekalkulert på en note pr. note basis. Sannsynlighetene er uttrykt som en interpolasjon-funksjon, så du kan eksperimentere med koordinatene for å oppnå ulike effekter.