A Musikalisches Wurfelspiel (musical dice game) is a technique for using random numbers to compose music from a sequence of musical patterns. In this section we will recreate one of Mozart's Musikalisches Wurfelspiel.
Number tables are used to map the musical patterns to the dice. Each time a dice is thrown, a corresponding integer is assigned to the musical pattern. The following number tables are the ones Mozart used for his waltz.
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
2 | 96 | 22 | 141 | 41 | 105 | 122 | 11 | 30 |
3 | 32 | 6 | 128 | 63 | 146 | 46 | 134 | 81 |
4 | 69 | 95 | 158 | 13 | 153 | 55 | 110 | 24 |
5 | 40 | 17 | 113 | 85 | 161 | 2 | 159 | 100 |
6 | 148 | 74 | 163 | 45 | 80 | 97 | 36 | 107 |
7 | 104 | 157 | 27 | 167 | 154 | 68 | 118 | 91 |
8 | 152 | 60 | 171 | 53 | 99 | 133 | 21 | 127 |
9 | 119 | 84 | 114 | 50 | 140 | 86 | 169 | 94 |
10 | 98 | 142 | 42 | 156 | 75 | 129 | 62 | 123 |
11 | 3 | 87 | 165 | 61 | 135 | 47 | 147 | 33 |
12 | 54 | 130 | 10 | 103 | 28 | 37 | 106 | 5 |
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
2 | 70 | 121 | 26 | 9 | 112 | 49 | 109 | 14 |
3 | 117 | 39 | 126 | 56 | 174 | 18 | 116 | 83 |
4 | 66 | 139 | 15 | 132 | 73 | 58 | 145 | 79 |
5 | 90 | 176 | 7 | 34 | 67 | 160 | 52 | 170 |
6 | 25 | 143 | 64 | 125 | 76 | 136 | 1 | 93 |
7 | 138 | 71 | 150 | 29 | 101 | 162 | 23 | 151 |
8 | 16 | 155 | 57 | 175 | 43 | 168 | 89 | 172 |
9 | 120 | 88 | 48 | 166 | 51 | 115 | 72 | 111 |
10 | 65 | 77 | 19 | 82 | 137 | 38 | 149 | 8 |
11 | 102 | 4 | 31 | 164 | 144 | 59 | 173 | 78 |
12 | 85 | 20 | 108 | 92 | 12 | 124 | 44 | 131 |
This could easily be represented in many ways. Lets define this tables in Scheme:
;; W.A. Mozart: Musikalisches Würfelspiel (Waltz)
;; Programming by Gabriel Sanchez
(define number-table-1
'(
(1 (2 96)(3 32)(4 69)(5 40)(6 148)(7 104)(8 152)
(9 119)(10 98)(11 3)(12 54))
(2 (2 22)(3 6)(4 95)(5 17)(6 74)(7 157)(8 60)
(9 84)(10 142)(11 87)(12 130))
(3 (2 141)(3 128)(4 158)(5 113)(6 163)(7 27)(8 171)
(9 114)(10 42)(11 165)(12 10))
(4 (2 41)(3 63)(4 13)(5 85)(6 45)(7 167)(8 53)
(9 50)(10 156)(11 61)(12 103))
(5 (2 105)(3 146)(4 153)(5 161)(6 80)(7 154)(8 99)
(9 140)(10 75)(11 135)(12 28))
(6 (2 122)(3 46)(4 55)(5 2)(6 97)(7 68)(8 133)
(9 86)(10 129)(11 47)(12 37))
(7 (2 11)(3 134)(4 110)(5 159)(6 36)(7 118)(8 21)
(9 169)(10 62)(11 147)(12 106))
(8 (2 30)(3 81)(4 24)(5 100)(6 107)(7 91)(8 127)
(9 94)(10 123)(11 33)(12 5))
))
(define number-table-2
'(
(1 (2 70)(3 117)(4 66)(5 90)(6 25)(7 138)(8 16)
(9 120)(10 65)(11 102)(12 35))
(2 (2 121)(3 39)(4 139)(5 176)(6 143)(7 71)(8 155)
(9 88)(10 77)(11 4)(12 20))
(3 (2 26)(3 126)(4 15)(5 7)(6 64)(7 150)(8 57)
(9 48)(10 19)(11 31)(12 108))
(4 (2 9)(3 56)(4 132)(5 34)(6 125)(7 29)(8 175)
(9 166)(10 82)(11 164)(12 92))
(5 (2 112)(3 174)(4 73)(5 67)(6 76)(7 101)(8 43)
(9 51)(10 137)(11 144)(12 12))
(6 (2 49)(3 18)(4 58)(5 160)(6 136)(7 162)(8 168)
(9 115)(10 38)(11 59)(12 124))
(7 (2 109)(3 116)(4 145)(5 52)(6 1)(7 23)(8 89)
(9 72)(10 149)(11 173)(12 44))
(8 (2 14)(3 83)(4 79)(5 170)(6 93)(7 151)(8 172)
(9 111)(10 8)(11 78)(12 131))
))
Now lets write the precomposed musical patterns.
(define music-table
'(
(1 ((F5 D5 G5) (E E E))
((F3 D3 G3) (E E E)))
(2 ((A4 F#4 G4 B4 G5)(E S S S S))
(((B2 G3) R )((Q Q) E)))
(3 ((G5 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(4 ((G5 D5) (E Q))
((G2 B2 G3 B2) (S S E E)))
(5 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(6 ((G4 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(7 ((E5 C5 E5 G5 C6 G5) (S S S S S S))
(((C3 G3) R )((Q Q) E)))
(8 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(9 (((C5 E5) (B4 D5) R) ((E E) (E E) E))
((G3 G2) (Q E)))
(10 ((B4 A4 B4 C5 D5 B4) (S S S S S S))
((G3 R) (Q E)))
(11 ((E5 C5 B4 A4 G4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(12 (((E4 C5)(E4 C5)(E4 C5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(13 ((C5 G4 E4) (E E E))
(((E3 G3) R) ((Q Q) E)))
(14 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(15 ((E5 G5 E5 C5) (E S S E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(16 ((A5 F#5 D5) (E E E))
(((D3 F#3)(C3 F#3)) ((Q Q) (E E))))
(17 ((C5 G4 C5 E5 G4 C5) (S S S S S S))
(((E3 G3) R) ((Q Q) E)))
(18 ((G4 C5 E5) (E E E))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(19 ((E5 C5 E5 G5) (S S E E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(20 ((G5 B5 D6 D5) (E S S E))
((B2 R) (Q E)))
(21 ((C5 E5 G5 D5 A4 F#5) (S S S S S S))
((C3 D3 D2) (E E E)))
(22 ((E5 C5 G4) (E E E))
((C3 R) (Q E)))
(23 ((F5 E5 D5 E5 F5 G5) (S S S S S S))
((F3 E3 D3 E3 F3 G3) (S S S S S S)))
(24 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(25 ((D4 F#4 A4 D5 F#5 A5) (S S S S S S))
((G3 C3) (Q E)))
(26 (((C5 E5)(C5 E5)(C5 E5)) ((E E)(E E)(E E)))
((C3 E3 G3 E3 C4 C3) (S S S S S S)))
(27 ((F5 E5 F5 D5 C5 B4) (S S S S S S))
(((G3 B3) R) ((Q Q) E)))
(28 ((F#5 D5 A4 A5 F#5 D5) (S S S S S S))
(((C3 A3) R) ((Q Q) E)))
(29 ((B4 D5 G5 D5 B4) (S S S S E))
((G3 G2) (Q E)))
(30 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(31 ((E5 C5 G4 E5) (S S E E))
(((C3 G3)(C3 G3)) ((Q Q) (E E))))
(32 ((G4 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(33 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(34 ((E5 C5 D5 B4 G4) (S S S S E))
((G3 R) (Q E)))
(35 ((A4 D5 F#5) (E E E))
(((D3 F#3)(C3 A3)) ((Q Q) (E E))))
(36 ((A4 E5 D5 G5 F#5 A5) (S S S S S S))
((C3 D3 D2) (E E E)))
(37 ((G5 B5 G5 D5 B4) (S S S S E))
(((B2 D3) R) ((Q Q) E)))
(38 ((C5 G4 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(39 ((G5 G4 G4) (E E E))
((B2 D3 G3 D3 B2 G2) (S S S S S S)))
(40 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3) R )((Q Q) E)))
(41 ((C5 B4 C5 E5 G4) (S S S S E))
(((C3 E3) R )((Q Q) E)))
(42 ((B4 C5 D5 B4 A4 G4) (S S S S S S))
((G2 R) (Q E)))
(43 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R )((Q Q) E)))
(44 ((A4 F5 D5 A4 B4) (E S S S S))
((F3 G3) (Q E)))
(45 ((C5 B4 C5 G4 E4 C4) (S S S S S S))
(((E3 G3) R) ((Q Q) E)))
(46 ((G5 B5 G5 D5 B4) (E S S S S))
(((B2 D3) R) ((Q Q) E)))
(47 ((G5 G5 D5 B5) (E S S E))
(((B2 D3) R) ((Q Q) E)))
(48 ((E5 C5 E5 G5 C6) (E S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(49 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(50 ((C5 E5 C5 G4) (E S S E))
(((E3 G3) R) ((Q Q) E)))
(51 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(52 ((D5 C#5 D5 F5 G4 B4) (S S S S S S))
((F3 G3) (Q E)))
(53 (((C5 E5)(C5 E5)(D5 F5)(E5 G5))
((E E)(S S)(S S)(E E)))
((C3 R)(Q E)))
(54 (((E4 C5)(E4 C5)(E4 C5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(55 ((G5 B5 D5) (E E E))
(((B2 D3) R) ((Q Q) E)))
(56 ((D5 B4 G4 R) (S S E E))
(((G2 G3) G3) ((Q Q) E)))
(57 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(58 ((G5 E5 C5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(59 ((G5 C5 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(60 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R )((Q Q) E)))
(61 ((C5 E5 C5 G5) (E S S E))
(((E3 G3) R )((Q Q) E)))
(62 ((E5 C5 B4 G4 A4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(63 ((E5 C5 B4 C5 G4) (S S S S E))
((C3 R) (Q E)))
(64 ((E5 G5 C6 G5 E5 C5) (S S S S S S))
(((C3 G3)(C3 G3)) ((Q Q) (E E))))
(65 ((D5 A4 D5 F#5) (S S E E))
(((D3 F#3) R) ((Q Q) E)))
(66 ((F#5 A5 F#5) (E E E))
(((D3 A3) (D3 F#3) (C3 D3)) ((E E) (E E) (E E))))
(67 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3)(E3 G3)) ((Q Q) (E E))))
(68 ((G5 B5 G5 D5 G5) (E S S S S))
((B2 R) (Q E)))
(69 ((G5 E5 C5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(70 ((F#5 A5 F#5 D5 F#5) (E S S S S))
((D3 C3) (Q E)))
(71 ((G5 B5 D6 B5 G5) (S S S S E))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
(72 ((F5 E5 D5 C5 B4 D5) (S S S S S S))
((F3 G3) (Q E)))
(73 ((G5 E5 C5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(74 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(75 (((D5 F#5)(D5 F#5)(D5 F#5))
((E E)(E E)(E E))) ((C3 C3 C3) (E E E)))
(76 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(77 ((G5 B5 G5 D5) (S S E E))
(((B2 D3)(B2 G3)) ((Q Q) (E E))))
(78 ((C5 C4 R) (E E E))
((C3 C2) (Q E)))
(79 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(80 ((D5 C5 F#5) (E E E))
((C3 R) (Q E)))
(81 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(82 ((D5 B4 G4 G5) (S S E E))
(((B2 G3)(B2 D3)) ((Q Q) (E E))))
(83 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(84 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(85 ((C5 E5 G4) (E E E))
(((E3 G3) R) ((Q Q) E)))
(86 ((D5 D5 G5 B5)(E S S E))
(((B2 G3) R )((Q Q) E)))
(87 ((G5 C5 E5) (E E E))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(88 ((G5 D5 G5 B5 G5 D5) (S S S S S S))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
(89 ((F5 E5 D5 G5) (S S E E))
((F3 E3 D3 G3) (S S E E)))
(90 ((F#5 A5 D6 A5 F#5 A5) (S S S S S S))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(91 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(92 (((B4 D5) G5 B5) ((E E) S S E))
(((G2 G3) G3) ((Q Q) E)))
(93 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(94 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(95 ((G5 E5 C5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(96 ((E5 C5 G4) (E E E))
((C3 R) (Q E)))
(97 ((G5 F#5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3)(B2 G3)) ((Q Q) (E E))))
(98 ((C5 G4 E5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(99 ((F#5 A5 D5) (E E E))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(100 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(101 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(102 ((F#5 D5 A4 F#5) (S S E E))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(103 ((C5 E5 C5 G4 E4) (S S S S E))
(((E3 G3) R) ((Q Q) E)))
(104 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
((C3 R) (Q E)))
(105 ((F#5 A5 F#5 D5 F#5) (E S S S S))
((C3 R) (Q E)))
(106 ((A4 D5 C5 B4 A4) (E S S S S))
((C3 D3 D2) (E E E)))
(107 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(108 ((E5 G5 C6) (E E E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(109 ((D5 F5 D5 F5 B4 D5) (S S S S S S))
(((F3 A3)(G3 D4)) ((Q Q) (E E))))
(110 (((B4 D5)(A4 C5)(A4 C5)(G4 B4)(G4 B4)(F#4 A4))
((S S)(S S)(S S)(S S)(S S)(S S)))
((C3 D3 D2)(E E E)))
(111 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(112 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(113 ((E5 D5 B4) (E E E))
(((G3 B3) R) ((Q Q) E)))
(114 (((B4 D5)(B4 D5)(B4 D5)) ((E E)(E E)(E E)))
((G3 G3 G3) (E E E)))
(115 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(116 ((D5 F5 A5 F5 D5 B4) (S S S S S S))
((F3 G3) (Q E)))
(117 ((D5 A4 D5 F#5 A5 F#5) (S S S S S S))
(((D3 F#3) R) ((Q Q) E)))
(118 ((E5 A5 G5 B5 F#5 A5) (S S S S S S))
((C3 D3 D2) (E E E)))
(119 ((E5 C5 G5 E5 C6 G5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(120 ((D6 A5 F#5 D5 A4) (E S S S S))
(((D3 F#3)(C3 F#3)) ((Q Q) (E E))))
(121 ((G5 B5 G5 D5) (E S S E))
(((B2 G3) R) ((Q Q) E)))
(122 ((G5 F#5 G5 B5 D5) (S S S S E))
(((B2 D3) (B2 D3) (B2 G3))
((E E) (E E) (E E))))
(123 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(124 (((E4 C5)(E4 C5)(E4 C5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(125 ((G5 E5 D5 B4 G4) (S S S S E))
((G3 G2 R) (E E E)))
(126 ((C5 G4 C5 E5 G5 (C5 E5))
(S S S S S (S S)))
((E3 E3 C3) (Q S S)))
(127 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(128 ((B4 D5 G5) (E E E))
((G2 R) (Q E)))
(129 ((A5 G5 F#5 G5 D5) (S S S S E))
(((B2 D3) (B2 D3) (B2 G3))
((E E) (E E) (E E))))
(130 (((E4 C5)(E4 C5)(E4 C5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(131 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(132 (((C5 E5) (B4 D5) (G4 B4) G4)
((E E) (S S) (S S) E))
((G3 G2 R) (E E E)))
(133 ((D5 G5 D5 B4 D5) (E S S S S))
(((B2 G3) R) ((Q Q) E)))
(134 ((A4 E5 (B4 D5)(A4 C5)(G4 B4)(F#4 A4))
(S S (S S)(S S)(S S)(S S)))
((C3 D3 D2)(E E E)))
(135 ((F#5 F#5 D5 A5) (E S S E))
((D3 C3 D3 C3 D3 C3) (S S S S S S)))
(136 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(137 ((C5 G4 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(138 (((A4 D5 F#5) F#5) ((E E E) Q))
((D2 D3 C#3 D3 C3 D3) (S S S S S S)))
(139 ((G5 B5 G5 B5 D5) (S S S S E))
((B2 R) (Q E)))
(140 ((A4 A4 D5 F#5) (E S S E))
(((C3 F#3) (C3 F#3) (C3 A3))
((E E) (E E) (E E))))
(141 ((D5 E5 F5 D5 C5 B4) (S S S S S S))
(((B2 G3) G2) ((Q Q) E)))
(142 ((C5 G4 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(143 ((G5 D5 B4 G4) (E S S E))
(((B2 D3) (B2 D3)) ((Q Q) (E E))))
(144 ((G5 C5 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(145 ((D5 F5 A4 D5 B4 D5) (S S S S S S))
((F3 G3) (Q E)))
(146 (((F#4 D5)(D5 F#5)(F#5 A5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(147 ((E5 C6 B5 G5 A5 F#5) (S S S S S S))
((C3 D3 D2) (E E E)))
(148 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(149 ((F5 D5 A4 B4) (S S E E))
((F3 G3) (Q E)))
(150 (((G4 C5 E5) E5) ((E E E) Q))
((C3 B2 C3 D3 E3 F#3) (S S S S S S)))
(151 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(152 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R) ((Q Q) E)))
(153 ((D5 A4 F#5 D5 A5 F#5) (S S S S S S))
((C3 R) (Q E)))
(154 ((D5 C#5 D5 F#5 A5 F#5) (S S S S S S))
((C3 R) (Q E)))
(155 ((G5 B5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3) R) ((Q Q) E)))
(156 ((C5 G4 E5 C5 G5) (S S S S E))
(((C3 E3) R) ((Q Q) E)))
(157 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
((C3 R) (Q E)))
(158 ((B4 D5 B4 A4 G4) (E S S S S))
((G2 R) (Q E)))
(159 ((E5 G5 D5 C5 B4 A4) (S S S S S S))
((C3 D3 D2) (E E E)))
(160 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3) (C3 E3)) ((Q Q) (E E))))
(161 (((F#4 D5)(F#4 D5)(F#4 D5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(162 ((E5 D5 E5 G5 C6 C5) (S S S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(163 ((G5 F#5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3) R) ((Q Q) E)))
(164 ((D5 G4) (Q E))
((G3 F#3 G3 D3 B2 G2) (S S S S S S)))
(165 ((D5 B4 G4) (E E E))
((B2 R) (Q E)))
(166 ((D5 B5 G5 D5 B4) (S S S S E))
(((G3 B3) R) ((Q Q) E)))
(167 ((C5 C5 D5 E5)(E S S E))
(((C3 E3) R) ((Q Q) E)))
(168 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3)(E3 G3)) ((Q Q) (E E))))
(169 ((E5 G5 D5 G5 A4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(170 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(171 ((B4 C5 D5 E5 F5 D5) (S S S S S S))
(((G2 G3)(B2 G3)) ((Q Q) (E E))))
(172 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(173 ((F5 A5 A4 B4 D5) (S S E S S))
((F4 G4) (Q E)))
(174 ((G4 C5 E5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(175 ((E5 C5 B4 D5 G5) (S S S S E))
((G3 G2 R) (E E E)))
(176 ((A5 G5 B5 G5 D5 G5) (S S S S S S))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
))
Next, we will define a function
(define (get-line music-table rolls)
(if (null? rolls ) '()
(cons (cdr (list-ref music-table (- (car rolls) 1)))
(get-line music-table (cdr rolls)))))
(define p (get-line music-table music-seq))
;; W.A. Mozart: Musikalisches Würfelspiel (Waltz)
;; Programming by Gabriel Sanchez
(define number-table-1
'(
(1 (2 96)(3 32)(4 69)(5 40)(6 148)(7 104)(8 152)
(9 119)(10 98)(11 3)(12 54))
(2 (2 22)(3 6)(4 95)(5 17)(6 74)(7 157)(8 60)
(9 84)(10 142)(11 87)(12 130))
(3 (2 141)(3 128)(4 158)(5 113)(6 163)(7 27)(8 171)
(9 114)(10 42)(11 165)(12 10))
(4 (2 41)(3 63)(4 13)(5 85)(6 45)(7 167)(8 53)
(9 50)(10 156)(11 61)(12 103))
(5 (2 105)(3 146)(4 153)(5 161)(6 80)(7 154)(8 99)
(9 140)(10 75)(11 135)(12 28))
(6 (2 122)(3 46)(4 55)(5 2)(6 97)(7 68)(8 133)
(9 86)(10 129)(11 47)(12 37))
(7 (2 11)(3 134)(4 110)(5 159)(6 36)(7 118)(8 21)
(9 169)(10 62)(11 147)(12 106))
(8 (2 30)(3 81)(4 24)(5 100)(6 107)(7 91)(8 127)
(9 94)(10 123)(11 33)(12 5))
))
(define number-table-2
'(
(1 (2 70)(3 117)(4 66)(5 90)(6 25)(7 138)(8 16)
(9 120)(10 65)(11 102)(12 35))
(2 (2 121)(3 39)(4 139)(5 176)(6 143)(7 71)(8 155)
(9 88)(10 77)(11 4)(12 20))
(3 (2 26)(3 126)(4 15)(5 7)(6 64)(7 150)(8 57)
(9 48)(10 19)(11 31)(12 108))
(4 (2 9)(3 56)(4 132)(5 34)(6 125)(7 29)(8 175)
(9 166)(10 82)(11 164)(12 92))
(5 (2 112)(3 174)(4 73)(5 67)(6 76)(7 101)(8 43)
(9 51)(10 137)(11 144)(12 12))
(6 (2 49)(3 18)(4 58)(5 160)(6 136)(7 162)(8 168)
(9 115)(10 38)(11 59)(12 124))
(7 (2 109)(3 116)(4 145)(5 52)(6 1)(7 23)(8 89)
(9 72)(10 149)(11 173)(12 44))
(8 (2 14)(3 83)(4 79)(5 170)(6 93)(7 151)(8 172)
(9 111)(10 8)(11 78)(12 131))
))
(define music-table
'(
(1 ((F5 D5 G5) (E E E))
((F3 D3 G3) (E E E)))
(2 ((A4 F#4 G4 B4 G5)(E S S S S))
(((B2 G3) R )((Q Q) E)))
(3 ((G5 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(4 ((G5 D5) (E Q))
((G2 B2 G3 B2) (S S E E)))
(5 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(6 ((G4 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(7 ((E5 C5 E5 G5 C6 G5) (S S S S S S))
(((C3 G3) R )((Q Q) E)))
(8 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(9 (((C5 E5) (B4 D5) R) ((E E) (E E) E))
((G3 G2) (Q E)))
(10 ((B4 A4 B4 C5 D5 B4) (S S S S S S))
((G3 R) (Q E)))
(11 ((E5 C5 B4 A4 G4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(12 (((E4 C5)(E4 C5)(E4 C5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(13 ((C5 G4 E4) (E E E))
(((E3 G3) R) ((Q Q) E)))
(14 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(15 ((E5 G5 E5 C5) (E S S E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(16 ((A5 F#5 D5) (E E E))
(((D3 F#3)(C3 F#3)) ((Q Q) (E E))))
(17 ((C5 G4 C5 E5 G4 C5) (S S S S S S))
(((E3 G3) R) ((Q Q) E)))
(18 ((G4 C5 E5) (E E E))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(19 ((E5 C5 E5 G5) (S S E E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(20 ((G5 B5 D6 D5) (E S S E))
((B2 R) (Q E)))
(21 ((C5 E5 G5 D5 A4 F#5) (S S S S S S))
((C3 D3 D2) (E E E)))
(22 ((E5 C5 G4) (E E E))
((C3 R) (Q E)))
(23 ((F5 E5 D5 E5 F5 G5) (S S S S S S))
((F3 E3 D3 E3 F3 G3) (S S S S S S)))
(24 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(25 ((D4 F#4 A4 D5 F#5 A5) (S S S S S S))
((G3 C3) (Q E)))
(26 (((C5 E5)(C5 E5)(C5 E5)) ((E E)(E E)(E E)))
((C3 E3 G3 E3 C4 C3) (S S S S S S)))
(27 ((F5 E5 F5 D5 C5 B4) (S S S S S S))
(((G3 B3) R) ((Q Q) E)))
(28 ((F#5 D5 A4 A5 F#5 D5) (S S S S S S))
(((C3 A3) R) ((Q Q) E)))
(29 ((B4 D5 G5 D5 B4) (S S S S E))
((G3 G2) (Q E)))
(30 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(31 ((E5 C5 G4 E5) (S S E E))
(((C3 G3)(C3 G3)) ((Q Q) (E E))))
(32 ((G4 C5 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(33 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(34 ((E5 C5 D5 B4 G4) (S S S S E))
((G3 R) (Q E)))
(35 ((A4 D5 F#5) (E E E))
(((D3 F#3)(C3 A3)) ((Q Q) (E E))))
(36 ((A4 E5 D5 G5 F#5 A5) (S S S S S S))
((C3 D3 D2) (E E E)))
(37 ((G5 B5 G5 D5 B4) (S S S S E))
(((B2 D3) R) ((Q Q) E)))
(38 ((C5 G4 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(39 ((G5 G4 G4) (E E E))
((B2 D3 G3 D3 B2 G2) (S S S S S S)))
(40 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3) R )((Q Q) E)))
(41 ((C5 B4 C5 E5 G4) (S S S S E))
(((C3 E3) R )((Q Q) E)))
(42 ((B4 C5 D5 B4 A4 G4) (S S S S S S))
((G2 R) (Q E)))
(43 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R )((Q Q) E)))
(44 ((A4 F5 D5 A4 B4) (E S S S S))
((F3 G3) (Q E)))
(45 ((C5 B4 C5 G4 E4 C4) (S S S S S S))
(((E3 G3) R) ((Q Q) E)))
(46 ((G5 B5 G5 D5 B4) (E S S S S))
(((B2 D3) R) ((Q Q) E)))
(47 ((G5 G5 D5 B5) (E S S E))
(((B2 D3) R) ((Q Q) E)))
(48 ((E5 C5 E5 G5 C6) (E S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(49 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(50 ((C5 E5 C5 G4) (E S S E))
(((E3 G3) R) ((Q Q) E)))
(51 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(52 ((D5 C#5 D5 F5 G4 B4) (S S S S S S))
((F3 G3) (Q E)))
(53 (((C5 E5)(C5 E5)(D5 F5)(E5 G5))
((E E)(S S)(S S)(E E)))
((C3 R)(Q E)))
(54 (((E4 C5)(E4 C5)(E4 C5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(55 ((G5 B5 D5) (E E E))
(((B2 D3) R) ((Q Q) E)))
(56 ((D5 B4 G4 R) (S S E E))
(((G2 G3) G3) ((Q Q) E)))
(57 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(58 ((G5 E5 C5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(59 ((G5 C5 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(60 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R )((Q Q) E)))
(61 ((C5 E5 C5 G5) (E S S E))
(((E3 G3) R )((Q Q) E)))
(62 ((E5 C5 B4 G4 A4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(63 ((E5 C5 B4 C5 G4) (S S S S E))
((C3 R) (Q E)))
(64 ((E5 G5 C6 G5 E5 C5) (S S S S S S))
(((C3 G3)(C3 G3)) ((Q Q) (E E))))
(65 ((D5 A4 D5 F#5) (S S E E))
(((D3 F#3) R) ((Q Q) E)))
(66 ((F#5 A5 F#5) (E E E))
(((D3 A3) (D3 F#3) (C3 D3)) ((E E) (E E) (E E))))
(67 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3)(E3 G3)) ((Q Q) (E E))))
(68 ((G5 B5 G5 D5 G5) (E S S S S))
((B2 R) (Q E)))
(69 ((G5 E5 C5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(70 ((F#5 A5 F#5 D5 F#5) (E S S S S))
((D3 C3) (Q E)))
(71 ((G5 B5 D6 B5 G5) (S S S S E))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
(72 ((F5 E5 D5 C5 B4 D5) (S S S S S S))
((F3 G3) (Q E)))
(73 ((G5 E5 C5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(74 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(75 (((D5 F#5)(D5 F#5)(D5 F#5))
((E E)(E E)(E E))) ((C3 C3 C3) (E E E)))
(76 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(77 ((G5 B5 G5 D5) (S S E E))
(((B2 D3)(B2 G3)) ((Q Q) (E E))))
(78 ((C5 C4 R) (E E E))
((C3 C2) (Q E)))
(79 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(80 ((D5 C5 F#5) (E E E))
((C3 R) (Q E)))
(81 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(82 ((D5 B4 G4 G5) (S S E E))
(((B2 G3)(B2 D3)) ((Q Q) (E E))))
(83 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(84 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(85 ((C5 E5 G4) (E E E))
(((E3 G3) R) ((Q Q) E)))
(86 ((D5 D5 G5 B5)(E S S E))
(((B2 G3) R )((Q Q) E)))
(87 ((G5 C5 E5) (E E E))
(((C3 E3)(C3 G3)) ((Q Q) (E E))))
(88 ((G5 D5 G5 B5 G5 D5) (S S S S S S))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
(89 ((F5 E5 D5 G5) (S S E E))
((F3 E3 D3 G3) (S S E E)))
(90 ((F#5 A5 D6 A5 F#5 A5) (S S S S S S))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(91 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(92 (((B4 D5) G5 B5) ((E E) S S E))
(((G2 G3) G3) ((Q Q) E)))
(93 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(94 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(95 ((G5 E5 C5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(96 ((E5 C5 G4) (E E E))
((C3 R) (Q E)))
(97 ((G5 F#5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3)(B2 G3)) ((Q Q) (E E))))
(98 ((C5 G4 E5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(99 ((F#5 A5 D5) (E E E))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(100 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(101 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(102 ((F#5 D5 A4 F#5) (S S E E))
(((C3 A3)(C3 A3)) ((Q Q) (E E))))
(103 ((C5 E5 C5 G4 E4) (S S S S E))
(((E3 G3) R) ((Q Q) E)))
(104 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
((C3 R) (Q E)))
(105 ((F#5 A5 F#5 D5 F#5) (E S S S S))
((C3 R) (Q E)))
(106 ((A4 D5 C5 B4 A4) (E S S S S))
((C3 D3 D2) (E E E)))
(107 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(108 ((E5 G5 C6) (E E E))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(109 ((D5 F5 D5 F5 B4 D5) (S S S S S S))
(((F3 A3)(G3 D4)) ((Q Q) (E E))))
(110 (((B4 D5)(A4 C5)(A4 C5)(G4 B4)(G4 B4)(F#4 A4))
((S S)(S S)(S S)(S S)(S S)(S S)))
((C3 D3 D2)(E E E)))
(111 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(112 ((E5 C5 G4)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(113 ((E5 D5 B4) (E E E))
(((G3 B3) R) ((Q Q) E)))
(114 (((B4 D5)(B4 D5)(B4 D5)) ((E E)(E E)(E E)))
((G3 G3 G3) (E E E)))
(115 ((C5 G4 E5 C5 G5 E5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(116 ((D5 F5 A5 F5 D5 B4) (S S S S S S))
((F3 G3) (Q E)))
(117 ((D5 A4 D5 F#5 A5 F#5) (S S S S S S))
(((D3 F#3) R) ((Q Q) E)))
(118 ((E5 A5 G5 B5 F#5 A5) (S S S S S S))
((C3 D3 D2) (E E E)))
(119 ((E5 C5 G5 E5 C6 G5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(120 ((D6 A5 F#5 D5 A4) (E S S S S))
(((D3 F#3)(C3 F#3)) ((Q Q) (E E))))
(121 ((G5 B5 G5 D5) (E S S E))
(((B2 G3) R) ((Q Q) E)))
(122 ((G5 F#5 G5 B5 D5) (S S S S E))
(((B2 D3) (B2 D3) (B2 G3))
((E E) (E E) (E E))))
(123 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(124 (((E4 C5)(E4 C5)(E4 C5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(125 ((G5 E5 D5 B4 G4) (S S S S E))
((G3 G2 R) (E E E)))
(126 ((C5 G4 C5 E5 G5 (C5 E5))
(S S S S S (S S)))
((E3 E3 C3) (Q S S)))
(127 (((G4 B4 D5 G5) R) ((Q Q Q Q) E))
((G2 G3 F3 E3 D3) (E S S S S)))
(128 ((B4 D5 G5) (E E E))
((G2 R) (Q E)))
(129 ((A5 G5 F#5 G5 D5) (S S S S E))
(((B2 D3) (B2 D3) (B2 G3))
((E E) (E E) (E E))))
(130 (((E4 C5)(E4 C5)(E4 C5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(131 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(132 (((C5 E5) (B4 D5) (G4 B4) G4)
((E E) (S S) (S S) E))
((G3 G2 R) (E E E)))
(133 ((D5 G5 D5 B4 D5) (E S S S S))
(((B2 G3) R) ((Q Q) E)))
(134 ((A4 E5 (B4 D5)(A4 C5)(G4 B4)(F#4 A4))
(S S (S S)(S S)(S S)(S S)))
((C3 D3 D2)(E E E)))
(135 ((F#5 F#5 D5 A5) (E S S E))
((D3 C3 D3 C3 D3 C3) (S S S S S S)))
(136 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(137 ((C5 G4 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(138 (((A4 D5 F#5) F#5) ((E E E) Q))
((D2 D3 C#3 D3 C3 D3) (S S S S S S)))
(139 ((G5 B5 G5 B5 D5) (S S S S E))
((B2 R) (Q E)))
(140 ((A4 A4 D5 F#5) (E S S E))
(((C3 F#3) (C3 F#3) (C3 A3))
((E E) (E E) (E E))))
(141 ((D5 E5 F5 D5 C5 B4) (S S S S S S))
(((B2 G3) G2) ((Q Q) E)))
(142 ((C5 G4 E5) (E E E))
(((C3 E3) R) ((Q Q) E)))
(143 ((G5 D5 B4 G4) (E S S E))
(((B2 D3) (B2 D3)) ((Q Q) (E E))))
(144 ((G5 C5 E5)(E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(145 ((D5 F5 A4 D5 B4 D5) (S S S S S S))
((F3 G3) (Q E)))
(146 (((F#4 D5)(D5 F#5)(F#5 A5)) ((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(147 ((E5 C6 B5 G5 A5 F#5) (S S S S S S))
((C3 D3 D2) (E E E)))
(148 ((C6 B5 C6 G5 E5 C5) (S S S S S S))
(((C3 E3) R) ((Q Q) E)))
(149 ((F5 D5 A4 B4) (S S E E))
((F3 G3) (Q E)))
(150 (((G4 C5 E5) E5) ((E E E) Q))
((C3 B2 C3 D3 E3 F#3) (S S S S S S)))
(151 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(152 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3) R) ((Q Q) E)))
(153 ((D5 A4 F#5 D5 A5 F#5) (S S S S S S))
((C3 R) (Q E)))
(154 ((D5 C#5 D5 F#5 A5 F#5) (S S S S S S))
((C3 R) (Q E)))
(155 ((G5 B5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3) R) ((Q Q) E)))
(156 ((C5 G4 E5 C5 G5) (S S S S E))
(((C3 E3) R) ((Q Q) E)))
(157 ((E5 D5 E5 G5 C6 G5) (S S S S S S))
((C3 R) (Q E)))
(158 ((B4 D5 B4 A4 G4) (E S S S S))
((G2 R) (Q E)))
(159 ((E5 G5 D5 C5 B4 A4) (S S S S S S))
((C3 D3 D2) (E E E)))
(160 ((C5 B4 C5 E5 G4 C5) (S S S S S S))
(((C3 E3) (C3 E3)) ((Q Q) (E E))))
(161 (((F#4 D5)(F#4 D5)(F#4 D5))
((E E)(E E)(E E)))
((C3 C3 C3) (E E E)))
(162 ((E5 D5 E5 G5 C6 C5) (S S S S S S))
(((C3 G3)(C3 E3)) ((Q Q) (E E))))
(163 ((G5 F#5 G5 D5 B4 G4) (S S S S S S))
(((B2 D3) R) ((Q Q) E)))
(164 ((D5 G4) (Q E))
((G3 F#3 G3 D3 B2 G2) (S S S S S S)))
(165 ((D5 B4 G4) (E E E))
((B2 R) (Q E)))
(166 ((D5 B5 G5 D5 B4) (S S S S E))
(((G3 B3) R) ((Q Q) E)))
(167 ((C5 C5 D5 E5)(E S S E))
(((C3 E3) R) ((Q Q) E)))
(168 ((G5 F5 E5 D5 C5) (E S S S S))
(((C3 E3)(E3 G3)) ((Q Q) (E E))))
(169 ((E5 G5 D5 G5 A4 F#4) (S S S S S S))
((C3 D3 D2) (E E E)))
(170 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(171 ((B4 C5 D5 E5 F5 D5) (S S S S S S))
(((G2 G3)(B2 G3)) ((Q Q) (E E))))
(172 ((C5 R) (Q E))
((C3 G2 C2) (E E E)))
(173 ((F5 A5 A4 B4 D5) (S S E S S))
((F4 G4) (Q E)))
(174 ((G4 C5 E5) (E E E))
(((C3 E3) G3 (C3 E3) G3 (C3 E3) G3)
((S S) S (S S) S (S S) S)))
(175 ((E5 C5 B4 D5 G5) (S S S S E))
((G3 G2 R) (E E E)))
(176 ((A5 G5 B5 G5 D5 G5) (S S S S S S))
(((B2 D3)(B2 D3)) ((Q Q) (E E))))
))
(define (roll-dice t)
(let loop ((n 0))
(if (> n (- t 1)) '()
(cons (+ (+ (random-integer 5) 1)
(+ (random-integer 5) 1))
(loop (+ n 1))))))
(define (get-music-patterns table seq)
(let loop ((n 0))
(if (> n 7) '()
(cons (cadr (list-ref (list-ref table n)
(- (list-ref seq n) 1)))
(loop (+ n 1))))))
(define music-seq
(append
(get-music-patterns number-table-1 (roll-dice 8))
(get-music-patterns number-table-1 (roll-dice 8))
(get-music-patterns number-table-2 (roll-dice 8))
(get-music-patterns number-table-2 (roll-dice 8))
))
(define (get-line music-table rolls)
(if (null? rolls ) '()
(cons (cdr (list-ref music-table (- (car rolls) 1)))
(get-line music-table (cdr rolls)))))
(define p (get-line music-table music-seq))
(define (construct-part f p)
(if (null? p) '()
(cons (f p)
(construct-part f (cdr p)))))
(define (convert-to-numbers f p)
(if (null? p) '()
(cons (f (car p))
(convert-to-numbers f (cdr p)))))
(define (append-parts p)
(if (null? p) '()
(append (car p)
(append-parts (cdr p)))))
(define (create-part f1 f2 p)
(append-parts
(convert-to-numbers
f1
(construct-part f2 p))))
(define v1-pitches
(create-part (lambda (x) (pitches->numbers x))
(lambda (x) (caaar x)) p))
(define v1-lengths
(create-part (lambda (x) (lengths->numbers x))
(lambda (x) (cadaar x)) p))
(define v1-vels
(create-constant-velocities v1-pitches 90))
(define v2-pitches
(create-part (lambda (x) (pitches->numbers x))
(lambda (x) (caadar x)) p))
(define v2-lengths
(create-part (lambda (x) (lengths->numbers x))
(lambda (x) (cadadr (car x))) p))
(define v2-vels
(create-constant-velocities v2-pitches 90))
(define v1-events (create-events 0 v1-pitches
v1-lengths
v1-vels 1))
(define v2-events (create-events 0 v2-pitches
v2-lengths
v2-vels 2))
(define piece (append v1-events v2-events))
(save-midi piece)