aboutsummaryrefslogtreecommitdiff
path: root/pd/doc/3.audio.examples/H02.bandpass.pd
blob: 0ce9cc47fafd184aa8bd79f5c564e422f5afbf9b (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
#N canvas 58 17 943 765 12;
#X floatatom 91 731 0 0 0;
#X graph graph1 0 -1 155947 1 624 401 824 251;
#X array array1 155948 float 0;
#X pop;
#X floatatom 247 705 0 0 0;
#N canvas 159 26 495 266 output 0;
#X obj 406 192 t b;
#X obj 406 132 f;
#X obj 406 72 inlet;
#X text 413 35 mute;
#X obj 406 222 f;
#X msg 510 214 0;
#X msg 406 102 bang;
#X obj 406 162 moses 1;
#X obj 510 184 t b f;
#X obj 476 140 moses 1;
#X obj 100 178 dbtorms;
#X obj 476 110 r master-lvl;
#X obj 100 50 r master-lvl;
#X obj 406 252 s master-lvl;
#X obj 26 217 inlet~;
#X obj 239 49 inlet;
#X text 239 22 level;
#X obj 239 120 s master-lvl;
#X msg 115 78 set \$1;
#X obj 115 107 outlet;
#X msg 257 77 \; pd dsp 1;
#X obj 100 233 line~;
#X obj 26 254 *~;
#X obj 26 289 dac~;
#X obj 100 205 pack 0 50;
#X text 24 190 audio;
#X text 112 132 show level;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 13 0;
#X connect 5 0 13 0;
#X connect 6 0 1 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 5 0;
#X connect 9 1 4 1;
#X connect 10 0 24 0;
#X connect 11 0 1 1;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 12 0 18 0;
#X connect 14 0 22 0;
#X connect 15 0 17 0;
#X connect 15 0 20 0;
#X connect 18 0 19 0;
#X connect 21 0 22 1;
#X connect 22 0 23 0;
#X connect 22 0 23 1;
#X connect 24 0 21 0;
#X restore 210 740 pd output;
#X msg 280 707 MUTE;
#X text 320 706 <-- output amplitude;
#X obj 206 654 hip~ 5;
#X obj 31 545 tabread4~ array1;
#X obj 31 340 r totsamps;
#X obj 31 430 /;
#X obj 206 625 bp~;
#X obj 206 596 bp~;
#X obj 216 463 mtof;
#X floatatom 216 491 0 0 0;
#X floatatom 319 570 0 0 0;
#X obj 319 541 r q;
#X floatatom 216 434 0 0 0;
#X msg 227 550 \; p set \$1;
#X obj 216 406 r p;
#X obj 90 647 env~ 4096;
#X obj 31 487 *~ 0;
#X obj 31 458 phasor~ 0;
#X obj 31 516 +~ 1;
#X obj 227 521 ftom;
#X msg 826 49 \; pd dsp 0;
#X obj 90 674 + 0.5;
#X obj 91 702 int;
#X msg 31 400 44100;
#X obj 31 368 t b f;
#X text 648 14 START;
#X text 845 19 STOP;
#X text 88 11 BANDPASS FILTERS;
#X text 12 41 In this example we use two cascaded bandpass filters
to troll for partials in Jonathan Harvey's famous bell sample.;
#X obj 78 487 r totsamps;
#X text 14 82 Note that filters can give unexpected level changes.
The bp~ object is designed to have roughly unit gain at teh pass band
\, so the higher you set "Q" the more amplitude is lost. YOu can correct
for this by pushing the output amplitude \, but be sure to remember
to reset the output amplitude before you reduce Q again. I set the
Q to 100 and the output amplitude to 110 or 120 (with the room gain
way down.) Then holding the shift key \, slowly drag the center pitch
upward listening for modes.;
#X text 16 233 You can hear partials around 48 \, 51.3 \, 55 (faint!)
\, 57 (fainter!) \, 60 \, two beating partials around 65 \, 67 \, 69
\, 70.9 \, 71.75 \, 72.6 \, 74 \, 74.65 \, 75.6 \, 77 \, 81.2 \, 84.6
\, 86.5 \, and probably many more. There's also one down at 36 \, but
it's easier to see it on the meter than hear it.;
#X text 271 436 <-- center pitch;
#X text 281 450 (shift-drag to fine tune);
#X text 292 492 <-- center frequency;
#X text 359 570 <-- Q (filter selectivity);
#X obj 683 453 r readfile;
#X obj 683 530 soundfiler;
#X msg 683 503 read -resize \$1 array1;
#X obj 683 478 symbol;
#X msg 553 48 \; readfile ../sound/bell.aiff \; totsamps 143718 \;
p 69 \; q 0 \; pd dsp 1;
#X text 681 739 updated for Pd version 0.33;
#X connect 2 0 3 1;
#X connect 3 0 2 0;
#X connect 4 0 3 2;
#X connect 6 0 3 0;
#X connect 7 0 11 0;
#X connect 8 0 28 0;
#X connect 9 0 21 0;
#X connect 10 0 6 0;
#X connect 10 0 19 0;
#X connect 11 0 10 0;
#X connect 12 0 13 0;
#X connect 13 0 11 1;
#X connect 13 0 10 1;
#X connect 13 0 23 0;
#X connect 14 0 11 2;
#X connect 14 0 10 2;
#X connect 15 0 14 0;
#X connect 16 0 12 0;
#X connect 18 0 16 0;
#X connect 19 0 25 0;
#X connect 20 0 22 0;
#X connect 21 0 20 0;
#X connect 22 0 7 0;
#X connect 23 0 17 0;
#X connect 25 0 26 0;
#X connect 26 0 0 0;
#X connect 27 0 9 0;
#X connect 28 0 27 0;
#X connect 28 1 9 1;
#X connect 33 0 20 1;
#X connect 40 0 43 0;
#X connect 42 0 41 0;
#X connect 43 0 42 0;