-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenerator.l
52 lines (47 loc) · 2.13 KB
/
generator.l
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
;Morgan McGivern 2021
(load 'lp.l)
(load 'abctransmutator.l)
(load 'fibfractal.l)
(load 'lsys2.l)
(load 'markov.l)
(defun fibonaccinotes (n)
"generates N bars of fibonacci based notes"
(if (> n 0)
(append (list (list (rfibnote) (rfibnote) (rfibnote) (rfibnote))) (fibonaccinotes (decf n)))
(list (list (rfibnote) (rfibnote) (rfibnote) (rfibnote)))
)
)
; (defun Lsys-to-ABC (lsys #'encoding)
;
; )
(defun lsys2demo1 (n)
(setf *rule-table* '(
(((C 0 1/4 NIL)) ((((C 0 1/4 NIL) (A 0 1/4 NIL) (E 0 1/4 NIL)) 0.3)
(((F 0 1/4 NIL) (D 0 1/4 NIL) (E 0 1/4 NIL)) 0.5)
(((C 0 1/4 NIL) (A 0 1/4 NIL) (G 0 1/4 NIL) (C 0 1/4 NIL)) 1.000))
)
(((A 0 1/4 NIL)) ((((A 0 1/4 NIL)) 1.0)))
(((E 0 1/4 NIL)) ((((E 0 1/4 NIL)) 1.0)))
(((G 0 1/4 NIL)) ((((G 0 1/4 NIL)) 1.0)))
(((D 0 1/4 NIL)) ((((D 0 1/4 NIL)) 1.0)))
(((F 0 1/4 NIL)) ((((F 0 1/2 NIL) (F 0 1/2 NIL)) 1.0)))
(((F 0 1/2 NIL)) ((((F 0 1/2 NIL)) 1.0)))
))
(setf lsystest (generate-IL n '((C 0 1/4 NIL))))
(internal-to-abc (list lsystest))
)
(defun lsys2demo2 (n)
(setf *rule-table* '(
(((A 0 1/4 NIL)) ((((A 0 1/4 NIL) (E 0 1/4 NIL) (A 0 1/4 NIL)) 0.3)
(((E 0 1/4 NIL) (A 0 1/4 NIL) (E 0 1/4 NIL)) 0.5)
(((A 0 1/4 NIL) (A 0 1/4 NIL) (E 0 1/4 NIL)) 1.000))
)
(((A 0 1/4 NIL) (A 0 1/4 NIL) (E 0 1/4 NIL)) ((((C 0 1/4 NIL)) 1.0)))
(((E 0 1/4 NIL) (A 0 1/4 NIL) (E 0 1/4 NIL)) ((((D 0 1/4 NIL)) 1.0)))
(((D 0 1/4 NIL)) ((((D 0 1/4 NIL)) 1.0)))
(((C 0 1/4 NIL)) ((((C 0 1/4 NIL)) 1.0)))
(((E 0 1/4 NIL)) ((((E 0 1/4 NIL)) 1.0)))
))
(setf lsystest (generate-IL n '((A 0 1/4 NIL))))
(internal-to-abc (list lsystest))
)