-
Notifications
You must be signed in to change notification settings - Fork 0
/
basic project outline.rtf
133 lines (132 loc) · 2.33 KB
/
basic project outline.rtf
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;}
\vieww12000\viewh15840\viewkind0
\deftab720
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardeftab720\ql\qnatural
\f0\fs24 \cf0 OPL ARPEGGIATOR PROJECT OUTLINE\
\
OPL concepts utilized in project (for Mike):\
hash table of the note-symbols to their respective y-draw height\
map to draw chords over a sector of notes\
recursion to draw a single note (circle)\
\
\
\
Below:\
\
(2 more hiddens)\
Treble\
(hidden line)\
Bass Cleff\
(2 more hiddens)\
\
(---) C6 140 down 0\
B5 135 down \
(---) A5 130 down 10\
G5 125 down \
---- F5 120 down 20\
E5 115 down \
---- D5 110 down 30\
C5 105 down \
---- B4 100 up 40\
A4 95 up \
---- G4 90 up 50\
F4 85 up \
---- E4 80 up 60\
D4 75 down \
(---) C4 70 down 70\
B3 65 down \
---- A3 60 down 80\
G3 55 down \
---- F3 50 down 90\
E3 45 down \
---- D3 40 down 100\
C3 35 up \
---- B2 30 up 110\
A2 25 up \
---- G2 20 up 120\
F2 15 up \
(---) E2 10 up 130\
D2 5 up \
(---) C2 0 up 140\
\
\
Notes:\
\
whole open circle\
half open circle with flag on right\
fourth\
eighth\
sixteenth\
\
4/4 timescale\
Given one measure at a time, max 16 sixteenth notes\
- can be chained 4 at a time\
- eighths can only be connected in 2\
\
\
Driver:\
Ask for chord in range G3-F4 (they enter letters, Mike appends 3 or 4)\
\
Now ask to choose option:\
a) down to up\
b) up to down\
c) random\
\
Now ask for speed:\
a) whole\
b) half\
c) fourth\
d) eighth\
e) sixteenth\
\
Now ask for flavor:\
a) major\
b) minor\
\
Now ask for a range (amount of notes in chord):\
a) 1 (root)\
b) 2 (dom)\
c) 3 (third)\
d) 4 (high root)\
e) 5 (low dom)\
f) 6 (low third)\
g) 7 (low root)\
\
\
Then build a chord-config object:\
- A list of notes\
- Enum of speed\
- Enum for flavor\
- Enum for range\
\
This object will be a message passing object\
e.g. (def (cons a b) (if 'car return b) (else 'cdr return b))\
\
\
Future, time permitting:\
Progression Object (up to 4 chord-config objects)\
\
\
-------------------\
\
\
Includes:\
\
driver\
music\
drawing\
objects \
\
music\
objects\
\
drawing\
objects\
\
objects\
\
\pard\pardeftab720\sl276\slmult1\sa200\ql\qnatural
\cf0 \
}