aboutsummaryrefslogtreecommitdiff
path: root/help
diff options
context:
space:
mode:
Diffstat (limited to 'help')
-rw-r--r--help/SMLib-help.pd103
-rw-r--r--help/bp-help.pd35
-rw-r--r--help/deltas-help.pd34
-rw-r--r--help/hip-help.pd32
-rw-r--r--help/hist-help.pd44
-rw-r--r--help/itov-help.pd44
-rw-r--r--help/lavg-help.pd22
-rw-r--r--help/lhist-help.pd40
-rw-r--r--help/lhisti-help.pd41
-rw-r--r--help/linspace-help.pd20
-rw-r--r--help/lmax-help.pd22
-rw-r--r--help/lmin-help.pd22
-rw-r--r--help/lrange-help.pd22
-rw-r--r--help/prevl-help.pd34
-rw-r--r--help/threshold-help.pd50
-rw-r--r--help/vabs-help.pd6
-rw-r--r--help/vclip-help.pd17
-rw-r--r--help/vcog-help.pd21
-rw-r--r--help/vdbtorms-help.pd9
-rw-r--r--help/vdelta-help.pd29
-rw-r--r--help/vfmod-help.pd17
-rw-r--r--help/vftom-help.pd9
-rw-r--r--help/vlavg-help.pd29
-rw-r--r--help/vlmax-help.pd29
-rw-r--r--help/vlmin-help.pd29
-rw-r--r--help/vmax-help.pd21
-rw-r--r--help/vmin-help.pd21
-rw-r--r--help/vmtof-help.pd9
-rw-r--r--help/vpow-help.pd15
-rw-r--r--help/vrms-help.pd15
-rw-r--r--help/vrmstodb-help.pd9
-rw-r--r--help/vstd-help.pd15
-rw-r--r--help/vsum-help.pd13
-rw-r--r--help/vv+-help.pd25
-rw-r--r--help/vv--help.pd23
-rw-r--r--help/vvconv-help.pd35
36 files changed, 961 insertions, 0 deletions
diff --git a/help/SMLib-help.pd b/help/SMLib-help.pd
new file mode 100644
index 0000000..028dbc4
--- /dev/null
+++ b/help/SMLib-help.pd
@@ -0,0 +1,103 @@
+#N canvas 97 25 525 422 12;
+#X obj 31 188 lmax;
+#X obj 31 211 lmin;
+#X obj 31 234 lrange;
+#X obj 31 165 lavg;
+#X obj 9 317 threshold;
+#X text 89 188 leaky maximum;
+#X text 89 213 leaky minimum;
+#X text 90 237 leaky range;
+#X text 89 164 leaky average;
+#X text 92 316 hysteresis;
+#X obj 31 257 lstd;
+#X text 90 260 leaky standard deviation;
+#X obj 26 421 hist;
+#X text 88 421 histogram;
+#X obj 26 444 lhist;
+#X text 88 445 leaky histogram;
+#X obj 9 293 decimator;
+#X text 94 291 decimator;
+#X obj 32 352 hip;
+#X obj 32 375 bp;
+#X obj 25 751 vv+;
+#X text 83 751 vector addition;
+#X text 83 774 vector substraction;
+#X obj 25 797 vvconv;
+#X text 83 797 vector convolution;
+#X obj 24 590 vsum;
+#X text 85 592 sum of elements;
+#X obj 24 613 vcog;
+#X text 85 613 center of gravity;
+#X obj 24 636 vmax;
+#X text 86 637 maximum and its location;
+#X text 86 659 minimum and its location;
+#X obj 24 659 vmin;
+#X obj 27 1129 vlavg;
+#X text 87 1131 leaky averages;
+#X text 3 4 SMLib means Signal processing for Mapping;
+#X text 435 1264 j#|@2002;
+#X text 249 121 johannes.taelman@rug.ac.be;
+#X text 283 102 enjoy!;
+#X obj 27 1152 vlmax;
+#X text 87 1154 leaky maxima;
+#X obj 27 1175 vlmin;
+#X text 87 1177 leaky minima;
+#X obj 27 1198 vlrange;
+#X text 87 1200 leaky ranges;
+#X obj 27 1221 vdelta;
+#X text 88 1223 differences between succesive vectors;
+#X obj 25 820 vclip;
+#X text 84 821 clip elements;
+#X text 96 352 high pass filter;
+#X text 97 375 band pass filter;
+#X text 3 29 Its a collection of objects for the analysis of float
+streams (for taking temporal context into account) \, vectors (lists
+of floats) and vector streams (temporal context...). It is complementary
+to the zexy and gem/markex library \, so have a look at those too.
+;
+#X obj 25 774 vv-;
+#X obj 24 683 vrms;
+#X text 84 686 root mean square;
+#X obj 24 706 vstd;
+#X text 83 708 standard deviation;
+#X text 22 1044 there is also a [Clip] in cyclone (identical to vclip)
+;
+#X text 0 398 analyzing stream of floats (context) (vector output)
+;
+#X text 1 142 processing stream of floats (context) (float output)
+;
+#X text -3 567 immediate vector analysis (float output);
+#X text -6 730 immediate vector processing (vector output);
+#X text 22 1010 cfr. [.] in zexy;
+#X text 22 1027 cfr. [v+] \, [v-] \, [v*] \, [v/] \, [vabs] in GEM/MarkEx
+;
+#X text -2 1108 vector stream processing (context) (vector output)
+;
+#X obj 25 843 vfmod;
+#X text 83 845 floating point modulo;
+#X obj 23 918 vmtof;
+#X text 81 918 midi to frequency;
+#X text 21 897 unit conversions;
+#X obj 23 941 vftom;
+#X text 81 941 frequency to midi;
+#X obj 23 964 vdbtorms;
+#X text 99 964 db to rms;
+#X obj 23 987 vrmstodb;
+#X text 99 987 rms to db;
+#X obj 25 866 vpow;
+#X obj 25 546 deltas;
+#X text 83 867 power;
+#X obj 26 466 lhisti;
+#X text 88 467 leaky histogram without clipping input;
+#X text 88 546 difference between current input and past inputs;
+#X obj 455 1243 SMLib;
+#X obj 472 1224 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144
+-1 -1;
+#X obj 26 520 prevl;
+#X text 89 520 previous input values in a list;
+#X text -3 1064 vector synthesis;
+#X obj 23 1085 linspace;
+#X text 98 1085 generates a vector with linear spaced floats;
+#X obj 44 492 itov;
+#X text 90 491 index to value (for histogram bins);
+#X connect 83 0 82 0;
diff --git a/help/bp-help.pd b/help/bp-help.pd
new file mode 100644
index 0000000..cb88dcb
--- /dev/null
+++ b/help/bp-help.pd
@@ -0,0 +1,35 @@
+#N canvas 114 43 428 284 12;
+#X floatatom 12 141 5 0 0;
+#X obj 12 118 float;
+#X obj 12 95 metro 100;
+#X obj 12 54 loadbang;
+#X obj 12 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 124 77 hsl 128 15 -127 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 12700 1;
+#X text 349 255 j#|@2002;
+#X obj 367 233 SMLib;
+#X text 13 7 bp: bandpass filter on float stream;
+#X floatatom 138 133 0 0 0;
+#X msg 106 110 clear;
+#X text 156 109 <-- reinitialize internal state;
+#X text 170 134 <-- center frequency;
+#X floatatom 187 155 0 0 0;
+#X text 219 156 <-- Q;
+#X obj 21 211 hsl 128 15 -256 256 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 7974 1;
+#X floatatom 17 237 5 0 0;
+#X text 11 25 the non-audio version of bp~;
+#X text 262 76 <-- swing!;
+#X obj 19 182 bp 0.07 5;
+#X connect 1 0 0 0;
+#X connect 1 0 19 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 1;
+#X connect 9 0 19 1;
+#X connect 10 0 19 0;
+#X connect 13 0 19 2;
+#X connect 15 0 16 0;
+#X connect 19 0 15 0;
diff --git a/help/deltas-help.pd b/help/deltas-help.pd
new file mode 100644
index 0000000..9988a85
--- /dev/null
+++ b/help/deltas-help.pd
@@ -0,0 +1,34 @@
+#N canvas 553 310 489 262 12;
+#X text 390 239 j#|@2002;
+#X obj 412 217 SMLib;
+#X floatatom 14 74 5 0 0;
+#X obj 12 165 print deltas;
+#X floatatom 68 108 5 0 0;
+#X floatatom 120 107 5 0 0;
+#X obj 24 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 12 138 deltas 1 10 10;
+#X obj 14 54 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 9 4 deltas: generates vector with differences between last
+input and past inputs;
+#X text 9 186 x(i)-x(i-a);
+#X text 9 200 x(i)-x(i-(a+1));
+#X text 9 214 x(i)-x(i-(a+2));
+#X text 9 240 x(i)-x(i-(b));
+#X text 7 225 ...;
+#X text 153 137 [deltas a b c];
+#X text 120 86 b;
+#X text 66 87 a;
+#X text 152 183 requires b<=c;
+#X text 152 167 c = buffer size;
+#X text 35 50 x(i);
+#X msg 79 57 clear;
+#X connect 2 0 6 0;
+#X connect 2 0 7 0;
+#X connect 4 0 7 1;
+#X connect 5 0 7 2;
+#X connect 6 0 7 0;
+#X connect 7 0 3 0;
+#X connect 8 0 2 0;
+#X connect 21 0 7 0;
diff --git a/help/hip-help.pd b/help/hip-help.pd
new file mode 100644
index 0000000..c8f8e14
--- /dev/null
+++ b/help/hip-help.pd
@@ -0,0 +1,32 @@
+#N canvas 114 43 430 286 12;
+#X floatatom 12 141 5 0 0;
+#X obj 12 118 float;
+#X obj 12 95 metro 100;
+#X obj 12 54 loadbang;
+#X obj 12 78 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 124 77 hsl 128 15 -127 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 12700 1;
+#X text 349 255 j#|@2002;
+#X obj 367 233 SMLib;
+#X floatatom 138 133 0 0 0;
+#X msg 106 110 clear;
+#X text 156 109 <-- reinitialize internal state;
+#X obj 21 211 hsl 128 15 -256 256 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 6350 1;
+#X floatatom 17 237 5 0 0;
+#X text 262 76 <-- swing!;
+#X text 13 7 hip: highpass filter on float stream;
+#X text 11 25 the non-audio version of hip~;
+#X obj 19 182 hip 0.05;
+#X text 170 134 <-- cutoff frequency;
+#X connect 1 0 0 0;
+#X connect 1 0 16 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 1 1;
+#X connect 8 0 16 1;
+#X connect 9 0 16 0;
+#X connect 11 0 12 0;
+#X connect 16 0 11 0;
diff --git a/help/hist-help.pd b/help/hist-help.pd
new file mode 100644
index 0000000..f17850c
--- /dev/null
+++ b/help/hist-help.pd
@@ -0,0 +1,44 @@
+#N canvas 678 207 414 422 12;
+#X text 331 381 j#|@2002;
+#X text 351 362 SMLib;
+#X text 14 7 hist: histograms;
+#X obj 2 354 print;
+#X obj 11 181 random 10;
+#X obj 11 162 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 129 177 absolute;
+#X msg 129 205 relative;
+#X msg 276 177 clear;
+#X text 128 156 generate output;
+#X text 275 159 reinit;
+#X text 31 160 feed data;
+#X obj 2 317 hist 0 10 10;
+#X obj 62 347 vsum;
+#X floatatom 62 370 5 0 0;
+#X msg 11 208 1 3 5 7 9;
+#X text 14 50 - value of first class;
+#X text 14 77 - number of classes;
+#X text 14 64 - value of last class;
+#X text 13 35 arguments:;
+#X text 14 112 - array of samples in classes;
+#X text 12 97 output:;
+#X text 12 133 out-of-range inputs are clipped (cfr lhisti);
+#X msg 11 233 1.4 3.4 5.4 7.4 9.4;
+#X msg 87 292 -10;
+#X msg 11 259 0.6 2.6 4.6 6.6 8.6;
+#X obj 42 396 itov;
+#X text 4 399 cfr.;
+#X obj 79 396 lhist;
+#X obj 124 396 lhisti;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 12 0;
+#X connect 7 0 12 0;
+#X connect 8 0 12 0;
+#X connect 12 0 3 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 15 0 12 0;
+#X connect 23 0 12 0;
+#X connect 24 0 12 0;
+#X connect 25 0 12 0;
diff --git a/help/itov-help.pd b/help/itov-help.pd
new file mode 100644
index 0000000..1ce4e7f
--- /dev/null
+++ b/help/itov-help.pd
@@ -0,0 +1,44 @@
+#N canvas 436 204 416 478 12;
+#X text 327 442 j#|@2002;
+#X text 347 423 SMLib;
+#X msg 275 239 clear;
+#X text 277 219 reinit;
+#X text 11 81 - value of first class;
+#X text 11 108 - number of classes;
+#X text 11 95 - value of last class;
+#X text 10 66 arguments:;
+#X text 10 128 output:;
+#X floatatom 93 445 5 0 0;
+#X floatatom 45 446 5 0 0;
+#X floatatom 144 445 5 0 0;
+#X text 14 7 itov: intex to value;
+#X text 11 36 input:;
+#X text 12 52 - class index;
+#X msg 134 248 absolute;
+#X floatatom 94 353 5 0 0;
+#X msg 16 228 4.6;
+#X msg 52 228 5.4;
+#X obj 37 293 hist 0 10 10;
+#X obj 45 419 itov 0 10 10;
+#X obj 45 324 vcog;
+#X msg 86 228 5.6;
+#X text 7 191 out-of-range input is clipped;
+#X floatatom 69 394 5 0 0;
+#X text 11 157 - center value of class i;
+#X text 11 143 - lower value of class i;
+#X text 11 171 - upper value of class i;
+#X connect 2 0 19 0;
+#X connect 15 0 19 0;
+#X connect 17 0 19 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 18 0 15 0;
+#X connect 19 0 21 0;
+#X connect 20 0 10 0;
+#X connect 20 1 9 0;
+#X connect 20 2 11 0;
+#X connect 21 0 16 0;
+#X connect 21 0 20 0;
+#X connect 22 0 19 0;
+#X connect 22 0 15 0;
+#X connect 24 0 20 0;
diff --git a/help/lavg-help.pd b/help/lavg-help.pd
new file mode 100644
index 0000000..9ba5e0f
--- /dev/null
+++ b/help/lavg-help.pd
@@ -0,0 +1,22 @@
+#N canvas 553 310 441 199 12;
+#X text 351 171 j#|@2002;
+#X obj 373 149 SMLib;
+#X floatatom 53 75 5 0 0;
+#X obj 9 58 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
+;
+#X text 53 55 x(i);
+#X text 6 7 lavg: leaky average;
+#X obj 9 141 lavg 10;
+#X floatatom 9 171 5 0 0;
+#X obj 9 101 float;
+#X text 5 24 argument: half-decay time (in number of activations);
+#X msg 118 101 clear;
+#X text 116 79 clear accumulator;
+#X msg 244 106 decay 5;
+#X text 243 90 set half-decay time;
+#X connect 2 0 8 1;
+#X connect 3 0 8 0;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X connect 10 0 6 0;
+#X connect 12 0 6 0;
diff --git a/help/lhist-help.pd b/help/lhist-help.pd
new file mode 100644
index 0000000..d0648ca
--- /dev/null
+++ b/help/lhist-help.pd
@@ -0,0 +1,40 @@
+#N canvas 133 245 443 412 12;
+#X text 360 376 j#|@2002;
+#X text 380 357 SMLib;
+#X obj 51 362 print;
+#X obj 11 193 random 10;
+#X obj 11 174 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 236 193 absolute;
+#X msg 236 221 relative;
+#X msg 372 192 clear;
+#X text 235 172 generate output;
+#X text 371 173 reinit;
+#X text 31 172 feed data;
+#X obj 111 355 vsum;
+#X floatatom 111 378 5 0 0 0 - - -;
+#X msg 11 220 1 3 5 7 9;
+#X text 14 50 - value of first class;
+#X text 14 77 - number of classes;
+#X text 14 64 - value of last class;
+#X text 13 35 arguments:;
+#X text 14 124 - array of samples in classes;
+#X text 12 109 output:;
+#X text 12 145 out-of-range inputs are clipped (cfr lhisti);
+#X text 14 7 lhist: "leaky" histograms;
+#X text 13 91 - half-decay time;
+#X obj 51 325 lhist 0 10 10 5;
+#X msg 118 194 leak;
+#X text 118 172 perform leak;
+#X msg 10 246 -5;
+#X connect 3 0 23 0;
+#X connect 4 0 3 0;
+#X connect 5 0 23 0;
+#X connect 6 0 23 0;
+#X connect 7 0 23 0;
+#X connect 11 0 12 0;
+#X connect 13 0 23 0;
+#X connect 23 0 2 0;
+#X connect 23 0 11 0;
+#X connect 24 0 23 0;
+#X connect 26 0 23 0;
diff --git a/help/lhisti-help.pd b/help/lhisti-help.pd
new file mode 100644
index 0000000..601845f
--- /dev/null
+++ b/help/lhisti-help.pd
@@ -0,0 +1,41 @@
+#N canvas 645 245 441 405 12;
+#X text 360 376 j#|@2002;
+#X text 380 357 SMLib;
+#X obj 51 362 print;
+#X obj 11 193 random 10;
+#X obj 11 174 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 236 193 absolute;
+#X msg 236 221 relative;
+#X msg 372 192 clear;
+#X text 235 172 generate output;
+#X text 371 173 reinit;
+#X text 31 172 feed data;
+#X obj 111 355 vsum;
+#X floatatom 111 378 5 0 0 0 - - -;
+#X msg 11 220 1 3 5 7 9;
+#X text 14 50 - value of first class;
+#X text 14 77 - number of classes;
+#X text 14 64 - value of last class;
+#X text 13 35 arguments:;
+#X text 14 124 - array of samples in classes;
+#X text 12 109 output:;
+#X text 12 145 out-of-range inputs are clipped (cfr lhisti);
+#X text 13 91 - half-decay time;
+#X obj 51 325 lhist 0 10 10 5;
+#X msg 118 194 leak;
+#X text 118 172 perform leak;
+#X text 13 4 lhisti: "leaky" histograms without clipping the input
+;
+#X msg 11 245 -5;
+#X connect 3 0 22 0;
+#X connect 4 0 3 0;
+#X connect 5 0 22 0;
+#X connect 6 0 22 0;
+#X connect 7 0 22 0;
+#X connect 11 0 12 0;
+#X connect 13 0 22 0;
+#X connect 22 0 2 0;
+#X connect 22 0 11 0;
+#X connect 23 0 22 0;
+#X connect 26 0 22 0;
diff --git a/help/linspace-help.pd b/help/linspace-help.pd
new file mode 100644
index 0000000..cbd7732
--- /dev/null
+++ b/help/linspace-help.pd
@@ -0,0 +1,20 @@
+#N canvas 488 507 396 195 12;
+#X text 303 159 j#|@2002;
+#X obj 325 139 SMLib;
+#X obj 29 147 print linspace;
+#X floatatom 136 101 5 0 0;
+#X floatatom 82 80 5 0 0;
+#X floatatom 29 58 5 0 0;
+#X obj 11 38 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 29 36 generate;
+#X text 132 80 set b;
+#X text 187 101 set n;
+#X text 79 56 set a and generate;
+#X obj 29 124 linspace 0 1 4;
+#X text 9 6 generates a vector with linear spaced floats;
+#X connect 3 0 11 2;
+#X connect 4 0 11 1;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 11 0 2 0;
diff --git a/help/lmax-help.pd b/help/lmax-help.pd
new file mode 100644
index 0000000..e704957
--- /dev/null
+++ b/help/lmax-help.pd
@@ -0,0 +1,22 @@
+#N canvas 553 310 441 199 12;
+#X text 353 169 j#|@2002;
+#X obj 375 147 SMLib;
+#X floatatom 55 73 5 0 0;
+#X obj 11 56 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 55 53 x(i);
+#X floatatom 11 169 5 0 0;
+#X obj 11 99 float;
+#X text 7 22 argument: half-decay time (in number of activations);
+#X msg 119 95 clear;
+#X text 118 77 clear accumulator;
+#X text 8 5 lmax: leaky maximum;
+#X obj 11 139 lmax 10;
+#X msg 244 106 decay 5;
+#X text 243 90 set half-decay time;
+#X connect 2 0 6 1;
+#X connect 3 0 6 0;
+#X connect 6 0 11 0;
+#X connect 8 0 11 0;
+#X connect 11 0 5 0;
+#X connect 12 0 11 0;
diff --git a/help/lmin-help.pd b/help/lmin-help.pd
new file mode 100644
index 0000000..c17e984
--- /dev/null
+++ b/help/lmin-help.pd
@@ -0,0 +1,22 @@
+#N canvas 553 310 444 200 12;
+#X text 351 168 j#|@2002;
+#X obj 373 146 SMLib;
+#X floatatom 53 72 5 0 0;
+#X obj 9 55 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
+;
+#X text 53 52 x(i);
+#X floatatom 9 168 5 0 0;
+#X obj 9 98 float;
+#X text 5 21 argument: half-decay time (in number of activations);
+#X text 6 4 lmin: leaky minimum;
+#X obj 9 138 lmin 10;
+#X msg 112 92 clear;
+#X text 111 73 clear accumulator;
+#X msg 244 106 decay 5;
+#X text 243 90 set half-decay time;
+#X connect 2 0 6 1;
+#X connect 3 0 6 0;
+#X connect 6 0 9 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 0;
+#X connect 12 0 9 0;
diff --git a/help/lrange-help.pd b/help/lrange-help.pd
new file mode 100644
index 0000000..3d2102a
--- /dev/null
+++ b/help/lrange-help.pd
@@ -0,0 +1,22 @@
+#N canvas 553 310 441 199 12;
+#X text 352 168 j#|@2002;
+#X obj 374 146 SMLib;
+#X floatatom 54 72 5 0 0;
+#X obj 10 55 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 54 52 x(i);
+#X floatatom 10 168 5 0 0;
+#X obj 10 98 float;
+#X text 6 21 argument: half-decay time (in number of activations);
+#X msg 119 98 clear;
+#X text 117 76 clear accumulator;
+#X text 7 4 lrange: leaky maximum minus leaky minimum;
+#X obj 10 138 lrange 10;
+#X msg 244 106 decay 5;
+#X text 243 90 set half-decay time;
+#X connect 2 0 6 1;
+#X connect 3 0 6 0;
+#X connect 6 0 11 0;
+#X connect 8 0 11 0;
+#X connect 11 0 5 0;
+#X connect 12 0 11 0;
diff --git a/help/prevl-help.pd b/help/prevl-help.pd
new file mode 100644
index 0000000..cf7f8d5
--- /dev/null
+++ b/help/prevl-help.pd
@@ -0,0 +1,34 @@
+#N canvas 410 463 489 262 12;
+#X text 364 181 j#|@2002;
+#X obj 386 159 SMLib;
+#X floatatom -12 16 5 0 0;
+#X floatatom 42 50 5 0 0;
+#X floatatom 94 49 5 0 0;
+#X obj -2 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj -12 -4 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text -19 167 ...;
+#X text 127 79 [deltas a b c];
+#X text 94 28 b;
+#X text 40 29 a;
+#X text 126 125 requires b<=c;
+#X text 126 109 c = buffer size;
+#X text 9 -8 x(i);
+#X obj -14 107 print prevl;
+#X text -17 -54 prevl: generates vector with past input values (float)
+;
+#X text -17 128 x(i-a);
+#X text -17 142 x(i-(a+1));
+#X text -17 156 x(i-(a+2));
+#X text -17 182 x(i-(b));
+#X obj -14 80 prevl 0 10 10;
+#X msg 71 2 clear;
+#X connect 2 0 20 0;
+#X connect 2 0 5 0;
+#X connect 3 0 20 1;
+#X connect 4 0 20 2;
+#X connect 5 0 20 0;
+#X connect 6 0 2 0;
+#X connect 20 0 14 0;
+#X connect 21 0 20 0;
diff --git a/help/threshold-help.pd b/help/threshold-help.pd
new file mode 100644
index 0000000..e9b5a5d
--- /dev/null
+++ b/help/threshold-help.pd
@@ -0,0 +1,50 @@
+#N canvas 114 43 708 422 12;
+#X text 221 309 Arguments:;
+#X text 310 310 1 trigger threshold;
+#X floatatom 20 235 5 0 0;
+#X obj 42 363 print trigger;
+#X obj 183 363 print rest;
+#X text 310 341 3 rest threshold;
+#X msg 172 268 1;
+#X msg 208 268 0;
+#X text 249 209 "set" to change the parameters;
+#X text 245 263 zero or nonszero in inlet to set the state to "high"
+or "low". There is no debounce period after this.;
+#X text 208 12 - TRIGGER FROM FLOAT STREAM;
+#X obj 124 11 threshold;
+#X text 26 48 threshold monitors its input float stream and outputs
+bangs when the signal exceeds a specified "trigger" value \, and also
+when the input value recedes below a "rest" value. You can specify
+debounce in number of floats received \, for the threshold~ to wait
+after the two event types before triggering again.;
+#X text 310 326 2 trigger debounce number;
+#X text 309 358 4 rest debounce number;
+#X obj 20 212 float;
+#X obj 20 189 metro 100;
+#X obj 20 148 loadbang;
+#X obj 20 170 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 132 171 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 1200 1;
+#X msg 129 208 set 50 0 10 0;
+#X msg 130 231 set 50 15 10 15;
+#X text 12 393 see also threshold~;
+#X obj 164 363 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 20 363 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 20 332 threshold 70 10 30 10;
+#X text 620 398 j#|@2002;
+#X obj 638 376 SMLib;
+#X connect 2 0 25 0;
+#X connect 15 0 2 0;
+#X connect 16 0 15 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X connect 19 0 15 1;
+#X connect 20 0 25 0;
+#X connect 21 0 25 0;
+#X connect 25 0 3 0;
+#X connect 25 0 24 0;
+#X connect 25 1 4 0;
+#X connect 25 1 23 0;
diff --git a/help/vabs-help.pd b/help/vabs-help.pd
new file mode 100644
index 0000000..8fea847
--- /dev/null
+++ b/help/vabs-help.pd
@@ -0,0 +1,6 @@
+#N canvas 490 308 452 302 12;
+#X obj 106 129 vabs;
+#X msg 105 95 1 2 3 -4 -5 -6;
+#X obj 105 165 print;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
diff --git a/help/vclip-help.pd b/help/vclip-help.pd
new file mode 100644
index 0000000..9b12fdd
--- /dev/null
+++ b/help/vclip-help.pd
@@ -0,0 +1,17 @@
+#N canvas 588 327 324 246 12;
+#X obj 11 141 vclip -1 1;
+#X obj 11 196 print;
+#X msg 11 30 -4 -3 -2 -1 0 1 2 3 4;
+#X floatatom 73 64 5 0 0;
+#X floatatom 118 103 5 0 0;
+#X text 10 6 vclip clips each element in a vector;
+#X text 23 166 arguments: lower bound \, upper bound;
+#X text 20 52 input;
+#X text 79 81 lower bound;
+#X text 121 120 upper bound;
+#X text 252 220 j#|@2002;
+#X obj 274 200 SMLib;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 2;
diff --git a/help/vcog-help.pd b/help/vcog-help.pd
new file mode 100644
index 0000000..3f62651
--- /dev/null
+++ b/help/vcog-help.pd
@@ -0,0 +1,21 @@
+#N canvas 480 472 471 125 12;
+#X msg 18 40 1 2 3 4;
+#X floatatom 50 96 5 0 0;
+#X msg 84 40 3 4 5;
+#X text 387 99 j#|@2002;
+#X obj 409 77 SMLib;
+#X obj 52 69 vcog;
+#X text 16 14 vcog computes the center of gravity of a list of floats
+;
+#X msg 134 40 0 1 0 1;
+#X msg 199 40 0 0 1 1;
+#X msg 263 40 8;
+#X msg 144 74 1 -1;
+#X text 142 94 zero sum causes no output;
+#X connect 0 0 5 0;
+#X connect 2 0 5 0;
+#X connect 5 0 1 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
+#X connect 10 0 5 0;
diff --git a/help/vdbtorms-help.pd b/help/vdbtorms-help.pd
new file mode 100644
index 0000000..bb72563
--- /dev/null
+++ b/help/vdbtorms-help.pd
@@ -0,0 +1,9 @@
+#N canvas 606 355 283 118 12;
+#X text 194 88 j#|@2002;
+#X obj 216 68 SMLib;
+#X msg 15 33 100 97 94;
+#X text 10 6 db to rms on a vector;
+#X obj 15 56 vdbtorms;
+#X obj 15 80 print vdbtorms;
+#X connect 2 0 4 0;
+#X connect 4 0 5 0;
diff --git a/help/vdelta-help.pd b/help/vdelta-help.pd
new file mode 100644
index 0000000..3e0c082
--- /dev/null
+++ b/help/vdelta-help.pd
@@ -0,0 +1,29 @@
+#N canvas 619 449 433 228 12;
+#X msg 5 30 1 1 1 1 1 1 1 1 1 1;
+#X msg 5 52 1 0 1 0 1 0 1 0 1 0;
+#X msg 5 74 0 1 0 1 0 1 0 1 0 1;
+#X msg 5 96 0 0 0 0 0 0 0 0 0 0;
+#X msg 5 118 -1 -1 0 0 -1 -1 0 0 -1 -1;
+#X msg 5 140 0 0 0 0 0 1 1 1 1 1;
+#X text 352 205 j#|@2002;
+#X obj 373 184 SMLib;
+#X text 7 3 vdelta: difference between consecutive vectors;
+#X obj 5 193 print vdelta;
+#X msg 221 31 0;
+#X text 111 162 sending a vector of a different;
+#X text 111 178 length resets its state;
+#X obj 5 170 vdelta;
+#X msg 221 57 0 0 0;
+#X msg 221 79 1 2 3;
+#X msg 221 101 3 2 1;
+#X connect 0 0 13 0;
+#X connect 1 0 13 0;
+#X connect 2 0 13 0;
+#X connect 3 0 13 0;
+#X connect 4 0 13 0;
+#X connect 5 0 13 0;
+#X connect 10 0 13 0;
+#X connect 13 0 9 0;
+#X connect 14 0 13 0;
+#X connect 15 0 13 0;
+#X connect 16 0 13 0;
diff --git a/help/vfmod-help.pd b/help/vfmod-help.pd
new file mode 100644
index 0000000..e4ccbb2
--- /dev/null
+++ b/help/vfmod-help.pd
@@ -0,0 +1,17 @@
+#N canvas 163 334 442 175 12;
+#X text 364 147 j#|@2002;
+#X obj 386 127 SMLib;
+#X text 10 6 vfmod computes the modulo of each element in a vector
+;
+#X obj 15 127 print;
+#X floatatom 66 81 5 0 0;
+#X text 79 103 base;
+#X text 78 119 base zero becomes one;
+#X msg 15 33 0 0.5 1 1.5 2 2.5 3 3.5;
+#X msg 26 58 0 -0.5 -1 -1.5 -2 -2.5 -3 -3.5;
+#X obj 15 101 vfmod 2;
+#X text 78 134 default argument is 1;
+#X connect 4 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 9 0;
+#X connect 9 0 3 0;
diff --git a/help/vftom-help.pd b/help/vftom-help.pd
new file mode 100644
index 0000000..6b3a17f
--- /dev/null
+++ b/help/vftom-help.pd
@@ -0,0 +1,9 @@
+#N canvas 606 355 281 116 12;
+#X text 194 88 j#|@2002;
+#X obj 216 68 SMLib;
+#X text 10 6 frequency to midi on a vector;
+#X msg 15 33 440 446.164 880;
+#X obj 15 56 vftom;
+#X obj 15 80 print vftom;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
diff --git a/help/vlavg-help.pd b/help/vlavg-help.pd
new file mode 100644
index 0000000..4fc0bef
--- /dev/null
+++ b/help/vlavg-help.pd
@@ -0,0 +1,29 @@
+#N canvas 448 299 464 314 12;
+#X obj 8 249 prepend 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array array_vlavg 10 float 0;
+#X coords 0 1 9 -1 200 140 1;
+#X restore 239 102 graph;
+#X msg 8 58 1 1 1 1 1 1 1 1 1 1;
+#X msg 8 80 1 0 1 0 1 0 1 0 1 0;
+#X msg 8 102 0 1 0 1 0 1 0 1 0 1;
+#X msg 8 124 0 0 0 0 0 0 0 0 0 0;
+#X obj 8 224 vlavg 6;
+#X msg 8 146 -1 -1 0 0 -1 -1 0 0 -1 -1;
+#X msg 8 168 0 0 0 0 0 1 1 1 1 1;
+#X text 376 285 j#|@2002;
+#X text 7 3 vlavg: vector leaky average;
+#X text 8 22 the argument is the half-decay expressed in number of
+activations;
+#X obj 8 275 s array_vlavg;
+#X obj 397 264 SMLib;
+#X msg 27 201 decay 20;
+#X connect 0 0 12 0;
+#X connect 2 0 6 0;
+#X connect 3 0 6 0;
+#X connect 4 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 14 0 6 0;
diff --git a/help/vlmax-help.pd b/help/vlmax-help.pd
new file mode 100644
index 0000000..bb1063c
--- /dev/null
+++ b/help/vlmax-help.pd
@@ -0,0 +1,29 @@
+#N canvas 448 299 466 316 12;
+#X obj 8 249 prepend 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array array_vlmax 10 float 0;
+#X coords 0 1 9 -1 200 140 1;
+#X restore 239 102 graph;
+#X msg 8 58 1 1 1 1 1 1 1 1 1 1;
+#X msg 8 80 1 0 1 0 1 0 1 0 1 0;
+#X msg 8 102 0 1 0 1 0 1 0 1 0 1;
+#X msg 8 124 0 0 0 0 0 0 0 0 0 0;
+#X msg 8 146 -1 -1 0 0 -1 -1 0 0 -1 -1;
+#X msg 8 168 0 0 0 0 0 1 1 1 1 1;
+#X text 376 285 j#|@2002;
+#X text 8 22 the argument is the half-decay expressed in number of
+activations;
+#X obj 397 264 SMLib;
+#X obj 8 224 vlmax 6;
+#X obj 8 275 s array_vlmax;
+#X msg 27 201 decay 20;
+#X text 9 4 vlmax: vector leaky maximum;
+#X connect 0 0 12 0;
+#X connect 2 0 11 0;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 7 0 11 0;
+#X connect 11 0 0 0;
+#X connect 13 0 11 0;
diff --git a/help/vlmin-help.pd b/help/vlmin-help.pd
new file mode 100644
index 0000000..2aa6ae1
--- /dev/null
+++ b/help/vlmin-help.pd
@@ -0,0 +1,29 @@
+#N canvas 448 299 466 316 12;
+#X obj 8 249 prepend 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array array_vlmin 10 float 0;
+#X coords 0 1 9 -1 200 140 1;
+#X restore 239 102 graph;
+#X msg 8 58 1 1 1 1 1 1 1 1 1 1;
+#X msg 8 80 1 0 1 0 1 0 1 0 1 0;
+#X msg 8 102 0 1 0 1 0 1 0 1 0 1;
+#X msg 8 124 0 0 0 0 0 0 0 0 0 0;
+#X msg 8 146 -1 -1 0 0 -1 -1 0 0 -1 -1;
+#X msg 8 168 0 0 0 0 0 1 1 1 1 1;
+#X text 376 285 j#|@2002;
+#X text 8 22 the argument is the half-decay expressed in number of
+activations;
+#X obj 397 264 SMLib;
+#X obj 8 275 s array_vlmax;
+#X msg 27 201 decay 20;
+#X text 7 3 vlmin: vector leaky minimum;
+#X obj 8 224 vlmin 6;
+#X connect 0 0 11 0;
+#X connect 2 0 14 0;
+#X connect 3 0 14 0;
+#X connect 4 0 14 0;
+#X connect 5 0 14 0;
+#X connect 6 0 14 0;
+#X connect 7 0 14 0;
+#X connect 12 0 14 0;
+#X connect 14 0 0 0;
diff --git a/help/vmax-help.pd b/help/vmax-help.pd
new file mode 100644
index 0000000..b9d7947
--- /dev/null
+++ b/help/vmax-help.pd
@@ -0,0 +1,21 @@
+#N canvas 480 472 473 127 12;
+#X floatatom 35 104 5 0 0;
+#X text 387 99 j#|@2002;
+#X obj 409 77 SMLib;
+#X msg 133 47 0;
+#X msg 168 47 0 1 0 1;
+#X msg 243 48 0 0 1 1;
+#X text 14 3 vcog computes maximum of a list of floats;
+#X obj 49 76 vmax;
+#X floatatom 86 104 5 0 0;
+#X msg 15 47 1 2 3 1;
+#X msg 81 47 3 4 1;
+#X text 13 21 and the location of the first occurance of the maximum
+;
+#X connect 3 0 7 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
diff --git a/help/vmin-help.pd b/help/vmin-help.pd
new file mode 100644
index 0000000..9a99c5e
--- /dev/null
+++ b/help/vmin-help.pd
@@ -0,0 +1,21 @@
+#N canvas 480 472 473 127 12;
+#X floatatom 35 104 5 0 0;
+#X text 387 99 j#|@2002;
+#X obj 409 77 SMLib;
+#X msg 133 47 0;
+#X msg 168 47 0 1 0 1;
+#X msg 236 47 0 0 1 1;
+#X floatatom 86 104 5 0 0;
+#X msg 15 47 1 2 3 1;
+#X msg 81 47 3 4 1;
+#X text 14 3 vcog computes minimum of a list of floats;
+#X text 13 21 and the location of the first occurance of the minimum
+;
+#X obj 49 76 vmin;
+#X connect 3 0 11 0;
+#X connect 4 0 11 0;
+#X connect 5 0 11 0;
+#X connect 7 0 11 0;
+#X connect 8 0 11 0;
+#X connect 11 0 0 0;
+#X connect 11 1 6 0;
diff --git a/help/vmtof-help.pd b/help/vmtof-help.pd
new file mode 100644
index 0000000..dc3ba47
--- /dev/null
+++ b/help/vmtof-help.pd
@@ -0,0 +1,9 @@
+#N canvas 606 355 279 114 12;
+#X text 192 79 j#|@2002;
+#X obj 214 59 SMLib;
+#X obj 15 57 vmtof;
+#X text 10 6 midi to frequency on a vector;
+#X msg 15 33 69 70 81;
+#X obj 15 80 print vmtof;
+#X connect 2 0 5 0;
+#X connect 4 0 2 0;
diff --git a/help/vpow-help.pd b/help/vpow-help.pd
new file mode 100644
index 0000000..d8df50b
--- /dev/null
+++ b/help/vpow-help.pd
@@ -0,0 +1,15 @@
+#N canvas 163 334 444 177 12;
+#X text 364 147 j#|@2002;
+#X obj 386 127 SMLib;
+#X obj 15 127 print;
+#X floatatom 66 81 5 0 0 0 - - -;
+#X text 78 134 default argument is 1;
+#X text 10 6 vpow computes y(i)=x(i)^a;
+#X text 79 103 a;
+#X text 79 117 a zero becomes one;
+#X obj 15 101 vpow 2;
+#X msg 15 33 0.01 0.5 1 1.5 2 2.5 3 3.5 0;
+#X text 27 56 if (x(i)<=0) then y(i)=-1000;
+#X connect 3 0 8 1;
+#X connect 8 0 2 0;
+#X connect 9 0 8 0;
diff --git a/help/vrms-help.pd b/help/vrms-help.pd
new file mode 100644
index 0000000..43b063f
--- /dev/null
+++ b/help/vrms-help.pd
@@ -0,0 +1,15 @@
+#N canvas 381 509 392 123 12;
+#X msg 17 39 1 2 3 4;
+#X floatatom 50 96 5 0 0;
+#X msg 84 40 3 4 5;
+#X text 315 100 j#|@2002;
+#X obj 337 78 SMLib;
+#X obj 52 69 vrms;
+#X text 16 14 vrms computes the root-mean-square of a vector;
+#X msg 134 40 1 1 1 1;
+#X msg 200 40 1 -1 1 -1;
+#X connect 0 0 5 0;
+#X connect 2 0 5 0;
+#X connect 5 0 1 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
diff --git a/help/vrmstodb-help.pd b/help/vrmstodb-help.pd
new file mode 100644
index 0000000..f971964
--- /dev/null
+++ b/help/vrmstodb-help.pd
@@ -0,0 +1,9 @@
+#N canvas 606 355 283 118 12;
+#X text 194 88 j#|@2002;
+#X obj 216 68 SMLib;
+#X text 10 6 frequency to midi on a vector;
+#X obj 15 56 vrmstodb;
+#X msg 15 33 100 97 94;
+#X obj 15 80 print vrmstodb;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
diff --git a/help/vstd-help.pd b/help/vstd-help.pd
new file mode 100644
index 0000000..025dfa7
--- /dev/null
+++ b/help/vstd-help.pd
@@ -0,0 +1,15 @@
+#N canvas 381 509 394 125 12;
+#X msg 17 39 1 2 3 4;
+#X floatatom 51 95 5 0 0;
+#X msg 84 40 3 4 5;
+#X text 315 100 j#|@2002;
+#X obj 337 78 SMLib;
+#X msg 134 40 1 1 1 1;
+#X obj 51 70 vstd;
+#X msg 200 40 1 -1 1 -1 1;
+#X text 16 14 vstd computes the standard deviation of a vector;
+#X connect 0 0 6 0;
+#X connect 2 0 6 0;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 0;
diff --git a/help/vsum-help.pd b/help/vsum-help.pd
new file mode 100644
index 0000000..2aee90d
--- /dev/null
+++ b/help/vsum-help.pd
@@ -0,0 +1,13 @@
+#N canvas 468 275 355 125 12;
+#X text 16 14 vsum computes the sum of a list of floats;
+#X msg 17 39 1 2 3 4;
+#X obj 52 69 vsum;
+#X floatatom 50 96 5 0 0;
+#X msg 84 40 3 4 5;
+#X text 275 102 j#|@2002;
+#X obj 297 80 SMLib;
+#X msg 136 40 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 0;
+#X connect 7 0 2 0;
diff --git a/help/vv+-help.pd b/help/vv+-help.pd
new file mode 100644
index 0000000..2974208
--- /dev/null
+++ b/help/vv+-help.pd
@@ -0,0 +1,25 @@
+#N canvas 561 440 313 218 12;
+#X obj 40 115 vv+;
+#X msg 16 81 1 2 3;
+#X msg 73 85 4 5 6;
+#X msg 159 86 1 2 3;
+#X msg 219 86 4;
+#X obj 180 116 vv+ 0;
+#X msg 16 57 1;
+#X msg 159 62 1;
+#X text 18 10 vv+ adds two lists of floats;
+#X text 17 25 or a float to a list of floats;
+#X msg 73 60 3 2 1;
+#X obj 252 159 SMLib;
+#X text 230 184 j#|@2002;
+#X obj 40 139 print vv+;
+#X obj 180 140 print vv+;
+#X connect 0 0 13 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 3 0 5 0;
+#X connect 4 0 5 1;
+#X connect 5 0 14 0;
+#X connect 6 0 0 0;
+#X connect 7 0 5 0;
+#X connect 10 0 0 1;
diff --git a/help/vv--help.pd b/help/vv--help.pd
new file mode 100644
index 0000000..184e744
--- /dev/null
+++ b/help/vv--help.pd
@@ -0,0 +1,23 @@
+#N canvas 561 440 326 219 12;
+#X msg 25 90 1 2 3;
+#X msg 82 94 4 5 6;
+#X msg 168 95 1 2 3;
+#X msg 228 95 4;
+#X msg 25 66 1;
+#X msg 168 71 1;
+#X text 248 191 j#|@2002;
+#X text 18 10 vv- substracts two lists of floats;
+#X text 18 26 or a float from a list of floats;
+#X obj 49 124 vv-;
+#X obj 189 125 vv- 0;
+#X obj 268 170 SMLib;
+#X obj 49 148 print vv-;
+#X obj 189 149 print vv-;
+#X connect 0 0 9 0;
+#X connect 1 0 9 1;
+#X connect 2 0 10 0;
+#X connect 3 0 10 1;
+#X connect 4 0 9 0;
+#X connect 5 0 10 0;
+#X connect 9 0 12 0;
+#X connect 10 0 13 0;
diff --git a/help/vvconv-help.pd b/help/vvconv-help.pd
new file mode 100644
index 0000000..f7cc8a8
--- /dev/null
+++ b/help/vvconv-help.pd
@@ -0,0 +1,35 @@
+#N canvas 482 447 441 276 12;
+#X msg 132 78 1 2 1;
+#X msg 132 53 1 0 1;
+#X text 26 18 vvconv: convolution of 2 vectors;
+#X text 357 244 j#|@2002;
+#X msg 30 43 1;
+#X obj 48 130 vvconv;
+#X msg 331 80 1 2 1;
+#X msg 229 68 1 0 0;
+#X msg 331 55 1 0 1;
+#X msg 229 45 1;
+#X obj 247 132 vvconv -1 2 -1;
+#X msg 230 92 1 0 1 0 0 1;
+#X msg 31 90 1 0 1 0 0 1;
+#X text 177 178 arguments: convolution kernel;
+#X obj 377 225 SMLib;
+#X obj 48 154 print vvconv;
+#X obj 247 156 print vvconv;
+#X text 2 202 length of output is the sum of input lengths minus one
+;
+#X msg 30 66 2 0 1;
+#X msg 132 103 1 0 2;
+#X connect 0 0 5 1;
+#X connect 1 0 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 15 0;
+#X connect 6 0 10 1;
+#X connect 7 0 10 0;
+#X connect 8 0 10 1;
+#X connect 9 0 10 0;
+#X connect 10 0 16 0;
+#X connect 11 0 10 0;
+#X connect 12 0 5 0;
+#X connect 18 0 5 0;
+#X connect 19 0 5 1;