Rev 1 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1 | - | 1 | set common { |
2 | {Press Backspace to clear console} |
||
3 | {Press Backquote to fold/unfold console} |
||
4 | {Press F1 for complete help} |
||
5 | {Press TAB to enter or leave command mode} |
||
6 | } |
||
7 | |||
8 | set keyboard_keyboard { |
||
9 | {Press 1 to play the microtonal-keyboard} |
||
10 | {Press any key below to play a note} |
||
11 | {Press more than one key to play chords} |
||
12 | {Move mouse away from dotted line to bend pitch} |
||
13 | {Green keys are key notes} |
||
14 | {Green key to Green key is an octave of the scale.} |
||
15 | {Press z to shift down an octave} |
||
16 | {Press x to shift up an octave} |
||
17 | {Click on Delay to toggle stereo Delay} |
||
18 | {Play with Parameters!} |
||
19 | {Click once and move mouse to move sliders!} |
||
20 | {Press 2 to edit waveform of the notes} |
||
21 | {Press 3 to edit attack of the notes} |
||
22 | {Press 4 to edit decay of the notes} |
||
23 | {You will see dotted crosses when MIDI is available} |
||
24 | {Press white notes, see white boxes; press black notes, see black boxes} |
||
25 | {Size of the boxes proportional to MIDI velocity} |
||
26 | {Press 5 to edit MIDI velocity} |
||
27 | {Press 6 to edit DIN's delay lines} |
||
28 | {Press 7 to edit octave shift} |
||
29 | {Press 8 to edit morse code patterns} |
||
30 | } |
||
31 | |||
32 | set single_insert { |
||
33 | {Press i to insert a vertex} |
||
34 | } |
||
35 | |||
36 | set undo_redo { |
||
37 | {Press z to undo} |
||
38 | {Press LSHIFT & z to redo} |
||
39 | } |
||
40 | |||
41 | set library { |
||
42 | {Press 9 to assign previous curve from library} |
||
43 | {Press 0 to assign next curve from library} |
||
44 | } |
||
45 | |||
46 | set curve_editor { |
||
47 | {Press w a s d keys to pan} |
||
48 | {Press q e to zoom} |
||
49 | {Press f on a vertex and move mouse to move vertex} |
||
50 | {Press f again to stop moving vertex} |
||
51 | {Press x to snap in x} |
||
52 | {Press y to snap in y} |
||
53 | {Press b to snap in both x & y} |
||
54 | {Press n to move freely} |
||
55 | {Press v on a vertex to delete} |
||
56 | } |
||
57 | |||
58 | set quit_editor { |
||
59 | {Press Escape to quit editor} |
||
60 | } |
||
61 | |||
62 | set keyboard_keyboard_waveform { |
||
63 | {A cycle of waveform shown here} |
||
64 | {Edit waveform to change the timbre of the notes} |
||
65 | } |
||
66 | |||
67 | set attack { |
||
68 | {Attack curve shown here} |
||
69 | {Edit attack curve to change the attack of the notes} |
||
70 | {Sustain is part of the attack curve} |
||
71 | {Click on the blue triangle and move mouse to set sustain} |
||
72 | } |
||
73 | |||
74 | set decay { |
||
75 | {Decay curve shown here} |
||
76 | {Edit this curve to change how the notes decay} |
||
77 | } |
||
78 | |||
79 | set velocity { |
||
80 | {MIDI velocity curve shown here} |
||
81 | {Edit this curve to determine the note volume at a given velocity} |
||
82 | } |
||
83 | |||
84 | set double_insert { |
||
85 | {To insert vertex, press i to pick curve, then i again to insert} |
||
86 | } |
||
87 | |||
88 | set delay { |
||
89 | {Delay is stereo, 1 for L and 1 for R} |
||
90 | {feedback and volume curves are shown} |
||
91 | {One curve for every channel ie 2 feedback & 2 volume curves} |
||
92 | {feedback-L is cyan & feedback-R is yellow} |
||
93 | {volume-L is red & volume-R is green} |
||
94 | {To move the entire curve, LSHIFT + f on left most vertex} |
||
95 | {Move feedback curve beyond max (or -max) to overdrive delay!} |
||
96 | {Use set-delay command to set the duration of a delay line} |
||
97 | {eg., set-delay left 5000 sets left channel delay to 5 seconds} |
||
98 | {eg., set-delay right 10000 sets right channel delay to 10 seconds} |
||
99 | {eg., set-delay all 1000 sets left & right channel delay to 1 second} |
||
100 | {delay time is in milliseconds for fine control} |
||
101 | } |
||
102 | |||
103 | set octave_shift { |
||
104 | {Octave shift curve shown here} |
||
105 | {Edit curve to determine how the key note shifts an octave} |
||
106 | {But, you dont have to shift octaves! Can shift to any microtone/interval!} |
||
107 | {Use set-bpm command to control the speed of octave shift} |
||
108 | {eg., set-bpm os 60 causes an octave shift in 1 second} |
||
109 | } |
||
110 | |||
111 | set gater { |
||
112 | {Gater curve shown here} |
||
113 | {Applied on lead voice to make it beat} |
||
114 | {Edit the curve to change the shape of the beat} |
||
115 | {Use set-bpm command to change BPM} |
||
116 | {eg., set-bpm gr 30 beats the lead voice 30 times a minute} |
||
117 | {Use set-style command to alter beat progression} |
||
118 | {eg., set-style gr pong reverses beat shape at the end of the beat} |
||
119 | } |
||
120 | |||
121 | set modulation { |
||
122 | {ampltitude (magenta) and frequency (cyan) modulation curves shown here} |
||
123 | {carrier is the lead voice. modulators are the AM and FM curves} |
||
124 | {x is beat. y is modulation depth} |
||
125 | {Use the set-bpm command to set modulation rate} |
||
126 | {eg., set-bpm fm 240 sets frequency modulation rate to 240 BPM} |
||
127 | {eg., set-bpm am 30 sets ampltitude modulation rate to 30 BPM} |
||
128 | {Use the set-var command to set FM depth and AM depth} |
||
129 | {eg., set-var fm_depth 100 sets FM depth to 100 Hz} |
||
130 | {eg., set-var am_depth 0.1 sets AM depth to 0.1 of max volume} |
||
131 | } |
||
132 | |||
133 | set drone_modulation { |
||
134 | {frequency (cyan) and ampltitude (magenta) modulation curves for drones shown here} |
||
135 | {They affect how the modulating drones move in frequency (x) & amplitude (y) axes} |
||
136 | {Press o to overlay the current instrument on the editor} |
||
137 | } |
||
138 | |||
139 | set microtonal_keyboard { |
||
140 | {Press 1 to play the keyboard-keyboard} |
||
141 | {x is pitch. y is volume} |
||
142 | {Click on Voice to toggle lead voice} |
||
143 | {Click on Delay to toggle stereo delay} |
||
144 | {Move mouse into the playing area to play the instrument!} |
||
145 | {Glissando, Vibrato & Tremolo are all easy & accurate!} |
||
146 | {Press a and d to scroll left and right} |
||
147 | {Press w and s to scroll up and down} |
||
148 | {Press z to shift down an octave} |
||
149 | {Press x to shift up an octave} |
||
150 | {Press f to start recording a phrase} |
||
151 | {Press v to stop recording and play immediately!} |
||
152 | {Press g to clear previously recorded phrases} |
||
153 | {Press <- and -> to scratch the phrase, [ and ] to adjust jog} |
||
154 | {Press q to create a drone} |
||
155 | {Keep pressing q and move mouse to spray drones!} |
||
156 | {Click and drag to select a bunch of drones} |
||
157 | {Press e and move mouse to move selected drones} |
||
158 | {Press c to destroy selected drones. Watch out! No undo :)} |
||
159 | {Press 9 and 0 to change size of drones} |
||
160 | {Press r and t to modulate the volume of the drones} |
||
161 | {Press y and u to modulate the pitch of the drones} |
||
162 | {Press F7 and F8 to change speed of drone pitch modulation} |
||
163 | {Press F9 and F10 to change speed of drone volume modulation} |
||
164 | {Press - and + to let modulating drones leave a trail} |
||
165 | {Press b or click on Gater button to toggle Gater} |
||
166 | {Gater causes the lead voice to beat} |
||
167 | {Press j to switch modulation target between voice & drones} |
||
168 | {Press i to toggle the pitch & volume information display} |
||
169 | {Use notation command to change to western notation} |
||
170 | {eg., notation western} |
||
171 | {Use key command to change key of the scale} |
||
172 | {eg., key C sets key to middle-C} |
||
173 | {key Bb -1 sets key to Bb nearest to middle-C} |
||
174 | {Use list-scale command to list available scales} |
||
175 | {Use load-scale command to load an available scale} |
||
176 | {eg., load-scale minor5 loads the minor pentatonic scale} |
||
177 | {Press 2 to edit lead voice waveform} |
||
178 | {Press 3 to edit shape of drone modulation in pitch (x) & volume (y) axes} |
||
179 | {Press 4 to edit lead voice modulation curves} |
||
180 | {Press 5 to edit the shape of the beat} |
||
181 | {Press 6 to edit delay feedback & volume curves} |
||
182 | {Press 7 to edit octave shift progression} |
||
183 | {Press 8 to edit drone waveform} |
||
184 | } |
||
185 | |||
186 | set microtonal_keyboard_waveform { |
||
187 | {One cycle of waveform shown here} |
||
188 | {Edit this waveform to change the timbre of lead voice} |
||
189 | } |
||
190 | |||
191 | set drone { |
||
192 | {One cycle of Waveform shown here} |
||
193 | {Edit the waveform to edit the timbre of all drones} |
||
194 | } |
||
195 | |||
196 | set morse_code { |
||
197 | {Bezier curve patterns for dot, dash, inner, letter and word spacing shown here} |
||
198 | {Use morse-code command to convert text to morse code} |
||
199 | {eg., morse-code sos} |
||
200 | {Paste the generated pattern into any curve on any curve editor!} |
||
201 | } |
||
202 | |||
203 | set compressor { |
||
204 | {Compressor curve shown here} |
||
205 | {Edit curve to determine how DIN massages output samples to stay between -1 and 1} |
||
206 | } |
||
207 | |||
208 | set ALL_TIPS(keyboard-keyboard) [concat $keyboard_keyboard $common] |
||
209 | set ALL_TIPS(keyboard-keyboard-waveform) [concat $keyboard_keyboard_waveform $curve_editor $single_insert $undo_redo $library $quit_editor] |
||
210 | set ALL_TIPS(attack) [concat $attack $curve_editor $single_insert $undo_redo $library $quit_editor] |
||
211 | set ALL_TIPS(decay) [concat $decay $curve_editor $single_insert $undo_redo $library $quit_editor] |
||
212 | set ALL_TIPS(velocity) [concat $velocity $curve_editor $single_insert $undo_redo $library $quit_editor] |
||
213 | set ALL_TIPS(delay) [concat $delay $curve_editor $double_insert $undo_redo $quit_editor] |
||
214 | set ALL_TIPS(octave-shift) [concat $octave_shift $curve_editor $single_insert $undo_redo $library $quit_editor] |
||
215 | set ALL_TIPS(microtonal-keyboard) [concat $microtonal_keyboard $common] |
||
216 | set ALL_TIPS(microtonal-keyboard-waveform) [concat $microtonal_keyboard_waveform $curve_editor $single_insert $undo_redo $library $quit_editor $common] |
||
217 | set ALL_TIPS(drone-modulation) [concat $drone_modulation $curve_editor $double_insert $undo_redo $quit_editor $common] |
||
218 | set ALL_TIPS(modulation) [concat $modulation $curve_editor $double_insert $undo_redo $quit_editor $common] |
||
219 | set ALL_TIPS(drone) [concat $drone $curve_editor $single_insert $undo_redo $library $quit_editor $common] |
||
220 | set ALL_TIPS(gater) [concat $gater $curve_editor $single_insert $undo_redo $library $quit_editor $common] |
||
221 | set ALL_TIPS(morse-code) [concat $morse_code $curve_editor $double_insert $undo_redo $quit_editor $common] |
||
222 | set ALL_TIPS(compressor) [concat $compressor $curve_editor $single_insert $undo_redo $quit_editor $common] |
||
223 | |||
224 | set TIPS {} |
||
225 | set NUM_TIPS 0 |
||
226 | set SECTION {} |
||
227 | |||
228 | proc get-tip {section} { |
||
229 | |||
230 | global ALL_TIPS |
||
231 | global TIPS NUM_TIPS TIP_ID |
||
232 | global SECTION |
||
233 | |||
234 | if {$section ne $SECTION} { |
||
235 | set SECTION $section |
||
236 | if {[catch {set TIPS $ALL_TIPS($section)}]} { set TIPS {}} |
||
237 | if {[catch {set tip_id $TIP_ID($section)}]} { set tip_id 0} |
||
238 | set NUM_TIPS [llength $TIPS] |
||
239 | } else { |
||
240 | if {[catch {set tip_id $TIP_ID($section)}]} { set tip_id 0} |
||
241 | } |
||
242 | |||
243 | set tip [lindex $TIPS $tip_id] |
||
244 | incr tip_id |
||
245 | if {$tip_id >= $NUM_TIPS} {set tip_id 0} |
||
246 | set TIP_ID($section) $tip_id |
||
247 | return $tip |
||
248 | |||
249 | } |
||
250 |