-
Notifications
You must be signed in to change notification settings - Fork 2
/
pulqui-help.pd
225 lines (225 loc) · 7.48 KB
/
pulqui-help.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
#N canvas 234 18 843 670 12;
#X declare -path pulqui;
#N canvas 0 50 450 250 (subpatch) 0;
#X array wav-array 2000 float 2;
#X coords 0 1 2000 -1 200 140 1 0 0;
#X restore 538 69 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array wavf-array 2000 float 2;
#X coords 0 1 2000 -1 200 140 1 0 0;
#X restore 538 243 graph;
#X msg 468 546 0;
#X msg 468 521 0;
#X floatatom 418 447 5 0 0 0 - - - 0;
#N canvas 0 50 450 300 readvalues 0;
#X msg 143 165 set \$1;
#X msg 179 212 set \$1;
#X obj 146 113 t f f;
#X obj 141 250 outlet;
#X obj 220 255 outlet;
#X obj 139 64 inlet;
#X obj 246 75 t f f;
#X msg 247 52 0;
#X obj 246 32 loadbang;
#X obj 180 188 tabread wav-array;
#X obj 142 142 tabread wavf-array;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 2 0 10 0;
#X connect 2 1 9 0;
#X connect 5 0 2 0;
#X connect 6 0 0 0;
#X connect 6 1 1 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X connect 9 0 1 0;
#X connect 10 0 0 0;
#X restore 416 485 pd readvalues;
#X obj 120 481 cnv 15 60 30 empty empty empty 20 12 0 14 #00fc04 #404040 0;
#X obj 132 488 pulqui;
#X obj 152 595 soundfiler;
#X msg 145 451 read \$1;
#X obj 151 423 t s s;
#X obj 148 400 symbol;
#X obj 106 359 openpanel;
#X obj 106 333 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 125 622 print pulqui-outname;
#X obj 125 543 t s s;
#X obj 182 526 print pulqui-error;
#X text 41 299 Second outlet: Outputs a "bang" if there's an error.;
#X text 27 108 The output file is written in the same dir as the source and an "f" is appended at the end. i.e an "path/foo.wav" source file generates a "path/foo.wavf" file.;
#X msg 222 496 read \$1 wav-array;
#X msg 150 568 read \$1 wavf-array;
#X text 281 351 load an example file;
#N canvas 228 52 938 617 pulqui-limiter-explained 0;
#N canvas 252 123 860 576 simple-pulqui-limiter 0;
#X obj 152 516 dac~;
#X obj 100 364 line~;
#X obj 44 364 line~;
#X msg 58 323 \$1 50;
#X msg 114 321 \$1 50;
#X obj 81 231 tgl 15 0 empty byp empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 94 254 t f f;
#X obj 140 473 *~;
#X obj 190 474 *~;
#X obj 90 12 inlet;
#X obj 582 21 inlet;
#X obj 692 13 inlet;
#X obj 17 14 inlet;
#X obj 14 94 switch~;
#X obj 37 53 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 67 284 == 1;
#X obj 118 287 == 0;
#X text 422 176 avoid division by zero;
#X obj 337 101 *~ 1999;
#X obj 339 74 phasor~ 22.05;
#X obj 249 136 tabread~ sound;
#X obj 411 140 tabread~ pulqui;
#X obj 526 437 pulquilimiter~;
#X obj 413 206 expr~ if ($v1 == 0 \, 1 \, $v1);
#X connect 1 0 8 1;
#X connect 2 0 7 1;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 6 0;
#X connect 6 0 15 0;
#X connect 6 1 16 0;
#X connect 7 0 0 0;
#X connect 7 0 0 1;
#X connect 8 0 0 0;
#X connect 8 0 0 1;
#X connect 9 0 5 0;
#X connect 10 0 22 2;
#X connect 11 0 22 3;
#X connect 12 0 14 0;
#X connect 14 0 13 0;
#X connect 15 0 3 0;
#X connect 16 0 4 0;
#X connect 18 0 21 0;
#X connect 18 0 20 0;
#X connect 19 0 18 0;
#X connect 20 0 7 0;
#X connect 20 0 22 0;
#X connect 21 0 23 0;
#X connect 22 0 8 0;
#X connect 23 0 22 1;
#X restore 668 516 pd simple-pulqui-limiter;
#X obj 668 489 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 723 453 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 777 310 vsl 15 128 0 1 0 0 empty thresh empty 0 -9 0 10 #fcfcfc #000000 #000000 0 1;
#X obj 777 451 t f f;
#X floatatom 787 477 5 0 0 0 - - - 0;
#X text 500 486 DSP on/off subpatch -->;
#X text 589 451 bypass limiter -->;
#X text 664 401 threshhold -->;
#X obj 841 16 loadbang;
#X msg 745 178 \; pd dsp \$1 \;;
#X obj 745 147 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X text 30 42 The scanned and original file are looped in a wave-table oscillator., f 48;
#X text 624 544 Open the sub-patch to see how it works.;
#X msg 841 44 \; thresh 1 \; byp 0 \;;
#X text 769 146 <-- Pd's DSP on/off;
#N canvas 0 50 450 250 (subpatch) 0;
#X array sound 2000 float 2;
#X coords 0 1 2000 -1 200 140 1 0 0;
#X restore 452 43 graph;
#N canvas 0 50 450 250 (subpatch) 0;
#X array pulqui 2000 float 2;
#X coords 0 1 2000 -1 200 140 1 0 0;
#X restore 451 208 graph;
#N canvas 156 156 712 479 pulqui-load 0;
#X obj 245 313 pulqui;
#X obj 262 411 soundfiler;
#X msg 246 285 read \$1;
#X obj 252 257 t s s;
#X obj 249 234 symbol;
#X obj 285 23 r a;
#X obj 382 28 r b;
#X msg 305 316 read \$1 sound;
#X msg 260 384 read \$1 pulqui;
#X obj 497 58 r c;
#X msg 265 116 example-files/sound1.wav;
#X msg 338 165 example-files/sound2.wav;
#X msg 402 203 example-files/sound3.wav;
#X connect 0 0 8 0;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
#X connect 3 1 7 0;
#X connect 4 0 3 0;
#X connect 5 0 10 0;
#X connect 6 0 11 0;
#X connect 7 0 1 0;
#X connect 8 0 1 0;
#X connect 9 0 12 0;
#X connect 10 0 4 0;
#X connect 11 0 4 0;
#X connect 12 0 4 0;
#X restore 14 588 pd pulqui-load;
#X obj 52 121 bng 15 250 50 0 a empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X obj 55 296 bng 15 250 50 0 b empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X text 30 25 This patch explains a Pulqui limiter.;
#X text 38 191 Pull down the threshold slider.;
#X text 74 120 <-- load example 1;
#X text 75 295 <-- load example 2;
#X text 17 118 1);
#X text 17 164 2) Turn DSP on (Pd's and subpatch).;
#X text 21 293 3);
#X text 45 326 Move the threshold slider., f 27;
#X obj 56 387 bng 15 250 50 0 c empty empty 17 7 0 10 #fcfcfc #000000 #000000;
#X text 76 386 <-- load example 2;
#X text 22 384 4);
#X text 48 416 Move the threshold slider., f 27;
#X text 37 212 This is not a nice example as something starts happening at the beginning and end of the loop. Try the other 2 examples., f 47;
#X text 25 485 5) These were laboratory examples. Try using "pulqui-limiter.pd" with some recorded material (vocal \, drums \, piano \, etc..)., f 47;
#X obj 831 272 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000 0 1;
#X text 710 271 auto make-up -->;
#X connect 1 0 0 0;
#X connect 2 0 0 1;
#X connect 3 0 4 0;
#X connect 4 0 0 2;
#X connect 4 1 5 0;
#X connect 9 0 14 0;
#X connect 11 0 10 0;
#X connect 35 0 0 3;
#X restore 604 512 pd pulqui-limiter-explained;
#X text 27 164 Source files can be 16 \, 24 or 32(floating point) bit. The output file is the same bit-depth as the source.;
#X text 41 219 Inlet: Takes the message "read <path/file>";
#X text 41 253 First outlet: On success outputs the path/name of the generated file.;
#X msg 228 371 example-files/sound1.wav;
#N canvas 374 240 450 300 stuff 0;
#X obj 101 190 pdcontrol;
#X obj 101 130 pdcontrol;
#X msg 101 105 dir;
#X text 205 94 this window opens the html reference link via the [pdcontrol] object., f 25;
#X msg 101 159 browse \$1/readme.html;
#X obj 101 59 r \$0-readme;
#X connect 1 0 4 0;
#X connect 2 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 2 0;
#X restore 734 623 pd stuff;
#X obj 776 468 bng 19 250 50 0 \$0-readme empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X text 633 467 see readme.html -->;
#X obj 27 22 cnv 10 300 6 empty empty pulqui 0 0 0 28 #dfdfdf #404040 0;
#X text 28 65 The pulqui object reads a WAV file and creates another one with values to be used by the Pulqui-limiter.pd.;
#X obj 380 633 declare -path pulqui;
#X text 378 598 use this in your patch to use the object(s), f 22;
#X text 546 554 see also:;
#X obj 633 554 pulqui~;
#X obj 695 554 pulquilimiter~;
#X connect 4 0 5 0;
#X connect 5 0 2 0;
#X connect 5 1 3 0;
#X connect 7 0 15 0;
#X connect 7 1 16 0;
#X connect 9 0 7 0;
#X connect 10 0 9 0;
#X connect 10 1 19 0;
#X connect 11 0 10 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 15 0 14 0;
#X connect 15 1 20 0;
#X connect 19 0 8 0;
#X connect 20 0 8 0;
#X connect 26 0 11 0;