Bläddra i källkod

Merge branch 'master' of klarke.webfactional.com:webapps/gitweb/repos/kc

master
kevin larke 7 år sedan
förälder
incheckning
7ab6eda0f1

+ 53
- 0
doc/kc_play_directions.txt Visa fil

@@ -0,0 +1,53 @@
1
+0) Log-in to Mac as 'kevin'.
2
+
3
+1)  Setup hardware
4
+  a. Turn on MOTU Traveler (MOTU Audio Setup window shows up on Mac)
5
+  b. Turn on mixer.
6
+      Channel 1: Transformation Left  (Mute button down)
7
+              2: Transformation Right (Mute button down)
8
+	      3: Dry Piano Left       (Mute button up)
9
+	      4: Dry Piano Right      (Mute button up)
10
+      
11
+2) Start Ivory
12
+   a. Insert ILOK
13
+   b. Select Ivory Standalone from Mac Menu.
14
+   c. Select 'Program Preset' "German Concert D Grand"
15
+   d. Audio | Device = Soundflower (2ch)
16
+
17
+3) Start 'kc'
18
+   a. Right click on: src | kc | build | osx | debug | bin | kc
19
+      and select 'Open'.
20
+      
21
+   b. The grey 'kc' window will open and a white terminal window
22
+      will open behind it.  The terminal window will end with
23
+      the message:
24
+      "UDP Network error: The JSON 'udpnet' element was not found. (RC:9)"
25
+      (Contrary to what it says this is a not an error message.)
26
+      
27
+   c. Select the 'Enable Audio' checkbox. Some text will be printed
28
+      to the terminal window.  
29
+   
30
+       mode:1
31
+       mode:1
32
+       wsn:2048 hsn:512
33
+       wsn:1024 hsn:256
34
+       wsn:2048 hsn:512
35
+       wsn:1024 hsn:256
36
+       mode:1
37
+       mode:1
38
+       /Users/kevin/temp/score_temp.mid : 0
39
+       A7 : 0
40
+       /Users/kevin/temp/score_temp.mid : 0
41
+       A7 : 0
42
+
43
+    d. Select the 'Main' tab.
44
+    
45
+    e. Push the 'Start' button to begin playback.
46
+       If playback does not start and errors show up in the
47
+       terminal window goto a.
48
+
49
+    f. By default playback begins from measure 1.
50
+       To begin playback from a different measure
51
+       enter the measure number in the edit box
52
+       labelled 'meas' and preset enter.
53
+     

+ 894
- 0
src/kc/data/gen_mod/gen_mod.py Visa fil

@@ -0,0 +1,894 @@
1
+# Generate the 'mod' file for time_line_lite.js
2
+
3
+import sys,copy
4
+
5
+# Selected presets
6
+scoreSeqL = [
7
+    (   1,"g_1_d"),
8
+    (  18,"a"),
9
+    (  43,"d"),
10
+    (  55,"g_1_a"),
11
+    (  74,"a"),
12
+    (  80,"d"),
13
+    (  91,"dry"),
14
+    (  95,"b"),
15
+    ( 102,"g_a"),
16
+    ( 126,"b"),
17
+    ( 142,"a"),
18
+    ( 156,"a"),
19
+    ( 171,"a"),
20
+    ( 186,"b"),
21
+    ( 231,"f_4"),
22
+    ( 236,"g_1_d"),
23
+    ( 264,"g_1_d"),
24
+    ( 286,"dry"),
25
+    ( 291,"f_3"),
26
+    ( 353,"f_4"),
27
+    ( 378,"g_1_a"),
28
+    ( 384,"f_4"),
29
+    ( 391,"g_1_d"),
30
+    ( 451,"f_1"),
31
+    ( 480,"f_4"),
32
+    ( 544,"f_1"),
33
+    ( 559,"dry"),
34
+    ( 610,"dry"),
35
+    ( 699,"g_a"),
36
+    ( 778,"f_3"),
37
+    ( 917,"g_1_d"),
38
+    ( 971,"f_3"),
39
+    (1025,"g_1_d"),
40
+    (1090,"g_1_d")
41
+    ]
42
+
43
+# Hard-coded presets
44
+initPresetStr = """
45
+ init: 
46
+ [
47
+   // wnd len:1=512 2=1024 3=2048 4=4096 5=8192
48
+   { loc:-1, mod:m1, var:win0, type:set, rate:100, val:3 },
49
+   {                 var:win1,           rate:100, val:2 },
50
+
51
+   // hop: 1=1 2=2 3=4 4=8 5=16
52
+   {                 var:hop0,           rate:100, val:3 },
53
+   {                 var:hop1,           rate:100, val:3 },
54
+
55
+   {                 var:mod0,           val:1   },
56
+   {                 var:mod1,           val:1  },
57
+
58
+   {                 var:thr0,           val:65 },
59
+   {                 var:thr1,           val:65 },
60
+
61
+   {                 var:upr0,           val:0 },
62
+   {                 var:upr1,           val:0 },
63
+   {                 var:lwr0,           val:2.0 },  // lwr has a hardcoded min. of 0.3
64
+   {                 var:lwr1,           val:2.0 },
65
+   
66
+   {                 var:off0,           val:20 },
67
+   {                 var:off1,           val:20 },
68
+
69
+   {                 var:wet0,           val:0.0 },
70
+   {                 var:wet1,           val:0.0 },
71
+
72
+   {                 var:mint0,           val:55 },
73
+   {                 var:maxt0,           val:85 },
74
+   {                 var:minu0,           val:0.0 },
75
+   {                 var:maxu0,           val:0.5 },
76
+   {                 var:minl0,           val:0 },
77
+   {                 var:maxl0,           val:3 },
78
+   {                 var:mino0,           val:-100.0 },
79
+   {                 var:maxo0,           val:100.0 },
80
+
81
+
82
+   {                 var:mint1,           val:55 },
83
+   {                 var:maxt1,           val:85 },
84
+   {                 var:minu1,           val:0.0 },
85
+   {                 var:maxu1,           val:0.5 },
86
+   {                 var:minl1,           val:0 },
87
+   {                 var:maxl1,           val:3 },
88
+   {                 var:mino1,           val:-100.0 },
89
+   {                 var:maxo1,           val:100.0 },
90
+   
91
+   {                 var:xfad0,           val:100.0 },
92
+   {                 var:xfad1,           val:100.0 },
93
+   {                 var:sw0,   type:decl, val:1 },	
94
+   {                 var:sw1,   type:decl, val:1 },	
95
+
96
+   // compressor
97
+   {                 var:cbyp0,    type:set, val:0.0 },
98
+   {                 var:cigain0,            val:3.0 },
99
+   {                 var:cthrsh0,            val:-20.0 },
100
+   {                 var:cratio0,            val:2.0 },
101
+   {                 var:catkms0,            val:20.0 },
102
+   {                 var:crlsms0,            val:1000.0 },
103
+   {                 var:cmakeup0,           val:1.0 },
104
+   {                 var:cwndms0,            val:200 },
105
+
106
+   {                 var:cbyp1,              val:0.0 },
107
+   {                 var:cigain1,            val:3.0 },
108
+   {                 var:cthrsh1,            val:-20.0 },
109
+   {                 var:cratio1,            val:2.0 },
110
+   {                 var:catkms1,            val:20.0 },
111
+   {                 var:crlsms1,            val:1000.0 },
112
+   {                 var:cmakeup1,           val:1.0 },
113
+   {                 var:cwndms1,            val:200 },
114
+   
115
+   {                 var:dgain0,             val:1.0 },
116
+   {                 var:dgain1,             val:1.0 },
117
+   {                 var:wgain0,             val:1.0 },
118
+   {                 var:wgain1,             val:1.0 },
119
+  ]
120
+
121
+//  Dry 
122
+   preset_dry :
123
+   [
124
+   { loc:-1 mod:m1      var:mod0,	type:set, val:1    },
125
+   {                    var:cigain0,              val: 5.0  },
126
+   {                    var:wet0                  val: 0.0}
127
+   {                    var:sw0,                  val:0 },	
128
+
129
+   {                    var:mod1                  val:1    },
130
+   {                    var:cigain1,              val: 5.0  },
131
+   {                    var:wet1                  val: 0.0}
132
+   {                    var:sw1,                  val:0 },	
133
+   ]
134
+
135
+"""
136
+
137
+
138
+# Default labels to match the 'kc' menu.
139
+dfltLabelsL = [ "a","b","c","d","f_1", "f_2", "f_3", "f_4", "g", "g_a", "g_1_a", "g_1_d" ]
140
+
141
+# Default preset values.
142
+dfltPresetL = [
143
+     
144
+     {"a":
145
+      [
146
+          {
147
+              "mod":    1,
148
+              "thr":   60.0,
149
+              "upr":   -1.1,
150
+              "lwr":    2.0,
151
+              "off":    0.0,
152
+              "cigain": 6.0,
153
+              "wet":    1.0,
154
+              "wgain":  1.75,
155
+              "sw":     0
156
+          },
157
+          
158
+          {
159
+              "mod":    1,
160
+              "thr":   60.0,
161
+              "upr":   -0.99,
162
+              "lwr":    2.0,
163
+              "off":    0.0,
164
+              "cigain": 6.0,
165
+              "wet":    1.0,
166
+              "wgain":  1.75,
167
+              "sw":     0
168
+          }
169
+      ]
170
+     },
171
+
172
+     {"b":
173
+      [
174
+          {
175
+              "mod":    1,
176
+              "thr":   77.0,
177
+              "upr":   -0.5,
178
+              "lwr":    3.0,
179
+              "off":    0.0,
180
+              "cigain":10.0,
181
+              "wet":    1.0,
182
+              "wgain":  1.75,
183
+              "sw":     0
184
+          },
185
+          
186
+          {
187
+              "mod":    1,
188
+              "thr":   74.0,
189
+              "upr":   -0.5,
190
+              "lwr":    2.0,
191
+              "off":    0.0,
192
+              "cigain":10.0,
193
+              "wet":    1.0,
194
+              "wgain":  1.75,
195
+              "sw":     0
196
+          }
197
+      ]
198
+     },
199
+
200
+     {"c":
201
+      [
202
+          {
203
+              "mod":    1,
204
+              "thr":   80.0,
205
+              "upr":   -0.5,
206
+              "lwr":    5.0,
207
+              "off":    0.0,
208
+              "cigain":11.0,
209
+              "wet":    1.0,
210
+              "wgain":  1.0,
211
+              "sw":     0
212
+          },
213
+          
214
+          {
215
+              "mod":    1,
216
+              "thr":   80.0,
217
+              "upr":   -0.5,
218
+              "lwr":    5.0,
219
+              "off":    0.0,
220
+              "cigain":11.0,
221
+              "wet":    1.0,
222
+              "wgain":  1.0,
223
+              "sw":     0
224
+          }
225
+      ]
226
+     },
227
+
228
+
229
+     {"d":
230
+      [
231
+          {
232
+              "mod":    1,
233
+              "thr":   70.0,
234
+              "upr":   -3.9,
235
+              "lwr":    4.0,
236
+              "off":    0.0,
237
+              "cigain": 9.0,
238
+              "wet":    1.0,
239
+              "wgain":  1.0,
240
+              "sw":     0
241
+          },
242
+          
243
+          {
244
+              "mod":    1,
245
+              "thr":   70.0,
246
+              "upr":   -4.5,
247
+              "lwr":    4.0,
248
+              "off":    0.0,
249
+              "cigain": 9.0,
250
+              "wet":    1.0,
251
+              "wgain":  1.0,
252
+              "sw":     0
253
+          }
254
+      ]
255
+     },
256
+
257
+     {"f_1":
258
+      [
259
+          {
260
+              "mod":    1,
261
+              "thr":   50.0,
262
+              "upr":   -3.0,
263
+              "lwr":    1.0,
264
+              "off":    0.0,
265
+              "cigain": 6.0,
266
+              "wet":    1.0,
267
+              "wgain":  2.0,
268
+              "sw":     0
269
+          },
270
+          
271
+          {
272
+              "mod":    1,
273
+              "thr":   50.0,
274
+              "upr":   -3.0,
275
+              "lwr":    1.0,
276
+              "off":    0.0,
277
+              "cigain": 6.0,
278
+              "wet":    1.0,
279
+              "wgain":  2.0,
280
+              "sw":     0
281
+          }
282
+      ]
283
+     },
284
+
285
+     {"f_2":
286
+      [
287
+          {
288
+              "mod":    1,
289
+              "thr":   60.0,
290
+              "upr":   -3.0,
291
+              "lwr":    1.0,
292
+              "off":    0.0,
293
+              "cigain": 6.0,
294
+              "wet":    1.0,
295
+              "wgain":  2.0,
296
+              "sw":     0
297
+          },
298
+          
299
+          {
300
+              "mod":    1,
301
+              "thr":   60.0,
302
+              "upr":   -3.0,
303
+              "lwr":    1.0,
304
+              "off":    0.0,
305
+              "cigain": 6.0,
306
+              "wet":    1.0,
307
+              "wgain":  2.0,
308
+              "sw":     0
309
+          }
310
+      ]
311
+     },
312
+
313
+     {"f_3":
314
+      [
315
+          {
316
+              "mod":    1,
317
+              "thr":   55.0,
318
+              "upr":   -3.0,
319
+              "lwr":    1.0,
320
+              "off":    0.0,
321
+              "cigain": 6.0,
322
+              "wet":    1.0,
323
+              "wgain":  2.0,
324
+              "sw":     0
325
+          },
326
+          
327
+          {
328
+              "mod":    1,
329
+              "thr":   55.0,
330
+              "upr":   -3.0,
331
+              "lwr":    1.0,
332
+              "off":    0.0,
333
+              "cigain": 6.0,
334
+              "wet":    1.0,
335
+              "wgain":  2.0,
336
+              "sw":     0
337
+          }
338
+      ]
339
+     },
340
+
341
+     {"f_4":
342
+      [
343
+          {
344
+              "mod":    1,
345
+              "thr":   55.0,
346
+              "upr":   -5.0,
347
+              "lwr":    1.0,
348
+              "off":    0.0,
349
+              "cigain": 6.0,
350
+              "wet":    1.0,
351
+              "wgain":  2.0,
352
+              "sw":     0
353
+          },
354
+          
355
+          {
356
+              "mod":    1,
357
+              "thr":   55.0,
358
+              "upr":   -5.0,
359
+              "lwr":    1.0,
360
+              "off":    0.0,
361
+              "cigain": 6.0,
362
+              "wet":    1.0,
363
+              "wgain":  2.0,
364
+              "sw":     0
365
+          }
366
+      ]
367
+     },
368
+
369
+     {"g":
370
+      [
371
+          {
372
+              "mod":    4,
373
+              "thr":   60.0,
374
+              "upr":   -0.7,
375
+              "lwr":    8.0,
376
+              "off":   20.0,
377
+              "cigain":10.0,
378
+              "wet":    1.0,
379
+              "wgain":  1.0,
380
+              "sw":     0
381
+          },
382
+          
383
+          {
384
+              "mod":    4,
385
+              "thr":   64.0,
386
+              "upr":   -0.7,
387
+              "lwr":    8.0,
388
+              "off":   20.0,
389
+              "cigain":10.0,
390
+              "wet":    1.0,
391
+              "wgain":  1.0,
392
+              "sw":     0
393
+          }
394
+      ]
395
+     },
396
+
397
+     {"g_a":
398
+      [
399
+          {
400
+              "mod":    4,
401
+              "thr":   50.0,
402
+              "upr":   -0.7,
403
+              "lwr":    2.0,
404
+              "off":   40.0,
405
+              "cigain":10.0,
406
+              "wet":    1.0,
407
+              "wgain":  1.0,
408
+              "sw":     0
409
+          },
410
+          
411
+          {
412
+              "mod":    4,
413
+              "thr":   54.0,
414
+              "upr":   -0.7,
415
+              "lwr":    8.0,
416
+              "off":   40.0,
417
+              "cigain":10.0,
418
+              "wet":    1.0,
419
+              "wgain":  1.0,
420
+              "sw":     0
421
+          }
422
+      ]
423
+     },
424
+
425
+     {"g_1_a":
426
+      [
427
+          {
428
+              "mod":    4,
429
+              "thr":   50.0,
430
+              "upr":   -0.7,
431
+              "lwr":    8.0,
432
+              "off":   20.0,
433
+              "cigain":10.0,
434
+              "wet":    1.0,
435
+              "wgain":  1.0,
436
+              "sw":     0
437
+          },
438
+          
439
+          {
440
+              "mod":    4,
441
+              "thr":   54.0,
442
+              "upr":   -0.7,
443
+              "lwr":    2.0,
444
+              "off":   20.0,
445
+              "cigain":10.0,
446
+              "wet":    1.0,
447
+              "wgain":  1.0,
448
+              "sw":     0
449
+          }
450
+      ]
451
+     },
452
+     
453
+     {"g_1_d":
454
+      [
455
+          {
456
+              "mod":    4,
457
+              "thr":   40.0,
458
+              "upr":   -0.4,
459
+              "lwr":    7.0,
460
+              "off":   60.0,
461
+              "cigain":10.0,
462
+              "wet":    1.0,
463
+              "wgain":  1.0,
464
+              "sw":     0
465
+          },
466
+          
467
+          {
468
+              "mod":    4,
469
+              "thr":   34.0,
470
+              "upr":   -0.3,
471
+              "lwr":    5.0,
472
+              "off":   64.0,
473
+              "cigain":10.0,
474
+              "wet":    1.0,
475
+              "wgain":  1.0,
476
+              "sw":     0
477
+          }
478
+      ]
479
+     }
480
+     
481
+ ]
482
+
483
+
484
+def write_seq( f, label, seqL ):
485
+    """ Write a sequence preset.
486
+        seqL = [ 
487
+                 (loc preset_label)   # Set 'preset_label' to 'None' to assign the seq. label to the preset label.
488
+                 (loc var ch value)   # 'ch' is 0=left or 1=right
489
+               ]
490
+    """
491
+    
492
+    f.write("seq_%s :\n" % label)
493
+    f.write("[\n")
494
+    f.write("{ loc:-1 type:exec val:init },\n")
495
+    f.write("{ loc:-1           val:preset_dry },\n")
496
+
497
+    typ0 = 'exec'
498
+    for x in seqL:
499
+        typ1 = typ0
500
+        if len(x) == 2:
501
+            typ1 = 'exec'
502
+            preset_label = label if x[1]==None else x[1]
503
+            typeS = 'type:exec,' if typ0!=typ1 else '       '
504
+            f.write("{ loc:%5i, %s val:preset_%s },\n" % (x[0],typeS,preset_label))
505
+        elif len(x)  == 4:
506
+            typ1 = 'set'
507
+            typeS = 'type:set' if typ0!=typ1 else '        '
508
+            f.write("{ loc:%5i %s var:%s%i val:%7.2f },\n" % (x[0],typeS,x[1],x[2],x[3]))
509
+            
510
+        typ0 = typ1
511
+            
512
+    
513
+    f.write("]\n\n")
514
+
515
+def write_preset_ch( f, presetD, ch ):
516
+
517
+    fmt0 = "{ loc:-1 mode:m1 var:%6s%i, type:set, val:%7.2f },\n"
518
+    fmt1 = "{                var:%6s%i,           val:%7.2f },\n"
519
+    fmt  = fmt0 if ch==0 else fmt1
520
+    for key,val in presetD.items():
521
+        f.write(fmt % (key,ch,val))
522
+        fmt = fmt1    
523
+
524
+def write_preset( f, label, psL ):
525
+
526
+    f.write("preset_%s : \n" % label)
527
+    f.write("[\n")
528
+    write_preset_ch(f, psL[0], 0 )
529
+    f.write("\n")
530
+    write_preset_ch(f, psL[1], 1 )        
531
+    f.write("]\n")
532
+    
533
+
534
+def write_seqs( f, labelL, seqL ):
535
+    """ Assign a list of preset changes to all sequences named in labelL."""
536
+
537
+    for label in labelL:
538
+        write_seq( f, label, seqL )
539
+
540
+def write_presets( f, presetL ):
541
+
542
+    for x in presetL:
543
+        label = x.keys()[0]
544
+        psL   = x[label]
545
+        write_preset(f,label,psL)
546
+
547
+def label_to_psL( presetL, keyLabel ):
548
+    for preset in presetL:
549
+        label = preset.keys()[0]
550
+        if label == keyLabel:
551
+            return preset[label]
552
+
553
+    raise ValueError( "Preset %s not found." % keyLabel)
554
+    
555
+
556
+def dupl_preset( presetL, keyLabel, labelsL ):
557
+    """ Create a new preset list formed by duplicating the preset
558
+    identified by 'keyLabel' for each label in 'labelsL'
559
+    """
560
+    psL   = label_to_psL(presetL,keyLabel);
561
+    newL  = []
562
+
563
+    for label in labelsL:
564
+        newL.append( { label:copy.deepcopy(psL) } )
565
+    
566
+    return newL
567
+
568
+def mod_range( presetL, var, val00, val01, val10, val11 ):
569
+
570
+    N   = len(presetL)
571
+    v0L = []
572
+    v1L = []
573
+    for i in range(0,N):
574
+        v0L.append( val00 + (i*(val01-val00)/(N-1)) )
575
+        v1L.append( val10 + (i*(val11-val10)/(N-1)) )
576
+
577
+
578
+    for i,preset in enumerate(presetL):
579
+        label = preset.keys()[0]
580
+        psL   = preset[label]
581
+
582
+        #print "%i %s %f %f" % (i,label,v0L[i],v1L[i])
583
+
584
+        psL[0][var] = v0L[i]
585
+        psL[1][var] = v1L[i]
586
+
587
+
588
+def mod_discrete_range( presetL, var, v0L, v1L ):
589
+
590
+    assert( len(v0L) == len(v1L) )
591
+    
592
+    N   = min(len(v0L),len(presetL))
593
+
594
+
595
+    for i in range(N):
596
+        preset = presetL[i]
597
+        label  = preset.keys()[0]
598
+        psL    = preset[label]
599
+
600
+        print "%i %s %f %f" % (i,label,v0L[i],v1L[i])
601
+
602
+        psL[0][var] = v0L[i]
603
+        psL[1][var] = v1L[i]
604
+        
605
+    return N
606
+
607
+def print_preset( presetL ):
608
+
609
+    for x in presetL:
610
+        label = x.keys()[0]
611
+        psL   = x[label]
612
+        print "%s %i" % (label,len(psL))
613
+
614
+        for i,psD in enumerate(psL):
615
+            for var,val in psD.items():
616
+                print "%s%i:%f" % (var,i,val)
617
+
618
+
619
+                
620
+
621
+if __name__ == "__main__":
622
+
623
+    #print_preset( presetL )
624
+    
625
+    fn = sys.argv[1]
626
+
627
+
628
+    # 
629
+    seq0L = [
630
+        ( 961, "g_1_d"),      # (loc preset_label)
631
+        ( 967, "wnd", 0, 3 ), # (loc var channel value)
632
+        ( 967,  "f_3"),       # (loc preset_label)
633
+        (1023, None)          # (loc preset_label = seq_label)
634
+        ]
635
+
636
+    seq1L =[
637
+        (1, None)   # meas 1
638
+        #(301, None) # meas 33
639
+        #(480, None) # meas 41
640
+        ]
641
+    
642
+
643
+    presetL = []
644
+
645
+    # assign a sequential range of thresholds to each preset
646
+    if 0: # 12/28/16
647
+        
648
+        mod_range( presetL, "thr", 50.0, 90.0, 55.0, 95.0 )
649
+        mod_range( presetL, "cigain", 6.0, 12.0, 6.0, 12.0 )
650
+        mod_range( presetL, "upr",  2.5, -5.0, 2.3, -5.2)
651
+        mod_range( presetL, "lwr",  0.5,  2.0, 0.5,  2.0)
652
+
653
+    if 0: # 12/28/16
654
+
655
+        # make all presets identical to preset 'a'.
656
+        presetL = dupl_preset( dfltPresetL, "g_1_d", dfltLabelsL)
657
+        
658
+        #mod_range( presetL, "thr", 30.0, 90.0, 35.0, 95.0 )
659
+        #mod_range( presetL, "cigain", 10.0, 16.0, 10.0, 16.0 )
660
+        mod_range( presetL, "thr", 65.0, 65.0, 65.0, 65.0 )
661
+        #mod_range( presetL, "upr", -0.05, 4.5, -0.05, 4.5)  # upr slope min: -0.05
662
+        mod_range( presetL, "upr", -0.05, -0.05, -0.05, -0.05) 
663
+        #mod_range( presetL, "lwr", 1.1, 8.0, 1.1, 8.0 )     # 1.5 is good
664
+        #mod_range( presetL, "lwr", 8.0, 8.0, 8.0, 8.0 )
665
+        mod_range( presetL, "lwr", 1.5, 1.5, 1.5, 1.5 )
666
+        mod_range( presetL, "off", 0.0, 99.9, 0.0, 99.9)
667
+        #mod_range( presetL, "upr",  2.5, -5.0, 2.3, -5.2)
668
+        #mod_range( presetL, "lwr",  0.5,  2.0, 0.5,  2.0)
669
+
670
+    if 0: # 1/14/17
671
+
672
+        seq1L =[
673
+            (778, None)   # meas 50
674
+            ]
675
+
676
+        if 0:
677
+            presetL = dupl_preset( dfltPresetL, "f_3", dfltLabelsL)
678
+
679
+            # thr: (40 ok) - (71 0k) upr:-3.0 lwr:1.0 cigain:6.0 vetted trajectory for measure 50 
680
+        
681
+            mod_range( presetL, "thr",   40.0, 71.0, 40.0, 71.0 )
682
+            #mod_range( presetL, "thr",   68.0, 68.0, 68.0, 68.0 )
683
+            #mod_range( presetL, "upr",  -4.0,  0.0,  -4.0,  0.0)
684
+            mod_range( presetL, "upr",  -3.0,  -3.0,  -3.0,  -3.0) 
685
+            mod_range( presetL, "lwr",    1.0,  1.0,  1.0,  1.0 )
686
+            mod_range( presetL, "cigain", 6.0,  6.0,  6.0,  6.0 )
687
+
688
+        else:  # 3/6/17
689
+
690
+            presetL = dupl_preset( dfltPresetL, "g_1_a", dfltLabelsL)
691
+
692
+            mod_range( presetL, "thr",   20.0, 50.0, 20.0, 50.0 )  # offs:65 thr:20-50
693
+            mod_range( presetL, "off",   10.0, 80.0, 10.0, 80.0)
694
+            mod_range( presetL, "upr",  -0.7, -0.2, -0.7, -0.2 )
695
+            mod_range( presetL, "lwr",   2.0, 2.0,   8.0, 4.0 )
696
+        
697
+            mod_range( presetL, "cigain", 10.0,  14.0,  10.0,  14.0 )
698
+
699
+
700
+    if 0: # 1/14/17 and 1/28/17
701
+    
702
+        seq1L =[
703
+            (917, None)   # meas 53
704
+            #(1, None)   # meas 1
705
+            ]
706
+
707
+        # 2/4/17 vetted for both meas 53 and meas 1
708
+        
709
+        # make all presets identical to preset 'a'.
710
+        presetL = dupl_preset( dfltPresetL, "g_1_d", dfltLabelsL)
711
+        
712
+        mod_range( presetL, "thr",   20.0, 50.0, 20.0, 50.0 )  # offs:65 thr:20-50
713
+        #mod_range( presetL, "off",   10.0, 80.0, 10.0, 80.0)
714
+        #mod_range( presetL, "off",   65.0, 65.0, 65.0, 65.0)      # thr 34, offset should be > 50
715
+        #mod_range( presetL, "off",   50.0, 80.0, 50.0, 80.0)
716
+        mod_range( presetL, "off",   10.0, 80.0, 10.0, 80.0)
717
+        mod_range( presetL, "cigain", 14.0,  14.0,  14.0,  14.0 )
718
+
719
+    if 0: #  1/28/17
720
+
721
+        seq1L =[
722
+            (917, None)   # meas 53
723
+            ]
724
+        
725
+        # make all presets identical to preset 'a'.
726
+        presetL = dupl_preset( dfltPresetL, "f_3", dfltLabelsL)
727
+        
728
+        mod_range( presetL, "thr",   40.0, 90.0, 40.0, 90.0 ) 
729
+        mod_range( presetL, "upr",   0.0, 0.0, 0.0, 0.0 )
730
+        mod_range( presetL, "lwr",   4.0, 4.0, 4.0, 4.0)       # vocal artifacts come in with lwr < 4
731
+        mod_range( presetL, "cigain", 3.0,  8.0,  3.0,  8.0 )
732
+
733
+
734
+    if 0: # 2/4/17
735
+        
736
+        seq1L =[
737
+            (378, None),   # meas 36
738
+        ]
739
+
740
+        presetL = dupl_preset( dfltPresetL, "g_1_a", dfltLabelsL)
741
+
742
+        mod_range( presetL, "thr",   20.0, 50.0, 20.0, 50.0 )  # offs:65 thr:20-50
743
+        mod_range( presetL, "off",   10.0, 80.0, 10.0, 80.0)
744
+        mod_range( presetL, "upr",  -0.7, -0.2, -0.7, -0.2 )
745
+        mod_range( presetL, "lwr",   2.0, 2.0,   8.0, 4.0 )
746
+        
747
+        mod_range( presetL, "cigain", 10.0,  14.0,  10.0,  14.0 )
748
+
749
+
750
+        
751
+    if 0: # 2/4/17
752
+        
753
+        seq1L =[
754
+            (378, "g_1_a"),  # meas 36
755
+            (384, None),  
756
+        ]
757
+
758
+        presetL = dupl_preset( dfltPresetL, "f_4", dfltLabelsL)
759
+
760
+        mod_range( presetL, "thr",  70.0, 75.0, 70.0, 75.0 ) 
761
+        mod_range( presetL, "upr",  -8.0, -4.0, -8.0, -4.0 )
762
+        mod_range( presetL, "lwr",   8.0,  1.0, 8.0, 1.0)    
763
+        mod_range( presetL, "cigain", 10.0,  14.0,  10.0,  14.0 )
764
+
765
+
766
+    if 0:
767
+
768
+        seq1L =[
769
+            (1, None)   # meas 1
770
+        ]
771
+
772
+        # 2/4/17 vetted for both meas 53 and meas 1
773
+        
774
+        # make all presets identical to preset 'a'.
775
+        presetL = dupl_preset( dfltPresetL, "g_1_d", dfltLabelsL)
776
+
777
+        print "preset len:",len(presetL)
778
+        
779
+        w0L = [ 512,  512,  512,  512,  1024, 1024, 1024, 2048, 2048, 4096 ]
780
+        w1L = [ 512, 1024, 2048, 4096,  1024, 2048, 4096, 2048, 4096, 4096 ]
781
+
782
+
783
+        
784
+        N = mod_discrete_range( presetL, "win", w0L, w1L )
785
+
786
+        presetL = presetL[0:N]
787
+        
788
+        mod_range( presetL, "thr",   40.0, 40.0, 40.0, 40.0 )  # offs:65 thr:20-50
789
+        mod_range( presetL, "off",   55.0, 55.0, 55.0, 55.0)
790
+        mod_range( presetL, "cigain", 14.0,  14.0,  14.0,  14.0 )
791
+
792
+
793
+    if 0: # 3/6/17
794
+
795
+        seq1L =[
796
+            (1, None)   # meas 1
797
+        ]
798
+
799
+        presetL = dupl_preset( dfltPresetL, "g_1_d", dfltLabelsL)
800
+
801
+        mod_range( presetL, "thr",   20.0, 50.0, 20.0, 50.0 )  # offs:65 thr:20-50
802
+        mod_range( presetL, "off",   10.0, 80.0, 10.0, 80.0)
803
+        mod_range( presetL, "cigain", 14.0,  14.0,  14.0,  14.0 )
804
+
805
+
806
+    if 0: # 3/6/17
807
+
808
+        seq1L =[
809
+            (1, None)   # meas 1
810
+        ]
811
+
812
+
813
+        presetL = dupl_preset( dfltPresetL, "a", dfltLabelsL)
814
+        mod_range( presetL, "thr",   55.0, 65.0, 55.0, 65.0 )
815
+        mod_range( presetL, "upr", -1.0,  -5.0,  -1.0,  -5.0 )
816
+        mod_range( presetL, "lwr",  2.0,   1.0,   2.0,   1.0 )
817
+        mod_range( presetL, "cigain", 6.0,  8.0,  6.0,  8.0 )
818
+        
819
+
820
+    if 0: # 3/6/17
821
+
822
+        seq1L =[
823
+            #(1, None)   # meas 38
824
+            (476, None)
825
+        ]
826
+
827
+        presetL = dupl_preset( dfltPresetL, "f_4", dfltLabelsL)
828
+
829
+        """
830
+        w0L = [ 512,  512,  512,  512,  1024, 1024, 1024, 2048, 2048, 4096 ]
831
+        w1L = [ 512, 1024, 2048, 4096,  1024, 2048, 4096, 2048, 4096, 4096 ]
832
+        
833
+        N = mod_discrete_range( presetL, "win", w0L, w1L )
834
+
835
+        presetL = presetL[0:N]
836
+        """
837
+        if 1:
838
+            mod_range( presetL, "thr",   55.0, 65.0, 55.0, 65.0 )
839
+            mod_range( presetL, "upr", -1.0,  -5.0,  -1.0,  -5.0 )
840
+            mod_range( presetL, "lwr",  2.0,   1.0,   2.0,   1.0 )
841
+            mod_range( presetL, "cigain", 6.0,  8.0,  6.0,  8.0 )
842
+        else:
843
+            mod_range( presetL, "thr",  55.0, 75.0, 55.0, 75.0 ) 
844
+            mod_range( presetL, "upr",  -8.0, -4.0, -8.0, -4.0 )
845
+            mod_range( presetL, "lwr",   8.0,  1.0, 8.0, 1.0)    
846
+            mod_range( presetL, "cigain", 10.0,  14.0,  10.0,  14.0 )
847
+        
848
+    if 1: # 3/11/17
849
+
850
+        seq1L =[
851
+            (1015, None)  # meas 57 (just before section 29)
852
+            #(1068, None)  # meas 58 (just before section 29)
853
+        ]
854
+
855
+        
856
+        presetL = dupl_preset( dfltPresetL, "g_1_d", dfltLabelsL)
857
+
858
+        # this is a good parameter space - notice that it can
859
+        # generate 4 lines connecting the diagnals of a cube
860
+
861
+        mod_range( presetL, "thr",    10.0, 80.0, 10.0, 80.0 )  # line 1
862
+        mod_range( presetL, "off",    10.0, 99.0, 10.0, 99.0)
863
+
864
+        #mod_range( presetL, "thr",    10.0, 80.0, 10.0, 80.0 )  #  line 2
865
+        #mod_range( presetL, "off",    99.0, 10.0, 99.0, 10.0)
866
+        
867
+        #mod_range( presetL, "upr",  5.0,  -1.5,  5.0,  -1.5 )    
868
+        mod_range( presetL, "upr", -1.5,  5.0,  -1.5, 5.0 )
869
+        
870
+        #mod_range( presetL, "lwr", 0.9,  30.0,  0.9,  30.0 )
871
+        
872
+        mod_range( presetL, "cigain", 14.0, 14.0, 14.0, 14.0 )
873
+
874
+        
875
+            
876
+        
877
+    # thr    upr  lwr   offs
878
+    # 65   -0.05  1.5   0.0
879
+    #                  99.9
880
+    # 65   -0.05 10.0   0.0
881
+    #                  99.0
882
+
883
+    with open(fn,"wt") as f:
884
+        f.write("{\n")
885
+
886
+        write_seqs(f,dfltLabelsL,seq1L) # assign seq0L to each sequence
887
+        #write_seqs(f,'a',scoreSeqL);     # the only sequence will be 'a'
888
+
889
+        f.write("%s\n" % initPresetStr)
890
+        
891
+        write_presets(f,presetL)
892
+        
893
+        f.write("}\n")
894
+        

+ 70
- 0
src/kc/data/gen_mod/plot_presets.py Visa fil

@@ -0,0 +1,70 @@
1
+import numpy as np
2
+from mpl_toolkits.mplot3d import Axes3D
3
+import matplotlib.pyplot as plt
4
+import csv
5
+
6
+plt.switch_backend('TkAgg')
7
+
8
+"""
9
+def randrange(n, vmin, vmax):
10
+    return (vmax - vmin)*np.random.rand(n) + vmin
11
+
12
+fig = plt.figure()
13
+ax = fig.add_subplot(111, projection='3d')
14
+n = 100
15
+for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:
16
+    xs = randrange(n, 23, 32)
17
+    ys = randrange(n, 0, 100)
18
+    zs = randrange(n, zl, zh)
19
+    ax.scatter(xs, ys, zs, c=c, marker=m)
20
+
21
+ax.set_xlabel('X Label')
22
+ax.set_ylabel('Y Label')
23
+ax.set_zlabel('Z Label')
24
+
25
+plt.show()
26
+"""
27
+
28
+
29
+
30
+fn = "preset.csv"
31
+
32
+fig = plt.figure()
33
+ax = fig.add_subplot(111, projection='3d')
34
+ax.set_xlabel('Threshold')
35
+ax.set_ylabel('Lower')
36
+ax.set_zlabel('Upper')
37
+
38
+
39
+with open(fn) as f:
40
+    rd = csv.reader(f)
41
+
42
+    rd.next()
43
+
44
+    for x in rd:
45
+        label = x[0]
46
+        ch    = x[1]
47
+        mode  = x[2]
48
+        thresh= x[3]
49
+        upr   = x[4]
50
+        lwr   = x[5]
51
+        offs  = x[6]
52
+
53
+        c = 'b'
54
+        if float(mode)==4:
55
+            c = 'g'
56
+        if float(mode)==0:
57
+            c = 'r'
58
+            
59
+        lbl = "%s-%s" % (label,ch)
60
+
61
+        x = float(thresh)
62
+        y = float(lwr)
63
+        z = float(upr)
64
+        ax.scatter(x,y,z,c=c)
65
+
66
+        ax.text(x,y,z,  '%s' % (lbl), size=10, zorder=1,  color='k')
67
+        
68
+
69
+plt.show()
70
+        

+ 33
- 0
src/kc/data/gen_mod/preset.csv Visa fil

@@ -0,0 +1,33 @@
1
+Preset,Channel,Mode,Threshold,Upper,Lower,Offset,CGain,WetDry,WGain
2
+A,L,1.000000,60.000000,-1.100000,2.000000,,6.000000,1.000000,1.750000,
3
+A,R,1.000000,60.000000,-0.990000,2.000000,,6.000000,1.000000,1.750000,
4
+B,L,1.000000,77.000000,-0.500000,3.000000,,10.000000,,1.750000,
5
+B,R,1.000000,74.000000,-0.500000,2.000000,,10.000000,,1.750000,
6
+C,L,1.000000,80.000000,-0.500000,5.000000,,11.000000,1.000000,,
7
+C,R,1.000000,80.000000,-0.500000,5.000000,,11.000000,1.000000,,
8
+D,L,1.000000,70.000000,-3.900000,4.000000,,9.000000,1.000000,,
9
+D,R,1.000000,70.000000,-4.500000,4.000000,,9.000000,1.000000,,
10
+F_1,L,1.000000,50.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
11
+F_1,R,1.000000,50.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
12
+F_2,L,1.000000,60.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
13
+F_2,R,1.000000,60.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
14
+F_3,L,1.000000,55.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
15
+F_3,R,1.000000,55.000000,-3.000000,1.000000,,6.000000,1.000000,2.000000,
16
+F_4,L,1.000000,55.000000,-5.000000,1.000000,,6.000000,1.000000,2.000000,
17
+F_4,R,1.000000,55.000000,-5.000000,1.000000,,6.000000,1.000000,2.000000,
18
+G,L,4.000000,60.000000,-0.700000,8.000000,20.000000,10.000000,1.000000,,
19
+G,R,4.000000,64.000000,-0.700000,8.000000,20.000000,10.000000,1.000000,,
20
+G_A,L,4.000000,50.000000,-0.700000,2.000000,40.000000,10.000000,1.000000,,
21
+G_A,R,4.000000,54.000000,-0.700000,2.000000,40.000000,10.000000,1.000000,,
22
+G_1_A,L,4.000000,50.000000,-0.700000,8.000000,20.000000,10.000000,1.000000,1.000000,
23
+G_1_A,R,4.000000,54.000000,-0.700000,2.000000,20.000000,10.000000,1.000000,1.000000,
24
+G_1_D,L,4.000000,40.000000,-0.400000,7.000000,60.000000,10.000000,1.000000,1.000000,
25
+G_1_D,R,4.000000,34.000000,-0.300000,5.000000,64.000000,10.000000,1.000000,1.000000,
26
+1, X,0, 40,-5.5,0.3,0
27
+2, X,0, 40,-5.5,8.0,0
28
+3, X,0, 40, 2.5,0.3,0
29
+4, X,0, 40, 2.5,8.0,0
30
+5, X,0, 95,-5.5,0.3,0
31
+6, X,0, 95,-5.5,8.0,0
32
+7, X,0, 95, 2.5,0.3,0
33
+8, X,0, 95, 2.5,8.0,0

+ 89
- 31
src/kc/data/mod_simple_seq.js Visa fil

@@ -3,7 +3,45 @@
3 3
  [
4 4
    { loc: -1 type:exec val:init }
5 5
    { loc: -1           val:preset_dry }
6
-/*   
6
+
7
+   { loc: 1            val:preset_g_1_d }  // meas:1 sect:1
8
+   { loc: 18           val:preset_a }      // meas:2 sect:2
9
+   { loc: 43           val:preset_d }      //        sect:4
10
+   { loc: 55           val:preset_g_1_a }  // meas:4 sect:5
11
+   { loc: 74           val:preset_b }      // meas:5 sect:6
12
+   { loc: 80           val:preset_g_1_d }  //        sect:7
13
+   { loc: 91           val:preset_dry }    //        sect:8
14
+   { loc: 95           val:preset_b }      // meas:8
15
+   
16
+   { loc: 102          val:preset_g_a }    //         sect:9
17
+   { loc: 126          val:preset_b }      //         sect:10
18
+   { loc: 142          val:preset_a }      // meas:15 sect:11
19
+   { loc: 156          val:preset_a }      // meas:19 sect:12
20
+// { loc: 171          val:preset_a }      // meas:20 sect:13
21
+   { loc: 186          val:preset_b }      //         sect:14
22
+   { loc: 231          val:preset_f_4 }    // meas:25 
23
+   { loc: 236          val:preset_g_1_d }  //         sect:15
24
+// { loc: 264          val:preset_g_1_d }  //         sect:16
25
+   { loc: 286          val:preset_dry }    // meas:32 
26
+   { loc: 291          val:preset_f_3 }    //         sect:17
27
+   { loc: 353          val:preset_f_4 }    // meas:35 sect:18
28
+
29
+   { loc: 378          val:preset_g_1_a }  // meas:36 sect:19
30
+   { loc: 384          val:preset_f_4 }    // mid 36
31
+   { loc: 391          val:preset_g_1_d }  // meas:37
32
+   { loc: 451          val:preset_f_1 }    //         sect:20
33
+   { loc: 480          val:preset_f_4 }    // meas:41 sect:21
34
+   { loc: 544          val:preset_f_1 }    //         sect:22        (or g_1_d)
35
+   { loc: 559          val:preset_dry }    // meas:44
36
+// { loc: 610          val:preset_dry }    //         sect:23
37
+   { loc: 699          val:preset_g_a }    //         sect:24
38
+   { loc: 778          val:preset_f_3 }    // meas:50 
39
+   { loc: 917          val:preset_g_1_d }  //         sect:26
40
+   { loc: 971          val:preset_f_3 }    //         sect:27
41
+   { loc: 1025         val:preset_g_1_d }  //         sect:28
42
+// { loc: 1090         val:preset_g_1_d }  //         sect:29
43
+
44
+/*  
7 45
    { loc: 17           val:preset_a }
8 46
    { loc: 47           val:preset_d }
9 47
    { loc: 59           val:preset_g_1_a }
@@ -28,77 +66,94 @@
28 66
    { loc: 450          val:preset_f_1 }
29 67
    { loc: 476          val:preset_f_4 }
30 68
    { loc: 541          val:preset_g_1_d } // or f_4
31
-   { loc: 555          val:preset_dry }
32
-   { loc: 605          val:preset_g_1_a } 
69
+   { loc: 555          val:preset_dry }    
70
+   { loc: 605          val:preset_g_1_a }  // (now 609)
71
+   { loc: 698          val:preset_g_a }    // selection with score0_a.mid
72
+   { loc: 777          val:preset_f_3 }
73
+   { loc: 915          val:preset_g_1_d }
74
+   { loc: 967          val:preset_f_3 }
75
+   { loc: 1023         val:preset_g_1_d }
33 76
 */
34
-
35
-   { loc: 566          val:preset_dry }
36
-   { loc: 605          val:preset_a }
37
-
38
- ]
77
+/*
78
+   { loc: 961          val:preset_g_1_d }
79
+   { loc: 967          val:preset_f_3 }
80
+   { loc: 1023          val:preset_a }
81
+*/
82
+]
39 83
 
40 84
  seq_b :
41 85
  [
86
+ 
42 87
    { loc: -1 type:exec val:init }
43 88
    { loc: -1           val:preset_dry }
44
-   { loc: 566          val:preset_dry }
45
-   { loc: 605          val:preset_b }
89
+   { loc: 961          val:preset_g_1_d }
90
+   { loc: 967          val:preset_f_3 }
91
+   { loc: 1023          val:preset_b }
92
+   
46 93
  ]
47 94
 
48
- seq_c :
95
+
96
+seq_c :
49 97
  [
50 98
    { loc: -1 type:exec val:init }
51 99
    { loc: -1           val:preset_dry }
52
-   { loc: 566          val:preset_dry }
53
-   { loc: 605          val:preset_c }   
100
+   { loc: 961          val:preset_g_1_d }
101
+   { loc: 967          val:preset_f_3 }
102
+   { loc: 1023          val:preset_c }   
54 103
  ]
55 104
 
56 105
  seq_d :
57 106
  [
58 107
    { loc: -1 type:exec val:init }
59 108
    { loc: -1           val:preset_dry }
60
-   { loc: 566          val:preset_dry }
61
-   { loc: 605          val:preset_d }   
109
+   { loc: 961          val:preset_g_1_d }
110
+   { loc: 967          val:preset_f_3 }
111
+   { loc: 1023          val:preset_d }   
62 112
  ]
63 113
 
64 114
  seq_f_1 :
65 115
  [
66 116
    { loc: -1 type:exec val:init }
67 117
    { loc: -1           val:preset_dry }
68
-   { loc: 566          val:preset_dry }
69
-   { loc: 605          val:preset_f_1 }    
118
+   { loc: 961          val:preset_g_1_d }
119
+   { loc: 967          val:preset_f_3 }
120
+   { loc: 1023          val:preset_f_1 }    
70 121
  ]
71 122
 
72 123
  seq_f_2 :
73 124
  [
74 125
    { loc: -1 type:exec val:init }
75 126
    { loc: -1           val:preset_dry }
76
-   { loc: 566          val:preset_dry }
77
-   { loc: 605          val:preset_f_2 }   
127
+   { loc: 961          val:preset_g_1_d }
128
+   { loc: 967          val:preset_f_3 }
129
+   { loc: 1023          val:preset_f_2 }   
78 130
  ]
79 131
 
80 132
  seq_f_3 :
81 133
  [
82 134
    { loc: -1 type:exec val:init }
83 135
    { loc: -1           val:preset_dry }
84
-   { loc: 566          val:preset_dry }
85
-   { loc: 605          val:preset_f_3 }   
136
+   { loc: 961          val:preset_g_1_d }
137
+   { loc: 967          val:preset_f_3 }
138
+   { loc: 1023          val:preset_f_3 }   
86 139
  ]
87 140
 
88 141
  seq_f_4 :
89 142
  [
90 143
    { loc: -1 type:exec val:init }
91 144
    { loc: -1           val:preset_dry }
92
-   { loc: 566          val:preset_dry }
93
-   { loc: 605          val:preset_f_4 }
145
+   { loc: 961          val:preset_g_1_d }
146
+   { loc: 967          val:preset_f_3 }
147
+   { loc: 1023          val:preset_f_4 }
94 148
  ]
95 149
 
96 150
  seq_g :
97 151
  [
98 152
    { loc: -1 type:exec val:init }
99 153
    { loc: -1           val:preset_dry }
100
-   { loc: 566          val:preset_dry }
101
-   { loc: 605          val:preset_g }
154
+   { loc: 961          val:preset_g_1_d }
155
+   { loc: 967          val:preset_f_3 }
156
+   { loc: 1023          val:preset_g }
102 157
 
103 158
  ]
104 159
 
@@ -106,8 +161,9 @@
106 161
  [
107 162
    { loc: -1 type:exec val:init }
108 163
    { loc: -1           val:preset_dry }
109
-   { loc: 566          val:preset_dry }
110
-   { loc: 605          val:preset_g_a }
164
+   { loc: 961          val:preset_g_1_d }
165
+   { loc: 967          val:preset_f_3 }
166
+   { loc: 1023          val:preset_g_a }
111 167
 
112 168
  ]
113 169
 
@@ -115,8 +171,9 @@
115 171
  [
116 172
    { loc: -1 type:exec val:init }
117 173
    { loc: -1           val:preset_dry }
118
-   { loc: 566          val:preset_dry }
119
-   { loc: 605          val:preset_g_1_d }
174
+   { loc: 961          val:preset_g_1_d }
175
+   { loc: 967          val:preset_f_3 }
176
+   { loc: 1023          val:preset_g_1_d }
120 177
 
121 178
  ]
122 179
 
@@ -124,8 +181,9 @@
124 181
  [
125 182
    { loc: -1 type:exec val:init }
126 183
    { loc: -1           val:preset_dry }
127
-   { loc: 566          val:preset_dry }
128
-   { loc: 605          val:preset_g_1_a }
184
+   { loc: 961          val:preset_g_1_d }
185
+   { loc: 967          val:preset_f_3 }
186
+   { loc: 1023          val:preset_g_1_a }
129 187
 
130 188
  ]
131 189
 

+ 1445
- 0
src/kc/data/round1.csv
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 59
- 58
src/kc/data/round1.js Visa fil

@@ -28,66 +28,67 @@
28 28
         offset: 0         
29 29
         smpCnt: 31680000         
30 30
         trackId: 0         
31
-        textStr: "a7.mid"         
31
+	textStr: "round1.mid"
32 32
       }
33
+      
34
+{ label: "1" type: "mk" ref: "mf-0" offset:        0 smpCnt:31989618 trackId: 0 textStr: "Bar   1" bar:   1 sec:"  1" }
35
+{ label: "2" type: "mk" ref: "mf-0" offset:   569203 smpCnt:31420415 trackId: 0 textStr: "Bar   2" bar:   2 sec:"  2" }
36
+{ label: "3" type: "mk" ref: "mf-0" offset:  1163329 smpCnt:30826289 trackId: 0 textStr: "Bar   3" bar:   3 sec:"  3" }
37
+{ label: "4" type: "mk" ref: "mf-0" offset:  1739185 smpCnt:30250433 trackId: 0 textStr: "Bar   4" bar:   4 sec:"  4" }
38
+{ label: "5" type: "mk" ref: "mf-0" offset:  2327502 smpCnt:29662116 trackId: 0 textStr: "Bar   5" bar:   5 sec:"  5" }
39
+{ label: "6" type: "mk" ref: "mf-0" offset:  2909448 smpCnt:29080170 trackId: 0 textStr: "Bar   6" bar:   6 sec:"  6" }
40
+{ label: "7" type: "mk" ref: "mf-0" offset:  3485116 smpCnt:28504502 trackId: 0 textStr: "Bar   7" bar:   7 sec:"  7" }
41
+{ label: "8" type: "mk" ref: "mf-0" offset:  4060784 smpCnt:27928834 trackId: 0 textStr: "Bar   8" bar:   8 sec:"  8" }
42
+{ label: "9" type: "mk" ref: "mf-0" offset:  4636452 smpCnt:27353166 trackId: 0 textStr: "Bar   9" bar:   9 sec:"  9" }
43
+{ label: "10" type: "mk" ref: "mf-0" offset:  5356038 smpCnt:26633580 trackId: 0 textStr: "Bar  10" bar:  10 sec:" 10" }
44
+{ label: "11" type: "mk" ref: "mf-0" offset:  5787883 smpCnt:26201735 trackId: 0 textStr: "Bar  11" bar:  11 sec:" 11" }
45
+{ label: "12" type: "mk" ref: "mf-0" offset:  6369828 smpCnt:25619790 trackId: 0 textStr: "Bar  12" bar:  12 sec:" 12" }
46
+{ label: "13" type: "mk" ref: "mf-0" offset:  6945497 smpCnt:25044121 trackId: 0 textStr: "Bar  13" bar:  13 sec:" 13" }
47
+{ label: "14" type: "mk" ref: "mf-0" offset:  7521165 smpCnt:24468453 trackId: 0 textStr: "Bar  14" bar:  14 sec:" 14" }
48
+{ label: "15" type: "mk" ref: "mf-0" offset:  8096833 smpCnt:23892785 trackId: 0 textStr: "Bar  15" bar:  15 sec:" 15" }
49
+{ label: "16" type: "mk" ref: "mf-0" offset:  8672501 smpCnt:23317117 trackId: 0 textStr: "Bar  16" bar:  16 sec:" 16" }
50
+{ label: "17" type: "mk" ref: "mf-0" offset:  9248169 smpCnt:22741449 trackId: 0 textStr: "Bar  17" bar:  17 sec:" 17" }
51
+{ label: "18" type: "mk" ref: "mf-0" offset:  9836580 smpCnt:22153038 trackId: 0 textStr: "Bar  18" bar:  18 sec:" 18" }
52
+{ label: "19" type: "mk" ref: "mf-0" offset: 10412249 smpCnt:21577369 trackId: 0 textStr: "Bar  19" bar:  19 sec:" 19" }
53
+{ label: "20" type: "mk" ref: "mf-0" offset: 10987917 smpCnt:21001701 trackId: 0 textStr: "Bar  20" bar:  20 sec:" 20" }
54
+{ label: "21" type: "mk" ref: "mf-0" offset: 11569956 smpCnt:20419662 trackId: 0 textStr: "Bar  21" bar:  21 sec:" 21" }
55
+{ label: "22" type: "mk" ref: "mf-0" offset: 12145625 smpCnt:19843993 trackId: 0 textStr: "Bar  22" bar:  22 sec:" 22" }
56
+{ label: "23" type: "mk" ref: "mf-0" offset: 12913182 smpCnt:19076436 trackId: 0 textStr: "Bar  23" bar:  23 sec:" 23" }
57
+{ label: "24" type: "mk" ref: "mf-0" offset: 13296961 smpCnt:18692657 trackId: 0 textStr: "Bar  24" bar:  24 sec:" 24" }
58
+{ label: "25" type: "mk" ref: "mf-0" offset: 13885372 smpCnt:18104246 trackId: 0 textStr: "Bar  25" bar:  25 sec:" 25" }
59
+{ label: "26" type: "mk" ref: "mf-0" offset: 14604957 smpCnt:17384661 trackId: 0 textStr: "Bar  26" bar:  26 sec:" 26" }
60
+{ label: "28" type: "mk" ref: "mf-0" offset: 15612377 smpCnt:16377241 trackId: 0 textStr: "Bar  28" bar:  28 sec:" 28" }
61
+{ label: "29" type: "mk" ref: "mf-0" offset: 16231145 smpCnt:15758473 trackId: 0 textStr: "Bar  29" bar:  29 sec:" 29" }
62
+{ label: "30" type: "mk" ref: "mf-0" offset: 16782827 smpCnt:15206791 trackId: 0 textStr: "Bar  30" bar:  30 sec:" 30" }
63
+{ label: "31" type: "mk" ref: "mf-0" offset: 17298747 smpCnt:14690871 trackId: 0 textStr: "Bar  31" bar:  31 sec:" 31" }
64
+{ label: "32" type: "mk" ref: "mf-0" offset: 17607077 smpCnt:14382541 trackId: 0 textStr: "Bar  32" bar:  32 sec:" 32" }
65
+{ label: "33" type: "mk" ref: "mf-0" offset: 18018185 smpCnt:13971433 trackId: 0 textStr: "Bar  33" bar:  33 sec:" 33" }
66
+{ label: "34" type: "mk" ref: "mf-0" offset: 18800845 smpCnt:13188773 trackId: 0 textStr: "Bar  34" bar:  34 sec:" 34" }
67
+{ label: "35" type: "mk" ref: "mf-0" offset: 18993083 smpCnt:12996535 trackId: 0 textStr: "Bar  35" bar:  35 sec:" 35" }
68
+{ label: "36" type: "mk" ref: "mf-0" offset: 19485551 smpCnt:12504067 trackId: 0 textStr: "Bar  36" bar:  36 sec:" 36" }
69
+{ label: "37" type: "mk" ref: "mf-0" offset: 20157508 smpCnt:11832110 trackId: 0 textStr: "Bar  37" bar:  37 sec:" 37" }
70
+{ label: "38" type: "mk" ref: "mf-0" offset: 20541484 smpCnt:11448134 trackId: 0 textStr: "Bar  38" bar:  38 sec:" 38" }
71
+{ label: "39" type: "mk" ref: "mf-0" offset: 21093878 smpCnt:10895740 trackId: 0 textStr: "Bar  39" bar:  39 sec:" 39" }
72
+{ label: "40" type: "mk" ref: "mf-0" offset: 21921510 smpCnt:10068108 trackId: 0 textStr: "Bar  40" bar:  40 sec:" 40" }
73
+{ label: "41" type: "mk" ref: "mf-0" offset: 22161434 smpCnt: 9828184 trackId: 0 textStr: "Bar  41" bar:  41 sec:" 41" }
74
+{ label: "42" type: "mk" ref: "mf-0" offset: 22700266 smpCnt: 9289352 trackId: 0 textStr: "Bar  42" bar:  42 sec:" 42" }
75
+{ label: "43" type: "mk" ref: "mf-0" offset: 23045755 smpCnt: 8943863 trackId: 0 textStr: "Bar  43" bar:  43 sec:" 43" }
76
+{ label: "44" type: "mk" ref: "mf-0" offset: 23736734 smpCnt: 8252884 trackId: 0 textStr: "Bar  44" bar:  44 sec:" 44" }
77
+{ label: "45" type: "mk" ref: "mf-0" offset: 23973358 smpCnt: 8016260 trackId: 0 textStr: "Bar  45" bar:  45 sec:" 45" }
78
+{ label: "46" type: "mk" ref: "mf-0" offset: 24434161 smpCnt: 7555457 trackId: 0 textStr: "Bar  46" bar:  46 sec:" 46" }
79
+{ label: "47" type: "mk" ref: "mf-0" offset: 24940010 smpCnt: 7049608 trackId: 0 textStr: "Bar  47" bar:  47 sec:" 47" }
80
+{ label: "48" type: "mk" ref: "mf-0" offset: 25545857 smpCnt: 6443761 trackId: 0 textStr: "Bar  48" bar:  48 sec:" 48" }
81
+{ label: "49" type: "mk" ref: "mf-0" offset: 26189779 smpCnt: 5799839 trackId: 0 textStr: "Bar  49" bar:  49 sec:" 49" }
82
+{ label: "50" type: "mk" ref: "mf-0" offset: 26757945 smpCnt: 5231673 trackId: 0 textStr: "Bar  50" bar:  50 sec:" 50" }
83
+{ label: "51" type: "mk" ref: "mf-0" offset: 27283511 smpCnt: 4706107 trackId: 0 textStr: "Bar  51" bar:  51 sec:" 51" }
84
+{ label: "52" type: "mk" ref: "mf-0" offset: 27835266 smpCnt: 4154352 trackId: 0 textStr: "Bar  52" bar:  52 sec:" 52" }
85
+{ label: "53" type: "mk" ref: "mf-0" offset: 28411559 smpCnt: 3578059 trackId: 0 textStr: "Bar  53" bar:  53 sec:" 53" }
86
+{ label: "54" type: "mk" ref: "mf-0" offset: 28990748 smpCnt: 2998870 trackId: 0 textStr: "Bar  54" bar:  54 sec:" 54" }
87
+{ label: "55" type: "mk" ref: "mf-0" offset: 29601462 smpCnt: 2388156 trackId: 0 textStr: "Bar  55" bar:  55 sec:" 55" }
88
+{ label: "56" type: "mk" ref: "mf-0" offset: 30037686 smpCnt: 1951932 trackId: 0 textStr: "Bar  56" bar:  56 sec:" 56" }
89
+{ label: "57" type: "mk" ref: "mf-0" offset: 30643117 smpCnt: 1346501 trackId: 0 textStr: "Bar  57" bar:  57 sec:" 57" }
90
+{ label: "58" type: "mk" ref: "mf-0" offset: 31185330 smpCnt:  804288 trackId: 0 textStr: "Bar  58" bar:  58 sec:" 58" }
33 91
 
34
-{ label:  "1" type: "mk" ref: "mf-0" offset:        0 smpCnt:31531648 trackId: 0 textStr: "Bar   1" bar:   1 sec:"  1" }
35
-{ label:  "2" type: "mk" ref: "mf-0" offset:   554213 smpCnt:30977435 trackId: 0 textStr: "Bar   2" bar:   2 sec:"  2" }
36
-{ label:  "3" type: "mk" ref: "mf-0" offset:  1144981 smpCnt:30386667 trackId: 0 textStr: "Bar   3" bar:   3 sec:"  3" }
37
-{ label:  "4" type: "mk" ref: "mf-0" offset:  1712129 smpCnt:29819519 trackId: 0 textStr: "Bar   4" bar:   4 sec:"  4" }
38
-{ label:  "5" type: "mk" ref: "mf-0" offset:  2287994 smpCnt:29243654 trackId: 0 textStr: "Bar   5" bar:   5 sec:"  5" }
39
-{ label:  "6" type: "mk" ref: "mf-0" offset:  2872575 smpCnt:28659073 trackId: 0 textStr: "Bar   6" bar:   6 sec:"  6" }
40
-{ label:  "7" type: "mk" ref: "mf-0" offset:  3448440 smpCnt:28083208 trackId: 0 textStr: "Bar   7" bar:   7 sec:"  7" }
41
-{ label:  "8" type: "mk" ref: "mf-0" offset:  4024305 smpCnt:27507343 trackId: 0 textStr: "Bar   8" bar:   8 sec:"  8" }
42
-{ label:  "9" type: "mk" ref: "mf-0" offset:  4600170 smpCnt:26931478 trackId: 0 textStr: "Bar   9" bar:   9 sec:"  9" }
43
-{ label: "10" type: "mk" ref: "mf-0" offset:  5320001 smpCnt:26211647 trackId: 0 textStr: "Bar  10" bar:  10 sec:" 10" }
44
-{ label: "11" type: "mk" ref: "mf-0" offset:  5744307 smpCnt:25787341 trackId: 0 textStr: "Bar  11" bar:  11 sec:" 11" }
45
-{ label: "12" type: "mk" ref: "mf-0" offset:  6327764 smpCnt:25203884 trackId: 0 textStr: "Bar  12" bar:  12 sec:" 12" }
46
-{ label: "13" type: "mk" ref: "mf-0" offset:  6903629 smpCnt:24628019 trackId: 0 textStr: "Bar  13" bar:  13 sec:" 13" }
47
-{ label: "14" type: "mk" ref: "mf-0" offset:  7479494 smpCnt:24052154 trackId: 0 textStr: "Bar  14" bar:  14 sec:" 14" }
48
-{ label: "15" type: "mk" ref: "mf-0" offset:  8055359 smpCnt:23476289 trackId: 0 textStr: "Bar  15" bar:  15 sec:" 15" }
49
-{ label: "16" type: "mk" ref: "mf-0" offset:  8631224 smpCnt:22900424 trackId: 0 textStr: "Bar  16" bar:  16 sec:" 16" }
50
-{ label: "17" type: "mk" ref: "mf-0" offset:  9207088 smpCnt:22324560 trackId: 0 textStr: "Bar  17" bar:  17 sec:" 17" }
51
-{ label: "18" type: "mk" ref: "mf-0" offset:  9782953 smpCnt:21748695 trackId: 0 textStr: "Bar  18" bar:  18 sec:" 18" }
52
-{ label: "19" type: "mk" ref: "mf-0" offset: 10358818 smpCnt:21172830 trackId: 0 textStr: "Bar  19" bar:  19 sec:" 19" }
53
-{ label: "20" type: "mk" ref: "mf-0" offset: 10934683 smpCnt:20596965 trackId: 0 textStr: "Bar  20" bar:  20 sec:" 20" }
54
-{ label: "21" type: "mk" ref: "mf-0" offset: 11510548 smpCnt:20021100 trackId: 0 textStr: "Bar  21" bar:  21 sec:" 21" }
55
-{ label: "22" type: "mk" ref: "mf-0" offset: 12086413 smpCnt:19445235 trackId: 0 textStr: "Bar  22" bar:  22 sec:" 22" }
56
-{ label: "23" type: "mk" ref: "mf-0" offset: 12854045 smpCnt:18677603 trackId: 0 textStr: "Bar  23" bar:  23 sec:" 23" }
57
-{ label: "24" type: "mk" ref: "mf-0" offset: 13238142 smpCnt:18293506 trackId: 0 textStr: "Bar  24" bar:  24 sec:" 24" }
58
-{ label: "25" type: "mk" ref: "mf-0" offset: 13814007 smpCnt:17717641 trackId: 0 textStr: "Bar  25" bar:  25 sec:" 25" }
59
-{ label: "26" type: "mk" ref: "mf-0" offset: 14533838 smpCnt:16997810 trackId: 0 textStr: "Bar  26" bar:  26 sec:" 26" }
60
-{ label: "27" type: "mk" ref: "mf-0" offset: 15253669 smpCnt:16277979 trackId: 0 textStr: "Bar  27" bar:  27 sec:" 27" }
61
-{ label: "28" type: "mk" ref: "mf-0" offset: 15541602 smpCnt:15990046 trackId: 0 textStr: "Bar  28" bar:  28 sec:" 28" }
62
-{ label: "29" type: "mk" ref: "mf-0" offset: 16141367 smpCnt:15390281 trackId: 0 textStr: "Bar  29" bar:  29 sec:" 29" }
63
-{ label: "30" type: "mk" ref: "mf-0" offset: 16693331 smpCnt:14838317 trackId: 0 textStr: "Bar  30" bar:  30 sec:" 30" }
64
-{ label: "31" type: "mk" ref: "mf-0" offset: 17209390 smpCnt:14322258 trackId: 0 textStr: "Bar  31" bar:  31 sec:" 31" }
65
-{ label: "32" type: "mk" ref: "mf-0" offset: 17517868 smpCnt:14013780 trackId: 0 textStr: "Bar  32" bar:  32 sec:" 32" }
66
-{ label: "33" type: "mk" ref: "mf-0" offset: 17929171 smpCnt:13602477 trackId: 0 textStr: "Bar  33" bar:  33 sec:" 33" }
67
-{ label: "34" type: "mk" ref: "mf-0" offset: 18618175 smpCnt:12913473 trackId: 0 textStr: "Bar  34" bar:  34 sec:" 34" }
68
-{ label: "35" type: "mk" ref: "mf-0" offset: 18795914 smpCnt:12735734 trackId: 0 textStr: "Bar  35" bar:  35 sec:" 35" }
69
-{ label: "36" type: "mk" ref: "mf-0" offset: 19290132 smpCnt:12241516 trackId: 0 textStr: "Bar  36" bar:  36 sec:" 36" }
70
-{ label: "37" type: "mk" ref: "mf-0" offset: 19962089 smpCnt:11569559 trackId: 0 textStr: "Bar  37" bar:  37 sec:" 37" }
71
-{ label: "38" type: "mk" ref: "mf-0" offset: 20346064 smpCnt:11185584 trackId: 0 textStr: "Bar  38" bar:  38 sec:" 38" }
72
-{ label: "40" type: "mk" ref: "mf-0" offset: 21673185 smpCnt: 9858463 trackId: 0 textStr: "Bar  40" bar:  40 sec:" 40" }
73
-{ label: "41" type: "mk" ref: "mf-0" offset: 21953212 smpCnt: 9578436 trackId: 0 textStr: "Bar  41" bar:  41 sec:" 41" }
74
-{ label: "42" type: "mk" ref: "mf-0" offset: 22490905 smpCnt: 9040743 trackId: 0 textStr: "Bar  42" bar:  42 sec:" 42" }
75
-{ label: "43" type: "mk" ref: "mf-0" offset: 22836468 smpCnt: 8695180 trackId: 0 textStr: "Bar  43" bar:  43 sec:" 43" }
76
-{ label: "44" type: "mk" ref: "mf-0" offset: 23527594 smpCnt: 8004054 trackId: 0 textStr: "Bar  44" bar:  44 sec:" 44" }
77
-{ label: "45" type: "mk" ref: "mf-0" offset: 23757970 smpCnt: 7773678 trackId: 0 textStr: "Bar  45" bar:  45 sec:" 45" }
78
-{ label: "46" type: "mk" ref: "mf-0" offset: 24209721 smpCnt: 7321927 trackId: 0 textStr: "Bar  46" bar:  46 sec:" 46" }
79
-{ label: "47" type: "mk" ref: "mf-0" offset: 24712434 smpCnt: 6819214 trackId: 0 textStr: "Bar  47" bar:  47 sec:" 47" }
80
-{ label: "48" type: "mk" ref: "mf-0" offset: 25318675 smpCnt: 6212973 trackId: 0 textStr: "Bar  48" bar:  48 sec:" 48" }
81
-{ label: "49" type: "mk" ref: "mf-0" offset: 25962806 smpCnt: 5568842 trackId: 0 textStr: "Bar  49" bar:  49 sec:" 49" }
82
-{ label: "50" type: "mk" ref: "mf-0" offset: 26537135 smpCnt: 4994513 trackId: 0 textStr: "Bar  50" bar:  50 sec:" 50" }
83
-{ label: "51" type: "mk" ref: "mf-0" offset: 27080816 smpCnt: 4450832 trackId: 0 textStr: "Bar  51" bar:  51 sec:" 51" }
84
-{ label: "52" type: "mk" ref: "mf-0" offset: 27633016 smpCnt: 3898632 trackId: 0 textStr: "Bar  52" bar:  52 sec:" 52" }
85
-{ label: "53" type: "mk" ref: "mf-0" offset: 28127950 smpCnt: 3403698 trackId: 0 textStr: "Bar  53" bar:  53 sec:" 53" }
86
-{ label: "55" type: "mk" ref: "mf-0" offset: 29262005 smpCnt: 2269643 trackId: 0 textStr: "Bar  55" bar:  55 sec:" 55" }
87
-{ label: "56" type: "mk" ref: "mf-0" offset: 29698652 smpCnt: 1832996 trackId: 0 textStr: "Bar  56" bar:  56 sec:" 56" }
88
-{ label: "57" type: "mk" ref: "mf-0" offset: 30222219 smpCnt: 1309429 trackId: 0 textStr: "Bar  57" bar:  57 sec:" 57" }
89
-{ label: "58" type: "mk" ref: "mf-0" offset: 30745786 smpCnt:  785862 trackId: 0 textStr: "Bar  58" bar:  58 sec:" 58" }
90
-{ label: "59" type: "mk" ref: "mf-0" offset: 31269353 smpCnt:  262295 trackId: 0 textStr: "Bar  59" bar:  59 sec:" 59" }
91 92
 
92 93
     ]
93 94
   }

Binär
src/kc/data/round1.mid Visa fil


Laddar…
Avbryt
Spara