-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjk_pitch_shifter0~.pd
168 lines (168 loc) · 5.15 KB
/
jk_pitch_shifter0~.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
#N canvas 230 81 1169 554 12;
#X floatatom 19 87 0 0 0 0 - - -;
#X obj 82 358 *~;
#X obj 205 295 line~;
#X floatatom 237 111 0 0 0 0 - - -;
#X text 68 9 PITCH SHIFTER;
#X obj 205 269 pack 0 200;
#X obj 19 143 exp;
#X floatatom 19 169 6 0 0 0 - - -;
#X obj 19 259 /;
#X obj 146 189 * 0.001;
#X obj 314 365 line~;
#X obj 314 340 pack 0 200;
#X floatatom 314 289 0 0 0 0 - - -;
#X obj 82 384 +~;
#X obj 19 410 cos~;
#X obj 19 437 *~;
#X obj 169 485 +~;
#X obj 106 317 wrap~;
#X obj 251 360 *~;
#X obj 251 393 +~;
#X obj 188 420 cos~;
#X obj 188 447 *~;
#X msg 506 342 \; transpose 0 \; window 100 \; delay 0;
#X obj 531 308 loadbang;
#X obj 146 216 t b f;
#X floatatom 19 285 6 0 0 0 - - -;
#X obj 106 290 +~ 0.5;
#X obj 19 358 -~ 0.5;
#X obj 19 384 *~ 0.5;
#X obj 188 359 -~ 0.5;
#X obj 188 392 *~ 0.5;
#X obj 19 196 - 1;
#X obj 19 117 * 0.05776;
#X obj 19 222 * -1;
#X text 84 85 <-- transposition;
#X text 127 98 (halftones);
#X text 82 163 speed;
#X text 81 177 change;
#X text 296 112 <--window (msec);
#X text 54 252 tape head;
#X text 729 150 This is a classic rotating-tape-head style pitch shifter
using the vd~ variable delay object. Ther are two moving tape heads
\, each of which is loudest at the middle of its trajectory \, and
enveloped out at the moment it has to jump back (or forward) to start
another scratch. Most of the brain work is in computing how fast the
tape heads have to move to get the desired transposition.;
#X text 727 260 The "window size" is the total trajectory of the read
points in the delay line \, in milliseconds. The delay times are controlled
by a phasor~ object. The second delay time \, 180 degrees out of phase
from the first one \, is computed using the "wrap" object.;
#X text 725 350 The "window size" is the total trajectory of the read
points in the delay line \, in milliseconds. The delay times are controlled
by a phasor~ object. The second delay time \, 180 degrees out of phase
from the first one \, is computed using the "wrap" object.;
#X text 724 442 The cos~ objects compute the fadein and fadeout of
the two delay line outputs. They each traverse the positive half of
the cosine waveform (phase -0.25 to +0.25) over the time the phase
goes from one end to the other.;
#X obj 19 316 phasor~;
#X text 689 534 updated for Pd version 0.37-1;
#X obj 314 316 max 1.5;
#X text 317 222 delay;
#X text 314 240 (msec);
#X obj 237 139 max 1;
#X text 55 265 rotation freq;
#X obj 438 28 inlet~;
#X obj 169 523 outlet~;
#X obj 314 263 r delay_ui;
#X obj 237 86 r window_ui;
#X obj 19 61 r transpose_ui;
#X obj 453 203 cnv 15 226 94 empty cn_scnd Pitch_Shifter 57 12 0 14
-99865 -241291 0;
#X obj 458 212 vu 15 80 empty empty -1 -8 0 10 -66577 -99865 1 0;
#X obj 481 279 bng 15 250 50 0 empty empty Reset 20 8 0 12 -258113
-4034 -4034;
#X obj 484 260 hsl 128 15 0 1000 0 0 empty delay delay 50 8 0 10 -260097
-1 -1 8100 1;
#X obj 484 241 hsl 128 15 0 1000 0 0 empty window window 47 8 0 10
-4032 -1 -1 9436 1;
#X obj 484 222 hsl 128 15 -20 20 0 0 empty transpose transpose 38 8
0 10 -4034 -1 -1 6350 1;
#X obj 438 115 spigot~;
#X obj 485 165 pvu~;
#X obj 551 279 tgl 15 0 \$0-active empty Active 20 8 0 12 -262144 -1
-4034 1 1;
#X obj 484 81 r \$0-active;
#X obj 204 485 r~ \$0-bypass;
#X obj 384 164 s~ \$0-bypass;
#X obj 621 222 nbx 5 14 -20 20 0 0 transpose_ui empty empty 0 -8 0
10 -262144 -1 -1 0 256;
#X obj 621 241 nbx 5 14 0 1000 0 0 window_ui empty empty 0 -8 0 10
-262144 -1 -1 742.992 256;
#X obj 621 260 nbx 5 14 0 1000 0 0 delay_ui empty empty 0 -8 0 10 -262144
-1 -1 637.795 256;
#X text 612 21 Switch off Activate toggle in order to bypass the effect
and save CPU cycles.;
#X text 612 66 Reset will restore the effect to its defaupt values.
;
#X text 612 95 based on Pd example: G09.pitchshift;
#X obj 557 131 inlet;
#X obj 616 125 inlet;
#X obj 668 142 inlet;
#X obj 82 410 vd~ G09-del0;
#X obj 251 422 vd~ G09-del0;
#X obj 528 165 delwrite~ G09-del0 5000;
#X connect 0 0 32 0;
#X connect 1 0 13 0;
#X connect 2 0 1 1;
#X connect 2 0 18 1;
#X connect 3 0 49 0;
#X connect 5 0 2 0;
#X connect 6 0 7 0;
#X connect 7 0 31 0;
#X connect 8 0 25 0;
#X connect 9 0 24 0;
#X connect 10 0 13 1;
#X connect 10 0 19 1;
#X connect 11 0 10 0;
#X connect 12 0 46 0;
#X connect 13 0 77 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 16 0 52 0;
#X connect 17 0 18 0;
#X connect 17 0 29 0;
#X connect 18 0 19 0;
#X connect 19 0 78 0;
#X connect 20 0 21 0;
#X connect 21 0 16 1;
#X connect 23 0 22 0;
#X connect 24 0 8 0;
#X connect 24 1 8 1;
#X connect 25 0 44 0;
#X connect 26 0 17 0;
#X connect 27 0 28 0;
#X connect 28 0 14 0;
#X connect 29 0 30 0;
#X connect 30 0 20 0;
#X connect 31 0 33 0;
#X connect 32 0 6 0;
#X connect 33 0 8 0;
#X connect 44 0 1 0;
#X connect 44 0 27 0;
#X connect 44 0 26 0;
#X connect 46 0 11 0;
#X connect 49 0 9 0;
#X connect 49 0 5 0;
#X connect 51 0 62 0;
#X connect 53 0 12 0;
#X connect 54 0 3 0;
#X connect 55 0 0 0;
#X connect 58 0 22 0;
#X connect 59 0 70 0;
#X connect 60 0 69 0;
#X connect 61 0 68 0;
#X connect 62 0 67 0;
#X connect 62 1 63 0;
#X connect 62 1 79 0;
#X connect 63 0 57 0;
#X connect 65 0 62 1;
#X connect 66 0 52 0;
#X connect 74 0 61 0;
#X connect 75 0 60 0;
#X connect 76 0 59 0;
#X connect 77 0 15 1;
#X connect 78 0 21 1;
#X coords 0 -1 1 1 232 100 2 450 200;