blob: 7f630d8d1cfb35888fe22edc4ca15784d73ac5af (
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
|
#N canvas 62 558 450 300 10;
#N canvas 409 279 692 500 windowing 1;
#X obj 62 441 outlet~;
#X obj 62 65 inlet~;
#X obj 62 142 bfft~;
#X obj 62 365 ibfft~;
#X floatatom 85 173 5 0 0;
#X obj 62 199 vol~;
#X text 60 6 bwin~ multiplies a signal block with a window;
#X text 211 310 after maximizing the spectrum is multiplied by a pink
noise envelope;
#X obj 62 250 dist~ 1;
#X text 211 105 apply analysis window;
#X text 211 172 set drive;
#X text 212 251 soft clip spectral data;
#X text 212 133 transform block to freq domain;
#X text 210 360 transform block back to time domain;
#X text 212 401 undo analysis window + apply synthesis window;
#X text 212 39 this example is a poor man's spectral maximizer using
bwin~ bfft~ bifft~ and dist~;
#X obj 62 225 bwin~ bfft_blue;
#X obj 62 327 bwin~ bfft_pink;
#X obj 62 401 bwin~ hann/hamming;
#X obj 62 106 bwin~ hamming;
#X msg 344 207 type bfft_db/octave \$1;
#X floatatom 517 172 5 0 0;
#X msg 345 277 type bfft_db/octave \$1;
#X obj 545 427 block~ 16384 2;
#X floatatom 519 244 5 0 0;
#X connect 1 0 19 0;
#X connect 2 0 5 0;
#X connect 3 0 18 0;
#X connect 4 0 5 1;
#X connect 5 0 16 0;
#X connect 8 0 17 0;
#X connect 16 0 8 0;
#X connect 17 0 3 0;
#X connect 18 0 0 0;
#X connect 19 0 2 0;
#X connect 20 0 16 0;
#X connect 21 0 20 0;
#X connect 22 0 17 0;
#X connect 24 0 22 0;
#X restore 53 88 pd windowing;
#X obj 41 219 dac~;
#X obj 53 150 vol~;
#X floatatom 76 124 5 0 0;
#X obj 53 41 adc~ 7;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X connect 2 0 1 1;
#X connect 3 0 2 1;
#X connect 4 0 0 0;
|