|
@@ -1,847 +0,0 @@
|
1
|
|
-CONTENTS:
|
2
|
|
-
|
3
|
|
-1) TODO List
|
4
|
|
-2) OSX Install Notes
|
5
|
|
-
|
6
|
|
-
|
7
|
|
-SPAT LAB SETUP:
|
8
|
|
-+ 1. Stereo
|
9
|
|
- a. TotalMix - select 'diff. stereo' snapshot
|
10
|
|
- b. mixer: Recall preset 91 ('stereo diff')
|
11
|
|
-+ 2. Direct - 24 channels - each channel goes in and out on same number.
|
12
|
|
- a. TotalMix - select 'DTS_24ch'
|
13
|
|
- b. mixer: Recall preset 96 ('24ch firecac ufx')
|
14
|
|
-
|
15
|
|
-=============================================================================
|
16
|
|
-Equipment List:
|
17
|
|
-
|
18
|
|
-1) Two DPA 4011 cardioid mic's.
|
19
|
|
-2) Two boom mic. stands.
|
20
|
|
-3) FMR Audio RNP8380 pre-amp.
|
21
|
|
-4) Presonus Audiobox 181VLS.
|
22
|
|
-5) Mackie 1604 or equivalent mixer.
|
23
|
|
-6) One MIDI cable (15-20 feet)
|
24
|
|
-7) Four 25 foot power extension cables.
|
25
|
|
-8) Two power strips.
|
26
|
|
-9) Eight short (3-4 ft) balanced 1/4" cables.
|
27
|
|
-10) 8 (25 ft) XLR mic cables.
|
28
|
|
-11) 4 balanced 1/4" to male XLR cables (10 ft)
|
29
|
|
-12) 2 balanced 1/4" to female XLR cables (10 ft)
|
30
|
|
-13) One set of the best headphones you can give me.
|
31
|
|
-14) Diskclavier remote control,power supply, and manual.
|
32
|
|
-
|
33
|
|
-0) Contact Mics
|
34
|
|
-1) MIDI interface and USB
|
35
|
|
-2) MIDI cable
|
36
|
|
-3) MIDI barrel adapter
|
37
|
|
-4) Speakers
|
38
|
|
-5) Speaker power cables
|
39
|
|
-6) Tape for contact mics
|
40
|
|
-7) Scissors for contact mics
|
41
|
|
-
|
42
|
|
-=============================================================================
|
43
|
|
-Take sequence builder development notes.
|
44
|
|
-
|
45
|
|
-1. The MIDI file implementation should not overload the use of the
|
46
|
|
- 'dtick' field in cmMidiTrackMsg_t to contain multiple possible
|
47
|
|
- meanings of time (e.g. tick,microsecond,seconds,samples etc) or at
|
48
|
|
- the very least the current meaning of the field should be held as a
|
49
|
|
- flag in the MIDI file. As it i s the field is ambiguous and it can
|
50
|
|
- be difficult to tell what the meaning of the field is in any given
|
51
|
|
- algorithm that processes it.
|
52
|
|
-
|
53
|
|
-2. Sostenuto pedal should be added to the score and then implemented
|
54
|
|
- in cmMidiFileCalcDurations(). When the sostenuto pedal is down
|
55
|
|
- only notes that are playing when the pedal is depressed are
|
56
|
|
- sustained.
|
57
|
|
-
|
58
|
|
-3 As current written the UI control architecture supports only one
|
59
|
|
- user interface element (kcApp.h::ctl_t) per DSP instance. This
|
60
|
|
- limitation is manifest in kcApp.h::find_ctl() which has no way
|
61
|
|
- to distiguish which of multiple ctl_t's to return from a given
|
62
|
|
- instId. In fact this problem probably goes deeper into the
|
63
|
|
- way that Fl_Widgets and DSP instances are assocated.
|
64
|
|
-
|
65
|
|
-4. TODO:
|
66
|
|
- a) When pedal events are inserted via cmGrTksrFltk the inserted event
|
67
|
|
- is shifted backward in time.
|
68
|
|
-
|
69
|
|
- b) Test the save/restore function of TakeSeqBldr render takes.
|
70
|
|
- c) TakeSeqBldr load should be threaded.
|
71
|
|
- d) Eliminate direct communication between cmGrTksb/rFltk and cmTakeSeqBldr.
|
72
|
|
- All communcation should be serialized.
|
73
|
|
- e) Run with valgrind to see if cmGrGksb/rFltk has any obvious bugs.
|
74
|
|
- f) bar select / take select logic is difficult.
|
75
|
|
- g) There is often a NAN shown in the position select display UI.
|
76
|
|
- h) Add bars to the cmGrTksrFltk view.
|
77
|
|
-
|
78
|
|
-=============================================================================
|
79
|
|
-CHANGES TO SIMULATE MODE TO ALLOW MIDI FILE PLAYER TO DRIVE SCORE
|
80
|
|
-FOLLOWER DIRECTLY RATHER THAN FEEDING SCORE FOLLOWER FROM MIDI INPUT PORT:
|
81
|
|
-
|
82
|
|
-CHANGE:
|
83
|
|
- LINE 1150 cmDspSysInstallCb(h, siRt, "f-out-1", sfp, "smpidx",NULL );
|
84
|
|
- 1154 cmDspSysInstallCb(h, d0Rt, "f-out-1", sfp, "d0", NULL );
|
85
|
|
- 1160 cmDspSysInstallCb(h, d1Rt, "f-out-1", sfp, "d1", NULL );
|
86
|
|
- 1166 cmDspSysInstallCb(h, stRt, "f-out-1", sfp, "status",NULL );
|
87
|
|
-
|
88
|
|
-BACK TO:
|
89
|
|
- cmDspSysInstallCb(h, siRt, "f-out-0", sfp, "smpidx",NULL );
|
90
|
|
- cmDspSysInstallCb(h, d0Rt, "f-out-0", sfp, "d0", NULL );
|
91
|
|
- cmDspSysInstallCb(h, d1Rt, "f-out-0", sfp, "d1", NULL );
|
92
|
|
- cmDspSysInstallCb(h, stRt, "f-out-0", sfp, "status",NULL );
|
93
|
|
-
|
94
|
|
-
|
95
|
|
-=============================================================================
|
96
|
|
-Session Notes 3/28/15
|
97
|
|
-1. 34-38-49-54 (good take sequence)
|
98
|
|
-2. Try combining bins in the SpecDist algorithm as a variaion on the spectral distortion algorithm.
|
99
|
|
- For example the bins coud be combined using a Bark grouping.
|
100
|
|
-
|
101
|
|
-
|
102
|
|
-Session Notes 12/12/14
|
103
|
|
-1. Write a tool to create multiple MIDI preformances of the piece.
|
104
|
|
- a) Map each segment to the score using the score follower.
|
105
|
|
- b) Where parts overlap allow interactive selection of which part should be selected.
|
106
|
|
- c) Where parts are missing - insert notes from the score.
|
107
|
|
- d) Display the pedal and allow it to be edited.
|
108
|
|
- e) Allow parameter changes to be assigned to performance locations.
|
109
|
|
-
|
110
|
|
-
|
111
|
|
-Session Notes 11/08/14
|
112
|
|
-1. 127 dynamic level values are not adequate.
|
113
|
|
- we loose quiet notes. the new Steinway instr. should have more velocity bits.
|
114
|
|
-
|
115
|
|
-2. Display the next target score location of cmScModulator() so that it is clear
|
116
|
|
- that cmScoreModulator() is waiting for a score location in the expected place.
|
117
|
|
- Adding a button to dump the cmScModulator() score might also be useful.
|
118
|
|
-
|
119
|
|
-3. JSON parser errors are being sent to the terminal output not the console
|
120
|
|
- output - so they are not easy to not notice.
|
121
|
|
-
|
122
|
|
-4. We need transitsions
|
123
|
|
- We need to be able to audtion presets faster
|
124
|
|
- We need to insert missing pedal information.
|
125
|
|
-
|
126
|
|
-5. Build a complete MIDI version of the piece so that long sections can be run.
|
127
|
|
-
|
128
|
|
-Session Notes: 10/18/14
|
129
|
|
-1) Contact and air mics ogain all set to 1.0
|
130
|
|
- Sometimes igain on air mics reduced to control feedback.
|
131
|
|
- Speakers are 10 ft in front of piano
|
132
|
|
-
|
133
|
|
- AudioBox Gains all at 10 oclock.
|
134
|
|
- FMR Preamp 2nd notch on air mics
|
135
|
|
- Mixer 2.5 kHz 10 oclock, 80 Hz 9 oclock.
|
136
|
|
- Mixer in gains 11 oclock w/ 75 Hz low cut engaged
|
137
|
|
-
|
138
|
|
-2) Need input Eq for contact mic's. LP,BP,HP with adjustable xover Fc and Gain.
|
139
|
|
-
|
140
|
|
-3) Preset G works best. With 'offset' used to control radicalization between 20 and 80.
|
141
|
|
-
|
142
|
|
-4) Add a control cmSpecDist() to interpolate between the input and output
|
143
|
|
- spectrum. This would allow a smooth transition between transformed
|
144
|
|
- and untransformed signal.
|
145
|
|
-
|
146
|
|
- The interpolation can be made to be frequency dependent. This could
|
147
|
|
- also be used to counter the bass boost which the transform tends
|
148
|
|
- to produce.
|
149
|
|
-
|
150
|
|
-5) Add 'offset' as a modulator variable.
|
151
|
|
-6) Are the dynamic modulator parameter controls working: line, sline
|
152
|
|
-7) Many of the modulator file labels are redundant - can they be left out?
|
153
|
|
- (When modulator file values are missing they should default to their last set value).
|
154
|
|
-
|
155
|
|
-8) When the score follower triggers a change the change seems to come
|
156
|
|
- before the Disklavier note sounds due to Disklavier system latency.
|
157
|
|
- Add a delay to the input of scMod to compensate for this delay.
|
158
|
|
-
|
159
|
|
-9) The scMod data file would be easier to work with if it was in columnar form.
|
160
|
|
-
|
161
|
|
-Session Notes: 9/28/14
|
162
|
|
-1) Problems with feedback were mitigated by brining down the input gain.
|
163
|
|
- In generate the input/output gain were set to:
|
164
|
|
- In Gain: 0.7 0.2
|
165
|
|
- Out Gain: 2.0 2.0
|
166
|
|
-2) Turning the piano away from the microphones also reduced feedback; probably
|
167
|
|
- due to the fact that the piano lid sheilds the mic's from direct path
|
168
|
|
- from the speakers.
|
169
|
|
-3) Increasing the threshold and and use of mode 4 (Bump Mode) produced the
|
170
|
|
- best transformations. See Preset G in mod_44_45.js
|
171
|
|
-4) Input signal conditioning needs to be added to keep the piano signal
|
172
|
|
- in the effective range of the transform.
|
173
|
|
-5) The Sine Tracking feedback controller is in an uncertain state.
|
174
|
|
- a. The attenThresh setting range needs to be verified.
|
175
|
|
- b. The scoring function was changed and then not verified.
|
176
|
|
- c. The algorithm which compares the trajectory of a given harmonic
|
177
|
|
- to the trajectory of the overall sound needs to be writen.
|
178
|
|
- Harmonics that are increasing relative the overall envelope
|
179
|
|
- should be attenuated.
|
180
|
|
-6) A noise gate might help the reberberation feedback problem (i.e.
|
181
|
|
- the dense wash of sound with tends to build with time)
|
182
|
|
-7) The transform algorithm needs to be developed further to increase
|
183
|
|
- it's reliability and range of effect.
|
184
|
|
-8) Changing window length from the score didn't seem to be working.
|
185
|
|
-
|
186
|
|
-Session Notes: 8/24/14
|
187
|
|
-0) Investigate using omni mic. in front of speakers to feed input to cmFrqTrk.
|
188
|
|
-1) Feedback from Mark 178, m144, Preset C.
|
189
|
|
-
|
190
|
|
-
|
191
|
|
-Session Notes: 5/24/14
|
192
|
|
-1) Move mic's back from the Disklavier to decrease damper noise.
|
193
|
|
-2) The head phone signal sounds correct.
|
194
|
|
-3) The the L410 computer is running out of time in release mode.
|
195
|
|
-4) Better quality speakers are required.
|
196
|
|
-5) Build a spectrum analyzer and bank of notch filters or graphic EQ to deal with feedback.
|
197
|
|
-6) The DPA 4011 mics and FMR Audio RNP8380 preamp work well.
|
198
|
|
-7) Whenever the speaker signal gets to the point where the transform can be heard
|
199
|
|
- the feedback begins to occur.
|
200
|
|
-
|
201
|
|
-Session Notes: 1/14/14
|
202
|
|
-1) The non-grace evenness notes should include a tempo quality evaluation
|
203
|
|
- based on using the 'tfrac' values from column S of the score.
|
204
|
|
-2) Sliver fade outs are currently tied to the reat-time performance not the captured performance.
|
205
|
|
- In the event that the score follower is lost after beginning a sliver playback
|
206
|
|
- and therefore misses the programmed fade out times begin fading out the
|
207
|
|
- sliver after the attack of the last captured note. This means that
|
208
|
|
- the time location of the captured notes must be accurately indicated
|
209
|
|
- in the sliver.
|
210
|
|
-3) Allow fades to be tied to the capture notes - this is easy if 2) is done first.
|
211
|
|
-
|
212
|
|
-
|
213
|
|
-LANGUAGE NOTES:
|
214
|
|
-The primary goal of the language is to initialize a dataflow system.
|
215
|
|
-Sub-goals:
|
216
|
|
-1) Avoid describing domain specific computation in the language. As much as possible constrain the
|
217
|
|
-language to describe initialization tasks (e.g. object allocation, object connection, initialization
|
218
|
|
-parameters, preset grouping, thread/process allocation, UI layout, ...)
|
219
|
|
-
|
220
|
|
-2) Network Distrubution
|
221
|
|
-3) UI Layout
|
222
|
|
-
|
223
|
|
-Runtime:
|
224
|
|
-+ Extensible data-object system.
|
225
|
|
-+ Library organization (platform independent UI description, application objects, app-independent objects, vector library)
|
226
|
|
- - Platform independent UI description is a protocol for describing a UI object and a runtime protocol
|
227
|
|
- for communitcating with the UI which is independent of the UI implementation itself. The UI should be
|
228
|
|
- implementable in FLTK, or Javascript. The UI will always run in separate thread and may run in a
|
229
|
|
- separate process.
|
230
|
|
- - Application objects are plug-ins which follow a similar design to the cmDspProc() objects.
|
231
|
|
- + xs
|
232
|
|
-
|
233
|
|
-NEW DESIGN NOTES:
|
234
|
|
-+ The current designs fundamental weakness is that it uses callbacks to communicate where sequential program
|
235
|
|
- flow would produce a more comprehensible program.
|
236
|
|
-
|
237
|
|
-+ Dataflow is a natural way to express DSP programs but if it is implemented in a textual, rather than
|
238
|
|
- graphical language, then their are some design princles that must be followed in order
|
239
|
|
- to produce comprehensible programs.
|
240
|
|
- 1) Limit the number of connections as much as possible.
|
241
|
|
- - There are many simple UI->param connections - these should be made automatically and UI
|
242
|
|
- objects should not have to be explicitely created - they should be created by the runtime
|
243
|
|
- environment.
|
244
|
|
- - If multiple pieces of data are part of a single message then they should be sent as a unit
|
245
|
|
- rather than separately. This decreases the number of connections and also removes timing
|
246
|
|
- dependencies - where the application programmer has to know the order of transmission of the
|
247
|
|
- individual pieces. (e.g. MIDI messages always contain {status,d0,d1} rather than having to
|
248
|
|
- send d0 and d1 followed by status to indicate the end of the message {status,d0,d1} should
|
249
|
|
- be sent as a single record.
|
250
|
|
- 2) Eliminate as many event ordering issues as possible
|
251
|
|
- See the example in 1).
|
252
|
|
- 3) Alllow the connections between objects to be made as part of the object allocation.
|
253
|
|
- 4) Allow subprograms to be made. This decreases the complexity of the programs and because
|
254
|
|
- it allows the programs to be organized hierarchically. It also allows the subprograms to
|
255
|
|
- be tested idenpendently.
|
256
|
|
- 5) A natural way to express object multiplicity is required. (e.g. multiple channels).
|
257
|
|
- This leads to a way to naturally create parallel/fan-in/fan-out connections.
|
258
|
|
-
|
259
|
|
-+ One way to solve some of the problems of the current program would be to add debugging tools.
|
260
|
|
- - Generate dataflow diagrams that show execution order and the order of connections.
|
261
|
|
- The actual sending order of the outputs is not accessible to a static network analyzer because it is
|
262
|
|
- implementation dependent.
|
263
|
|
- - Generate reports of network activity that show the timed order of events.
|
264
|
|
-+ The audio system (cmAudioSys) needs to be able to support multiple parallel DSP chains in separate threads.
|
265
|
|
-+ UI Related Issues:
|
266
|
|
- - Automatic UI's should be generated by scanning the objects parameters.
|
267
|
|
- - Custom UI's should be created by explicitily naming object variables along with layout info.
|
268
|
|
-+ Processors should be able to contain their own processing chains - embeddding processors should be possible.
|
269
|
|
- This naturally leads to a tree address space. (e.g. fx.filter.param1)
|
270
|
|
-+ Communication between threads should not necessarily require serialization.
|
271
|
|
- - Use a blackboard approach where object values are read/written from a blackboard. Objects on the same
|
272
|
|
- thread use the same physical blackboard. Blackboards on remote processes stream data in the background.
|
273
|
|
- - This scheme may require double buffering of complex objects to prevent accessing invalid data states.
|
274
|
|
-+ Objects that send multiple valued messages should use 'record' based data so that only one connection
|
275
|
|
- is necessary.
|
276
|
|
-
|
277
|
|
-STRATEGY:
|
278
|
|
-+ implement highly parallel version - which can take advantage of multiple processors
|
279
|
|
- to do more - acoustic pitch tracking, source separation based fades
|
280
|
|
-
|
281
|
|
-TODO:
|
282
|
|
-+ When a cmMsgList item is selected it should send out the selected index
|
283
|
|
- after the individual data items rather than before them - this way the index
|
284
|
|
- can be used as a definitive signal to perform some action on the previously
|
285
|
|
- transmitted data items.
|
286
|
|
-+ cmJson and cmLex should report the name of the file when with syntax error messages.
|
287
|
|
-+ Use CSV for mod score file format (to eliminate need for labels)
|
288
|
|
-+ Autoload of default pgm cfg, program, enable audio, sequence, score location.
|
289
|
|
-+ (done) Circuit switcher patch.
|
290
|
|
-+ Review and document the app threading and locking during audio file loading.
|
291
|
|
-+ Remove old performance evaluation code from cmScore.
|
292
|
|
-+ All programs should be able to reload without crashing via enabling/disabling audio.
|
293
|
|
-+ (in new version) Select and save audio devices.
|
294
|
|
-+ (done) Mac Conversion
|
295
|
|
-+ (done) Live MIDI - to test audio/MIDI delay.
|
296
|
|
-+ (done) As threshold increases overall volume decreases - add a compensation algorithm.
|
297
|
|
-+ There are unintialized variable warnings on the release build.
|
298
|
|
-+ Add preset delete.
|
299
|
|
-+ All uses of va_copy() should have a complimentary va_end()
|
300
|
|
-+ The list boxes do not show the currently selected item.
|
301
|
|
-+ (done)MIDI note messages are sent but do not trigger notes on OSX.
|
302
|
|
-
|
303
|
|
-*** Usage Notes
|
304
|
|
-live - Disconnects WT cmd input (WT will not receive an 'on' msg)
|
305
|
|
- Disconnects TL reset input (TL will not receive a 'reset' msg)
|
306
|
|
- Disconnects MFP sel input (MPF will not receive an 'on' msg)
|
307
|
|
- Switches audio input to KR from WT to AIN.
|
308
|
|
- Turn the 'meas' checkbox 'on'.
|
309
|
|
-
|
310
|
|
-simulate - Turn the 'audio in' checkbox 'on'.
|
311
|
|
- Switch MFP output from SF to Nano.
|
312
|
|
- (SF MIDI input then comes from the MIDI port.)
|
313
|
|
-
|
314
|
|
-audio in - Switch audio input to KR from WT to AIN.
|
315
|
|
-meas - Instruct the SF to generate measurement outputs for the active meas. unit.
|
316
|
|
- Otherwise the measurements must be loaded from the recorded measurment list.
|
317
|
|
-print - Print a report from the SF.
|
318
|
|
-quiet - Turn off SF output.
|
319
|
|
-
|
320
|
|
-LA Secs - Fragment recd/play unit look-ahead time in seconds.
|
321
|
|
-Fade DbpSec - Framgent recd/play unit fade out time
|
322
|
|
- (time to fade to 0 following a fade msg)
|
323
|
|
-
|
324
|
|
-*** Cross-fade Notes
|
325
|
|
-Cross-fades are initiated by sending any msg to the 'AvailCh.trig' input.
|
326
|
|
-The 'AvailCh' object then toggles the parameter router channels and xfader gates.
|
327
|
|
-Only after this should the new parameter values be transmitted either from
|
328
|
|
-the 'ActiveMeas' object (through the scale range chains) or directly from the
|
329
|
|
-'ScMod' object.
|
330
|
|
-
|
331
|
|
-Sending parameter values prior to triggering the 'AvailCh' will result in the
|
332
|
|
-parameters being sent to the currently active 'Kr'. This will result in two
|
333
|
|
-possibly unintended effects:
|
334
|
|
-1) The effect of the parameter will be heard immediately - possibly resulting in distortion.
|
335
|
|
-2) If a subsequent trigger is sent to 'AvailCh' the parameters will be routed to
|
336
|
|
- the fade-out (current) channel rather than the fade-in (next) channel.
|
337
|
|
-
|
338
|
|
-
|
339
|
|
-**** Live Test Score
|
340
|
|
-+ Line 1048 has a red G#5 immediiately following another G#5. Is this correct?
|
341
|
|
- For now the second G#5 has been marked as a 'skip'.
|
342
|
|
-+ Changed Tempo sections 25,26,27 to 40,47,47a
|
343
|
|
-+ Measurements are taken for sections 51-54 but these sections follow bar 136 and
|
344
|
|
- are therefore outside the test. These sections have therefore been redirected
|
345
|
|
- to the downbeat of 201-204.
|
346
|
|
-
|
347
|
|
-*** Testing Notes:
|
348
|
|
-+ Equipment List:
|
349
|
|
- Four Microphones: Four performance/ Four recording
|
350
|
|
- 2 inside 2 inside
|
351
|
|
- 2 overhead 2 overhead
|
352
|
|
-
|
353
|
|
- 4 powered speakers
|
354
|
|
- 2 Mixers (1 performance 1 recording)
|
355
|
|
-
|
356
|
|
- Performance Computer (harpo)/ Audio Interface (delta1010) / MIDI interface (Fastlane)
|
357
|
|
- Recording Computer (crel) / Audio Interface (delta 1010) / MIDI interface (???)
|
358
|
|
- Sensor Strip
|
359
|
|
-
|
360
|
|
-+ Performance Setup
|
361
|
|
-
|
362
|
|
- +------ +
|
363
|
|
- Mic0 ----------->| |
|
364
|
|
- Mic1 ----------->| | sends +-----+ +-------+
|
365
|
|
- Mic2 ----------->| |------->| A/D | | | +------+ +--------+
|
366
|
|
- Mic3 ----------->| Mixer |------->| |------>| harpo |<-------| MIDI |<-----| sensor |
|
367
|
|
- aux | | | | | | +------+ | strip |
|
368
|
|
- Spkr0 <----------| |<-------| |<------| | +--------+
|
369
|
|
- Spkr1 <----------| |<-------| | +------ +
|
370
|
|
- main | | | |
|
371
|
|
- Spkr2 <----------| |<-------| D/A |
|
372
|
|
- Spkr3 <----------| |<-------| |
|
373
|
|
- +-------+ +-----+
|
374
|
|
-
|
375
|
|
-+ Software Development
|
376
|
|
- - Create Score File
|
377
|
|
-
|
378
|
|
- - Create Recording Program (test with long MIDI playback generating audio - look for drift)
|
379
|
|
- Record the index of each MIDI event at it's location in an audio channel.
|
380
|
|
-
|
381
|
|
- - Allow all variables and patch connections to be set from the scMod script and have
|
382
|
|
- multiple scripts with varynig effects setups.
|
383
|
|
-
|
384
|
|
- - When scanning past ramping variables in scMod the end value should be
|
385
|
|
- taken as the next variable(???) - this is not necessarily correct
|
386
|
|
- because one never knows where a timed change may end - maybe ramped
|
387
|
|
- variables should include a 'skip value' giving the next ambient value
|
388
|
|
- for the ramped variable - experiment with this to figure out what works.
|
389
|
|
-
|
390
|
|
- - Add comb filters tuned according to the current MIDI notes as an additional effect.
|
391
|
|
- - Add EQ output stage (use mixer).
|
392
|
|
- - Add an input Compressor.
|
393
|
|
-
|
394
|
|
- - The dry signal should be able to be routed to seperate output channels - around the compressor.
|
395
|
|
- (Better would be to output a delayed version of the dry signal that was in sync with the transformed
|
396
|
|
- signal - this might mean simply passing the dry version as separate outputs from KR).
|
397
|
|
-
|
398
|
|
- - Create a mode in scMod which increments values based on an onset detector. So that
|
399
|
|
- changes only happen on attacks. This still doesn't help if the pedal is down (or
|
400
|
|
- if notes are sustained) but otherwise might be a better way to ramp parameters.
|
401
|
|
-
|
402
|
|
- - (DONE) The ability for the measurements to be called at the correct time must be built in.
|
403
|
|
- (or alternatively to use stored effects).
|
404
|
|
-
|
405
|
|
- - (DONE) Effects applied to the playback fragments.
|
406
|
|
-
|
407
|
|
- - (DONE?) CROSSFADE BUG - This may be fixed by the change to cmDspAvailCh which
|
408
|
|
- handles the case where no channels are available by sending an error message
|
409
|
|
- but not actually changing the state of the cross fader.
|
410
|
|
-
|
411
|
|
-
|
412
|
|
-+ Experiments:
|
413
|
|
- 1) Speaker placement and live/electronics mix.
|
414
|
|
- 2) Sliver mix level
|
415
|
|
- 3) Try varying degree's of effects
|
416
|
|
-
|
417
|
|
-
|
418
|
|
-
|
419
|
|
-*** 11/19
|
420
|
|
-+ The recd/play fade should be able to trigger from a capture note as well as
|
421
|
|
- playback note. An offset might also be useful.
|
422
|
|
- (Should be a default fade for each fragment - keyed to the input. This
|
423
|
|
- will be the fade that will occur when
|
424
|
|
-+ Allow setting fade time in the score.
|
425
|
|
-+ Allow setting fade rate based on 1.0 to 0.0 from fade point to end point.
|
426
|
|
-+ Allow for multiple fades markers per fragment. (what does this mean?)
|
427
|
|
-+ Write code to ignore playback when the score follower is not stable -
|
428
|
|
- or to throw out fragments where there is a mistake.
|
429
|
|
-+ At the end of each fragment recording the fragment should be truncated by the look-ahead time
|
430
|
|
- to avoid capturing the attack of the marked note.
|
431
|
|
-+ Part 2 data analysis: analyze the order of notes in counter rhythms.
|
432
|
|
-+ Allow 'evenness' sequences to have non-even relationships.
|
433
|
|
-
|
434
|
|
-*** 11/1
|
435
|
|
-+ Change the wavetable to read stereo files or add a second wavetable to play the other channel.
|
436
|
|
-+ The console window is not always updating from the bottom.
|
437
|
|
-+ The 'Dump' button results are not going to the console window.
|
438
|
|
-+ Put dry signal into separate output channels.
|
439
|
|
-+ Add 'adaptive' mode parameters to scale/range mappings.
|
440
|
|
-+ The 'meas'->'parameter' mappings should changable from scMod (mod0.js)
|
441
|
|
-+ The 'adaptive' mode parameters (e.g. offset and invert) need to be connected in the patch.
|
442
|
|
-+ Create a mode in scMod which increments values based on an onset detector. So that
|
443
|
|
- changes only happen on attacks. This still doesn't help if the pedal is down (or
|
444
|
|
- if notes are sustained) but otherwise might be a better way to ramp parameters.
|
445
|
|
-+ Mark all notes in the score according to how well they would act as places to transition.
|
446
|
|
- Notes held while the pedal is down would not be good places to transition.
|
447
|
|
- These indicators would then be used to determine where a section change can occur
|
448
|
|
- when the actual section change is missed.
|
449
|
|
-+ (done) All score_loc's and event indexes in meas0.js that beginning with
|
450
|
|
- score location 743 must be decremented by two. (e.g. loc 743 becomes 741 ...)
|
451
|
|
- (score_loc_1.txt is now the correct score file)
|
452
|
|
-+ When scanning past ramping variables in scMod the end value should be
|
453
|
|
- taken as the next variable(???) - this is not necessarily correct
|
454
|
|
- because one never knows where a timed change may end - maybe ramped
|
455
|
|
- variables should include a 'skip value' giving the next ambient value
|
456
|
|
- for the ramped variable - experiment with this to figure out what works.
|
457
|
|
-
|
458
|
|
-
|
459
|
|
-
|
460
|
|
-*** 10/17
|
461
|
|
- Select bar 129.
|
462
|
|
- Start on F5 before 129.
|
463
|
|
- Score follower jumps to loc. 978 then backs up to 973.
|
464
|
|
-
|
465
|
|
-*** 9/27
|
466
|
|
-* (DONE) Implement live recording for use in part 2.
|
467
|
|
-* Implement a delay between when a new section is set to trigger and when
|
468
|
|
-it actually does. This might allow transitions to be set up prior to when they are heard.
|
469
|
|
-* (DONE) OS-X version crashes when the printf("PROCSET ...) is removed from _cmScProcSets().
|
470
|
|
-* Add ability to set mappings and perf. measure settings to scMod.
|
471
|
|
-* The scMod should play through all changes up to the cur starting location so that
|
472
|
|
- we can mimic the state of playing the piece through but allow starting from any location.
|
473
|
|
-* Experiment with changing settings using the scMod ramping functions.
|
474
|
|
-* Make a source separation based fade using an filter/inverse filter based on the
|
475
|
|
- spectrum prior to the cross-fade. As an extra feature notice the state of the pedal
|
476
|
|
- and decay appropriately.
|
477
|
|
-* The electronic score needs the ability to specify that the output is sent to the audible
|
478
|
|
-cross-fade channel rather than the inactive channel.
|
479
|
|
-* Add a score mode that performs some action (e.g. incr/decr) on each incoming score follower
|
480
|
|
-event.
|
481
|
|
-* In AvailCh what happens when no available channels are found - this may be the cause
|
482
|
|
-of the cross-fade cut-out problem.
|
483
|
|
-* Add eq stage to output.
|
484
|
|
-
|
485
|
|
-* Setting the upper slope to a negative value is effective.
|
486
|
|
-
|
487
|
|
-* Demo Material: Seq 8 Mark 204 (1024-4 2048-4) Fade 10ms Cost->Threshold.
|
488
|
|
-- recd7 Mark 151
|
489
|
|
-- recd8 Mark 145 - same settings a previous take.
|
490
|
|
-- (recd9) Mark 145 - w/ changing xfade switch to mode 4 at 38
|
491
|
|
-- recd10 Mark 145 - same w/ no mode change
|
492
|
|
-- recd11 Mark 145 - a. 3 different takes w/ score constant - no perf. parameters used - fixed threshold=65
|
493
|
|
-- recd12 Mark 148 b.(same settings as recd9)
|
494
|
|
-- recd13 Mark 151 c.
|
495
|
|
-- recd14 Mark 161 Section 40 - fixed changes see mod0.js for note
|
496
|
|
-- Seq 6 Mark 145 M-92 (38,39,39a) (recd16) (recd17) (recd18) (recd19)
|
497
|
|
-- Seq 7 Mark 167 M-100
|
498
|
|
-
|
499
|
|
-*** 8/13
|
500
|
|
-* Cross-fade was cutting out during demo.
|
501
|
|
-* Missing takes between seq 7 and seq 8.
|
502
|
|
-* The MIDI is mis-aligned against the audio.
|
503
|
|
-* Are cost / tempo working? ... test changing mode.
|
504
|
|
-* Add an automatic volume adjustment to prevent parameter changes from causing large volume changes.
|
505
|
|
-* What can we actually do between after a MIDI note is received? Is it already too late to
|
506
|
|
- send parameters w/o affecting the attack of the note.
|
507
|
|
-
|
508
|
|
-* Live Test material
|
509
|
|
-
|
510
|
|
- Part 1: Meas:76 - (one measure) to get measurments for later sections
|
511
|
|
- Part 1: Meas:94 (sect 38 (Seq 6)) through Meas:136 (include 136 stop at 137).
|
512
|
|
-
|
513
|
|
- Part 2: ("/Users/kevin/temp/piano score part 2 draft 1 master m 232 - 241 1st 2 bts.sib")
|
514
|
|
- The downbeat of part two aligns with the 3rd beat (in 4/4) of 122 in the first part.
|
515
|
|
- Ends on measure 131 at end of beat 3.
|
516
|
|
-
|
517
|
|
- MISSING MIDI for measures 114:126
|
518
|
|
-
|
519
|
|
-*** July 10
|
520
|
|
-** (done) Make separate mappings and scale/range controls for left and right.
|
521
|
|
-** Add EQ output stage.
|
522
|
|
-** Work out the speaker setup.
|
523
|
|
-** Add capture/playback. Analyze notes on capture and do not play if there are
|
524
|
|
- any wrong notes. (Skipped notes however are acceptable.)
|
525
|
|
-**
|
526
|
|
-
|
527
|
|
-** When a section transition is occurs late - (e.g. due to dropped notes) do not apply
|
528
|
|
-the transformation all at once - instead either ramp it in or step it in on subsequent
|
529
|
|
-attacks. Section transitions which are positively identified are intended to have
|
530
|
|
-dramatic changes so applying the updated parameters immediately is acceptable - but
|
531
|
|
-when the parameters are changed mid-section they should be much applied subtely.
|
532
|
|
-
|
533
|
|
-
|
534
|
|
-
|
535
|
|
-
|
536
|
|
-** (done) Build a database of measurements and setup the program to be able to
|
537
|
|
- apply a given measurement at it's assigned section.
|
538
|
|
-
|
539
|
|
-** Redevelop spectral distortion algorithm to use a spline as the transform.
|
540
|
|
-
|
541
|
|
-** use Log frequency frequency transform instead of FFT.
|
542
|
|
-
|
543
|
|
-** Allow for a continous window size via zero padding.
|
544
|
|
-
|
545
|
|
-** Add a 'write' preset file button - so the preset file can be saved prior to next crash.
|
546
|
|
-
|
547
|
|
-** measurement values can generate MAX_DBL - be sure that are not being sent through to the audio algorithm.
|
548
|
|
- (see ln:965 cmDspKr.c for a hack to fix this)
|
549
|
|
-
|
550
|
|
-** add invert to scale/range to cause output to go in opposite direction.
|
551
|
|
-
|
552
|
|
-** non-grace eveneess are used to generate a measurement value from previous tempo calibration section.
|
553
|
|
- (non-grace evenness notes therefore have two scores: 'evenness' and 'overall-duration').
|
554
|
|
-
|
555
|
|
-** note that the default setting for dyn and even.
|
556
|
|
-
|
557
|
|
-** add dyn,even,tempo,cost number boxes to allow artificial setting of these parameters.
|
558
|
|
- add dyn,even,tempo,cost as modulator variables to allow them to be set from the modulator
|
559
|
|
- With these additions we can simulate apply measurements at the 'application' section.
|
560
|
|
-
|
561
|
|
-** add begining and ending measure numbers to 'seq' labels
|
562
|
|
-
|
563
|
|
-** Gain compensation for mode 4.
|
564
|
|
-
|
565
|
|
-** Do IFFT using cos()^c + i * sin()^c - these bases are orthognal but cause harmonic distortion.
|
566
|
|
- To be efficient this might involve writing an FFT function.
|
567
|
|
-
|
568
|
|
-// May 22
|
569
|
|
-
|
570
|
|
-** Crashers (Should be tested but are probably already fixed following score follower debugging.)
|
571
|
|
-Seq 2 m24 Mark 36 & 38
|
572
|
|
-Seq 4: Mark 115
|
573
|
|
-Seq 4: m76-79 Mark 129 (W/ meas: even & dyn -> thresh change min Thresh to 40) - use 4th seq w/ b1
|
574
|
|
-Seq 6: m92 Mark 143
|
575
|
|
-Seq 7: m103 Mark 173
|
576
|
|
-Seq 7: Mark 172 Meas 103 - always crashes on playback.
|
577
|
|
-Seq 4: Mark 76 Meas 40 - crash!
|
578
|
|
-Seq 2: First mark meas 23
|
579
|
|
- Crash seems to happen in cmProc4.c: _cmScMatchInitMtx() ln:1311.
|
580
|
|
- It looks like a memory overrun. Looks like the first line is wrong
|
581
|
|
- shouldn't:
|
582
|
|
- if( rn >p->mrn && cn > p->mcn )
|
583
|
|
- be
|
584
|
|
- if(rn*cn > p->mrn*p->mcn)
|
585
|
|
-
|
586
|
|
-
|
587
|
|
-
|
588
|
|
-BUGS:
|
589
|
|
-// Apr 20
|
590
|
|
-The tempo measurement can produce invalid values. Set score to 22 then play Mark 38.
|
591
|
|
-First tempo measurement is a non-sense value - probably produced by an div by zero.
|
592
|
|
-Also: Mark 8, Meas 10.
|
593
|
|
-
|
594
|
|
-Crash on playing Mark 37.
|
595
|
|
-
|
596
|
|
-Click on list control outside below list item - crash!
|
597
|
|
-
|
598
|
|
-Select Mark 171 (Seq 7) Section 43, m103 crash
|
599
|
|
-
|
600
|
|
-
|
601
|
|
-// Feb 27
|
602
|
|
-+ Audio seems to preceded MIDI by around 250ms this probably arises
|
603
|
|
-from a delay that was inserted by 'mas'. Can the delay be removed?
|
604
|
|
-
|
605
|
|
-// Feb 25
|
606
|
|
-+ Fix the audio file input/output ports
|
607
|
|
-
|
608
|
|
-//
|
609
|
|
-// Feb 6 & 7
|
610
|
|
-//
|
611
|
|
-+ Performed notes which arrive which about 50ms could be
|
612
|
|
-considered chords. Extra notes notes which were not part of
|
613
|
|
-the chord are probably common and should be discounted during
|
614
|
|
-the cost analysis.
|
615
|
|
-
|
616
|
|
-+ (done) Add alignment cost as a 4th variable along with dyn,even,tempo.
|
617
|
|
-
|
618
|
|
-+ (done) In the score print out (score_loc.txt) Section 2 is starting on Bar 5
|
619
|
|
-when it should start inside Bar 7.
|
620
|
|
-
|
621
|
|
-+ In Take 1 the 2nd dynamics set is not triggered.
|
622
|
|
-
|
623
|
|
-+ In Take 3 Eveness 2 the C2 and F#4 are NOT missing althrough they are in the
|
624
|
|
-evalation. Also E7 which ends that set is not marked with an 'e'.
|
625
|
|
-
|
626
|
|
-+ It is possible to have even-non-grace sets where the note rythm value's are not
|
627
|
|
-all the same (e.g. bar 20 )
|
628
|
|
-
|
629
|
|
-+ User soft-thresholds for the dynamics categories.
|
630
|
|
-
|
631
|
|
-+ Set 39 even measure 25 shows the first note as G#2 when it should be C#1
|
632
|
|
-
|
633
|
|
-+ Missig MIDI note sounded:
|
634
|
|
-C1 score-loc:132
|
635
|
|
-A#2 140
|
636
|
|
-A5 173
|
637
|
|
-C#2 195 Marker 36
|
638
|
|
-E5,G33,A#2,C#1 212-218 Marker 36
|
639
|
|
-E3 185 Marker 37
|
640
|
|
-F5,C#4,G#5 986 Marker-Down 204
|
641
|
|
-
|
642
|
|
-=============================================================================
|
643
|
|
-Sequence Editor Design
|
644
|
|
-
|
645
|
|
-1) Performance pre-processing:
|
646
|
|
- For each annotated performance section align the performance to the score.
|
647
|
|
- and fill in the
|
648
|
|
- sectionArray :
|
649
|
|
- [
|
650
|
|
- section :
|
651
|
|
- {
|
652
|
|
- seq : 1 // time-line this section resides in
|
653
|
|
- marker : 12 // time-line id of this sections begin marker
|
654
|
|
-
|
655
|
|
- eventArray :
|
656
|
|
- [
|
657
|
|
- event :
|
658
|
|
- {
|
659
|
|
-
|
660
|
|
- // score tracking status
|
661
|
|
- // aligned = event matches a score location (scloc is valid)
|
662
|
|
- // inserted = inserted note that does not match the score (scloc is not valid)
|
663
|
|
- // pitch_err = matches score with the wrong pitch (scloc is valid)
|
664
|
|
- // order_err = matches score but not is out of order (scloc is valid)
|
665
|
|
- status: aligned | inserted | pitch_err | order_err
|
666
|
|
-
|
667
|
|
- // score location this event is associated with
|
668
|
|
- // or -1 if the note does not match a score event
|
669
|
|
- scloc: 154
|
670
|
|
-
|
671
|
|
- // performance sample index as an offset into the time-line sequence
|
672
|
|
- smpIdx: 134689
|
673
|
|
-
|
674
|
|
- // performance event duration
|
675
|
|
- durtn: 234567
|
676
|
|
-
|
677
|
|
- // optional note event information
|
678
|
|
- note :
|
679
|
|
- {
|
680
|
|
- pitch: 60
|
681
|
|
- vel: 110
|
682
|
|
- }
|
683
|
|
-
|
684
|
|
- // optional pedal event information
|
685
|
|
- pedal :
|
686
|
|
- {
|
687
|
|
- label: quiet, sust, damp
|
688
|
|
- down : true
|
689
|
|
- }
|
690
|
|
- }
|
691
|
|
- ]
|
692
|
|
- }
|
693
|
|
- ]
|
694
|
|
-
|
695
|
|
-2) Create a new sequence by combining sections:
|
696
|
|
-
|
697
|
|
- a. Load the section array file created in step 1).
|
698
|
|
- b. Select a set of sections to form the basis of the new sequence.
|
699
|
|
- c. Resolve overlapping notes by disabling extra notes that share the
|
700
|
|
- same score location.
|
701
|
|
- d. Insert missing notes by selecting a note(s) from the score.
|
702
|
|
- e. Increase or decrease the inter-onset interval between two notes.
|
703
|
|
- (this will adjust the absolute time offset of all subsequent notes)
|
704
|
|
- f. Edit the velocity of a note.
|
705
|
|
- g. Shift the position of a pedal down or up event.
|
706
|
|
- h. Insert a pedal event.
|
707
|
|
- i. Write the sequence to a file.
|
708
|
|
- j. Load a sequence from a file.
|
709
|
|
-
|
710
|
|
-3) User Interface:
|
711
|
|
- Two Views:
|
712
|
|
- a. Single Frame View:
|
713
|
|
- Display score bars and sections (same as score window) and overlay
|
714
|
|
- section boxes. Select sections to include in a new sequence.
|
715
|
|
- Select Edit | Create Sequence.
|
716
|
|
-
|
717
|
|
- b. Single Frame View:
|
718
|
|
- The begin marker of each frame includes the section label.
|
719
|
|
- Selecting the begin section marker selects all events in the section.
|
720
|
|
- (this does not have to be done explicitely)
|
721
|
|
- Each note in each section is displayed piano-roll style.
|
722
|
|
- The notes are colored according to their 'status'.
|
723
|
|
- Overlapping notes are shown in red.
|
724
|
|
- Disabled notes are shown as hollow boxes.
|
725
|
|
- A strip at the bottom shows the pedal state.
|
726
|
|
-
|
727
|
|
-
|
728
|
|
- Menu:
|
729
|
|
- Show/Hide selected events / sections.
|
730
|
|
- Enable/Disable selected events.
|
731
|
|
-
|
732
|
|
-
|
733
|
|
-=============================================================================
|
734
|
|
-
|
735
|
|
-
|
736
|
|
-
|
737
|
|
- a b
|
738
|
|
- piano --> mic ----> adc --> fbctl --> xform -+-> dac --> spkr --> room --+
|
739
|
|
- ^ ^ ^ | |
|
740
|
|
- | | | | |
|
741
|
|
- | | +--------------+ |
|
742
|
|
- +---------+-------------------------------------------------------------+
|
743
|
|
-
|
744
|
|
-fbctl Design:
|
745
|
|
-
|
746
|
|
-
|
747
|
|
-
|
748
|
|
-1. Measure the spectrum of the room impulse response.
|
749
|
|
- a. Generate a sine sweep, or Max. length sequance, s, with a non-symetric envelope.
|
750
|
|
-
|
751
|
|
- b. Playback s and record the result N times
|
752
|
|
- using different mic. positions.
|
753
|
|
-
|
754
|
|
- c. S = STFT(s)
|
755
|
|
- R = sum(STFT(r_i) / N
|
756
|
|
-
|
757
|
|
- d. Align S and R using PHAT.
|
758
|
|
- e. RIR = mean(S - R)
|
759
|
|
-
|
760
|
|
-
|
761
|
|
-2. Find the delay, d, which minimizes sum(a-b)
|
762
|
|
-
|
763
|
|
- a ----------> DFT() --\
|
764
|
|
- - --->
|
765
|
|
- b --> z^d --> DFT() --/
|
766
|
|
-
|
767
|
|
-
|
768
|
|
-=============================================================================
|
769
|
|
-
|
770
|
|
- 1. Use spectral flux to generate an impulse signal: f.
|
771
|
|
- 2. f' = 1-f correlates to the level of time dependency in the signal.
|
772
|
|
- Frames with a high time dependency contain more reberberated signal.
|
773
|
|
- 3. Setup a 2xT NMF problem Y = HE
|
774
|
|
- 4. Initialize spectrum 1 as the f weighted avg. of all spectra.
|
775
|
|
- 5. Initialize spectrum 2 as the f' weighted avg. of all spectra.
|
776
|
|
- 6. Initialize env. 1 as f
|
777
|
|
- 7. Initialize env. 2 as f'
|
778
|
|
- 8. Allow all other variables, other than f', to vary - spectrum 2
|
779
|
|
- is the impulse response.
|
780
|
|
-
|
781
|
|
- alternatively use gradient descent, or alternating LS, rather than NMF
|
782
|
|
-
|
783
|
|
-
|
784
|
|
-=============================================================================
|
785
|
|
-
|
786
|
|
-New vector library:
|
787
|
|
-1. Use type generic pre-proc feature.
|
788
|
|
-2. Explicit matrix representation.
|
789
|
|
-3. Use BLAS and LAPACK.
|
790
|
|
-
|
791
|
|
-
|
792
|
|
-=============================================================================
|
793
|
|
-
|
794
|
|
--------------------------------------------------------------------------------
|
795
|
|
-OSX - Install Notes
|
796
|
|
--------------------------------------------------------------------------------
|
797
|
|
-1. Install XQuartz (from xquartz.macosforge.org)
|
798
|
|
-0. Install Xcode
|
799
|
|
-1. Install macports (export PATH="/opt/local/bin:/opt/local/sbin:$PATH")
|
800
|
|
-2. sudo port install autoconf
|
801
|
|
-3. sudo port install automake
|
802
|
|
-4. sudo port install libtool
|
803
|
|
-5. sudo port install fftw-3
|
804
|
|
-6. sudo port install fftw-3-single
|
805
|
|
-7. port select --list gcc (which gcc is active)
|
806
|
|
-8. sudo port install gcc47
|
807
|
|
-9. sudo port --set gcc mp-gcc47 (6/15/15 the default, mp-gcc5, works without this stp)
|
808
|
|
- sudo port intsall gdb (then edit /System/Library/LaunchDaemons/com.apple.taskgated.plist <string>s<string> to <string>sp<string>.
|
809
|
|
-10. sudo port install fltk
|
810
|
|
-11. sudo port install xorg-libX11
|
811
|
|
-12.sudo port install git
|
812
|
|
-13.sudo port install emacs +x11
|
813
|
|
-14 install ~/Library/Preferences/org.larke.kc.txt (this is not required)
|
814
|
|
-15 create ~/Library/Preferences/kc
|
815
|
|
-16 Install ~/Library/Preferences/time_line.js, time_line_preset.js, time_line_preset.csv
|
816
|
|
-
|
817
|
|
-
|
818
|
|
-A. In System Preferences | Keyboard | Shortcuts replace Ctl-<left> with Ctl-Alt-Left in the
|
819
|
|
-Spaces shortcut. This allows emacs to use C-<left> for word-back.
|
820
|
|
-
|
821
|
|
-B. Set keycodes in xmod_apple_keymap to force 'Alt' to be emacs meta key.
|
822
|
|
-
|
823
|
|
-keycode <Cmd> = Super_L NoSymbol Super_L NoSymbol
|
824
|
|
-keycode <Alt> = Alt_L Meta_L Alt_L Meta_l
|
825
|
|
-
|
826
|
|
-Replace <Cmd> with command code of Command key.
|
827
|
|
-replace <Alt> with command code of Alt key.
|
828
|
|
-Use 'xev' to get the keycodes.
|
829
|
|
-
|
830
|
|
-
|
831
|
|
-C. Uncheck enable key equivalents under X11 to prevent Cmd-W from closing window in emacs.
|
832
|
|
-
|
833
|
|
--------------------------------------------------------------------------------
|
834
|
|
-Linux - Install Notes
|
835
|
|
--------------------------------------------------------------------------------
|
836
|
|
-1. autoconf
|
837
|
|
-2. automake
|
838
|
|
-3. gcc-c++ (to get g++)
|
839
|
|
-4. blas-devel x64
|
840
|
|
-5. atlas-devel x64
|
841
|
|
-6. lapack-devel x64
|
842
|
|
-7. download fftw-3: ./configure --prefix=/usr
|
843
|
|
-8. fftwf-3 : ./configure --prefix=/usr --enable-single
|
844
|
|
-9. fltk-devel x64
|
845
|
|
-
|
846
|
|
-
|
847
|
|
-
|