blob: 26bb364bc98570ef683a121f2bdb9dd52eed3256 (
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
167
168
|
#N canvas 61 22 766 791 10;
#X obj 384 435 dac~;
#X floatatom 124 121 5 0.1 3 2 transpose transpose -;
#X msg 500 486 \; pd dsp \$1;
#X obj 500 467 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 85 512 hsl 128 15 0.1 4 0 0 empty empty empty -2 -6 0 8 -261285
-1 -1 1600 1;
#N canvas 0 22 494 344 messages 0;
#X obj 154 185 outlet;
#X obj 154 136 fftease-system;
#X connect 1 0 0 0;
#X restore 210 338 pd messages;
#X obj 227 512 hsl 128 15 0 0.01 0 0 empty empty empty -2 -6 0 8 -227712
-1 -1 0 1;
#X obj 224 538 s thresh;
#X obj 82 538 s transpose;
#X obj 82 460 loadbang;
#X msg 82 491 1;
#N canvas 0 22 550 400 mindwarp-block 0;
#X obj 27 158 outlet~;
#X obj 27 42 inlet~;
#X obj 73 14 inlet;
#X obj 120 49 inlet;
#X obj 213 69 inlet;
#X text 107 105 args: warp factor \, shape width \, overlap \, winfac
;
#X obj 27 85 mindwarp~ 1 16;
#X obj 28 183 block~ 256;
#X connect 1 0 6 0;
#X connect 2 0 6 1;
#X connect 3 0 6 2;
#X connect 4 0 6 0;
#X connect 6 0 0 0;
#X restore 96 364 pd mindwarp-block;
#N canvas 1171 182 470 320 pvoc-block 0;
#X obj 102 141 pvoc~;
#X obj 102 199 outlet~;
#X obj 102 50 inlet~;
#X obj 117 94 inlet;
#X obj 233 94 inlet;
#X obj 270 115 block~ 256;
#X obj 164 95 inlet;
#X connect 0 0 1 0;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 4 0 0 0;
#X connect 6 0 0 2;
#X restore 96 194 pd pvoc-block;
#X text 176 274 warp factor;
#X floatatom 172 316 5 1 16 0 - - -;
#N canvas 990 218 520 409 playsound 0;
#X obj 31 194 soundfiler;
#X obj 31 160 openpanel;
#X msg 31 131 bang;
#X obj 227 284 outlet~;
#X msg 227 244 bang;
#X obj 348 228 spigot;
#X obj 385 205 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X text 63 132 open the sound;
#X text 133 244 then play it;
#X text 304 190 loop if you like;
#X text 316 205 comment;
#N canvas 0 22 450 300 graph3 0;
#X array mindwarp-sound1 302338 float 2;
#X coords 0 1 302337 -1 200 140 1;
#X restore 231 21 graph;
#X obj 227 268 tabplay~ mindwarp-sound1;
#X msg 31 177 read -resize \$1 mindwarp-sound1;
#X connect 1 0 13 0;
#X connect 2 0 1 0;
#X connect 4 0 12 0;
#X connect 5 0 4 0;
#X connect 6 0 5 1;
#X connect 12 0 3 0;
#X connect 12 1 5 0;
#X connect 13 0 0 0;
#X restore 96 38 pd playsound;
#N canvas 0 22 494 344 messages 0;
#X obj 154 185 outlet;
#X obj 302 145 fftease-system;
#X floatatom 65 105 5 0 0 0 - - -;
#X msg 65 126 highfreq \$1;
#X floatatom 201 94 5 0 0 0 - - -;
#X msg 201 112 lowfreq \$1;
#X msg 65 83 8000;
#X obj 65 61 loadbang;
#X msg 201 73 0;
#X obj 201 51 loadbang;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 3 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 6 0 2 0;
#X connect 7 0 6 0;
#X connect 8 0 4 0;
#X connect 9 0 8 0;
#X restore 182 174 pd messages;
#X msg 384 314 set mindwarp-raw;
#X obj 384 409 receive~ mindwarp-warped;
#X msg 384 333 set mindwarp-pvoc;
#X msg 384 352 set mindwarp-warped;
#X obj 129 396 send~ mindwarp-warped;
#X obj 119 228 send~ mindwarp-pvoc;
#X obj 108 73 send~ mindwarp-raw;
#X text 380 290 select listening point:;
#X text 503 314 original sound;
#X text 511 335 pvoc transposed;
#X text 523 352 post-pvoc formant-adjusted;
#X text 82 577 mindwarp~ performs spectral envelope warping. It can
be used to correct for the formant shifting effects of pitch-scaling.
The warp factor is tuned to warp spectra to compensate for directly
corresponding pitch-scaling values. For example \, if you have pitch-scaled
a signal by a factor of two \, increasing its frequency content by
an octave \, by providing mindwarp~ with a warp factor of 2 and the
pitch-scaled signal \, mindwarp~ will restore the spectral formant
of the signal to an estimation of the shape present in the original
unscaled signal. Currently \, warp factor values are restricted to
the range [1/16 ... 16.]. mindwarp~ utilizes frequency shaping to perform
its duty. It can be fun to decorrelate the warp factor from the transposition
factor.;
#X text 190 32 <- first load a soundfile here;
#X floatatom 153 156 5 0 0 0 - - -;
#X floatatom 134 275 5 0.1 20 0 - - -;
#X obj 134 252 r transpose;
#X text 214 316 shape width;
#X obj 153 137 r thresh;
#X msg 224 476 1e-05;
#X obj 172 296 r shapewidth;
#N canvas 0 22 454 304 init 0;
#X obj 95 88 loadbang;
#X msg 95 116 16;
#X obj 95 155 s shapewidth;
#X obj 198 155 s transpose;
#X msg 198 120 1;
#X connect 0 0 1 0;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 4 0 3 0;
#X restore 501 518 pd init;
#X connect 1 0 12 1;
#X connect 3 0 2 0;
#X connect 4 0 8 0;
#X connect 5 0 11 3;
#X connect 6 0 7 0;
#X connect 9 0 10 0;
#X connect 9 0 35 0;
#X connect 10 0 4 0;
#X connect 11 0 21 0;
#X connect 12 0 11 0;
#X connect 12 0 22 0;
#X connect 14 0 11 2;
#X connect 15 0 12 0;
#X connect 15 0 23 0;
#X connect 16 0 12 3;
#X connect 17 0 18 0;
#X connect 18 0 0 0;
#X connect 18 0 0 1;
#X connect 19 0 18 0;
#X connect 20 0 18 0;
#X connect 30 0 12 2;
#X connect 31 0 11 1;
#X connect 32 0 31 0;
#X connect 34 0 30 0;
#X connect 35 0 6 0;
#X connect 36 0 14 0;
|