aboutsummaryrefslogtreecommitdiff
path: root/pd/extra/paf~/help-paf~.pd
blob: c6c63c253bba460151eb9df5b5e28fcc9c1bb488 (plain)
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
#N canvas 314 261 819 436 12;
#X msg 2 279 freq \$1 100;
#X obj 2 254 mtof;
#X msg 108 279 amp \$1 100;
#X obj 108 229 r amp;
#X obj 206 230 r cf;
#X obj 206 255 mtof;
#X msg 206 280 cf \$1 100;
#X obj 2 229 r pit;
#X msg 140 374 bang;
#X obj 71 403 dac~;
#X obj 519 179 s vfr;
#X obj 519 104 r vfr;
#X obj 467 179 s vib;
#X obj 467 104 r vib;
#X msg 519 129 set \$1;
#X floatatom 519 154 0 0 0 0 - - -;
#X msg 467 129 set \$1;
#X floatatom 467 154 0 0 0 0 - - -;
#X obj 418 179 s bw;
#X obj 369 179 s cf;
#X obj 250 178 s amp;
#X obj 309 177 s pit;
#X obj 309 102 r pit;
#X msg 309 127 set \$1;
#X floatatom 309 152 0 0 0 0 - - -;
#X obj 250 103 r amp;
#X msg 250 128 set \$1;
#X floatatom 250 153 0 0 0 0 - - -;
#X msg 369 129 set \$1;
#X floatatom 369 154 0 0 0 0 - - -;
#X obj 369 104 r cf;
#X msg 418 129 set \$1;
#X floatatom 418 154 0 0 0 0 - - -;
#X obj 418 104 r bw;
#X msg 296 280 bw \$1 100;
#X obj 296 230 r bw;
#X obj 296 255 mtof;
#X obj 385 229 r vib;
#X msg 385 279 vib \$1 100;
#X msg 483 279 vfr \$1 100;
#X obj 483 254 / 8;
#X obj 483 229 r vfr;
#X obj 385 254 / 660;
#X msg 573 129 set \$1;
#X floatatom 573 154 0 0 0 0 - - -;
#X obj 573 104 r shift;
#X obj 573 179 s shift;
#X obj 584 227 r shift;
#X msg 584 277 shift \$1 100;
#X obj 108 254 dbtorms;
#X obj 85 348 paf~;
#X obj 21 380 s~ foo;
#X msg 705 278 phase 0 0 0;
#X obj 140 399 print~ output;
#N canvas 447 311 726 483 spectrum 0;
#N canvas 0 0 450 300 graph1 0;
#X array pulse-output 882 float 0;
#X coords 0 1.02 882 -1.02 200 130 1;
#X restore 405 271 graph;
#X text 405 403 --------- 0.02 seconds ------;
#N canvas 0 0 450 300 graph1 0;
#X array spectrum 128 float 0;
#X coords 0 500 128 0 256 130 1;
#X restore 391 78 graph;
#X obj 137 257 tabwrite~ pulse-output;
#X msg 106 174 bang;
#N canvas 204 17 358 238 fft 0;
#X obj 46 48 inlet~;
#X obj 159 181 tabwrite~ spectrum;
#X obj 159 145 inlet;
#X obj 46 78 rfft~;
#X obj 46 111 *~;
#X obj 77 111 *~;
#X obj 46 141 sqrt~;
#X obj 191 45 block~ 1024 1;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 3 1 5 0;
#X connect 3 1 5 1;
#X connect 4 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 1 0;
#X restore 46 228 pd fft;
#X text 33 8 PULSE SPECTRUM MEASUREMENT;
#X text 379 221 0;
#X text 627 218 5512;
#X obj 94 123 r~ foo;
#X obj 41 160 *~ 1;
#X floatatom 44 113 0 0 0 0 - - -;
#X obj 179 136 metro 1000;
#X floatatom 178 108 0 0 0 0 - - -;
#X obj 56 44 r graph;
#X obj 140 205 *~ 10;
#X connect 4 0 3 0;
#X connect 4 0 5 1;
#X connect 9 0 10 0;
#X connect 9 0 15 0;
#X connect 10 0 5 0;
#X connect 11 0 10 1;
#X connect 12 0 4 0;
#X connect 13 0 12 0;
#X connect 14 0 11 0;
#X connect 14 0 13 0;
#X connect 15 0 3 0;
#X restore 664 340 pd spectrum;
#X msg 20 136 \; pd dsp 1 \; pit 60 \; cf 60 \; graph 20;
#X text 32 3 The "PAF" generator \, described in a paper in JAES 43/1
pp. 40-47 \, reprinted on Miller Puckette's web page. Often used in
Philippe Manoury's music. The important controls are center frequency
("cf") and bandwidth ("bw") here controlled as MIDI values.;
#X text 15 96 clich here to test;
#X text 12 114 (then set amplitude);
#X text 414 338 click here to see spectrum:;
#X text 295 380 NOTE: the PAF algorithm is patented by IRCAM \, but
is free for non-commercial use. For commercial use \, please see http://forum.ircam.fr
;
#X connect 0 0 50 0;
#X connect 1 0 0 0;
#X connect 2 0 50 0;
#X connect 3 0 49 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 50 0;
#X connect 7 0 1 0;
#X connect 8 0 53 0;
#X connect 11 0 14 0;
#X connect 13 0 16 0;
#X connect 14 0 15 0;
#X connect 15 0 10 0;
#X connect 16 0 17 0;
#X connect 17 0 12 0;
#X connect 22 0 23 0;
#X connect 23 0 24 0;
#X connect 24 0 21 0;
#X connect 25 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 20 0;
#X connect 28 0 29 0;
#X connect 29 0 19 0;
#X connect 30 0 28 0;
#X connect 31 0 32 0;
#X connect 32 0 18 0;
#X connect 33 0 31 0;
#X connect 34 0 50 0;
#X connect 35 0 36 0;
#X connect 36 0 34 0;
#X connect 37 0 42 0;
#X connect 38 0 50 0;
#X connect 39 0 50 0;
#X connect 40 0 39 0;
#X connect 41 0 40 0;
#X connect 42 0 38 0;
#X connect 43 0 44 0;
#X connect 44 0 46 0;
#X connect 45 0 43 0;
#X connect 47 0 48 0;
#X connect 48 0 50 0;
#X connect 49 0 2 0;
#X connect 50 0 9 0;
#X connect 50 0 51 0;
#X connect 50 0 9 1;
#X connect 50 0 53 0;
#X connect 52 0 50 0;