aboutsummaryrefslogtreecommitdiff
path: root/crossx~-help.pd
blob: 82ec6f7398d46367e26a3040a7e653578f1dddef (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
#N canvas 684 407 470 320 10;
#X obj 25 189 dac~;
#N canvas 0 22 470 320 rich-harmonic-source 0;
#X obj 127 232 outlet~;
#X obj 127 125 phasor~ 100;
#X obj 212 126 phasor~ 125;
#X obj 296 125 phasor~ 150;
#X obj 127 183 *~ 0.3;
#X floatatom 127 67 5 0 0 0 - - -;
#X obj 212 99 * 1.25;
#X obj 296 100 * 1.5;
#X obj 130 34 hsl 128 15 60 600 0 0 empty empty empty -2 -6 0 8 -154413
-1 -1 8900 1;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 6 0;
#X connect 5 0 1 0;
#X connect 5 0 7 0;
#X connect 6 0 2 0;
#X connect 7 0 3 0;
#X connect 8 0 5 0;
#X restore 25 23 pd rich-harmonic-source;
#X floatatom 91 66 5 0 0 0 - - -;
#N canvas 179 221 657 470 vocal-source 0;
#X text 13 300 try a vocal sound or other sound with strong formant
structure;
#X obj 31 194 soundfiler;
#X obj 31 160 openpanel;
#N canvas 0 22 450 300 graph1 0;
#X array crossx-sound1 4e+06 float 2;
#X coords 0 1 4e+06 -1 200 140 1;
#X restore 237 13 graph;
#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 msg 31 177 read -resize \$1 crossx-sound1;
#X obj 227 268 tabplay~ crossx-sound1;
#X connect 2 0 12 0;
#X connect 4 0 2 0;
#X connect 6 0 13 0;
#X connect 7 0 6 0;
#X connect 8 0 7 1;
#X connect 12 0 1 0;
#X connect 13 0 5 0;
#X connect 13 1 7 0;
#X restore 58 45 pd vocal-source;
#X msg 186 229 \; pd dsp \$1;
#X obj 186 208 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 25 160 *~ 1;
#X floatatom 48 141 5 0 0 0 - - -;
#X text 90 143 <- might need large amplitude;
#X text 96 155 but watch for sudden spikes!;
#X text 133 70 <- synthesis advancement threshold;
#N canvas 172 351 466 316 crossx-block 0;
#X obj 161 178 outlet~;
#X obj 161 49 inlet~;
#X obj 219 100 inlet;
#X obj 283 102 inlet;
#X obj 161 213 block~ 256;
#X obj 190 80 inlet~;
#X obj 161 132 crossx~ 4;
#X connect 1 0 6 0;
#X connect 2 0 6 2;
#X connect 3 0 6 0;
#X connect 5 0 6 1;
#X connect 6 0 0 0;
#X restore 25 88 pd crossx-block;
#N canvas 0 22 458 308 messages 0;
#X obj 56 233 outlet;
#X msg 56 175 autonorm \$1;
#X text 56 66 frame normalization to tame amplitude spikes;
#X obj 209 217 fftease-system;
#N canvas 0 22 458 308 rescale-autonorm 0;
#X obj 93 30 inlet;
#X obj 61 92 t b b;
#X msg 61 115 1;
#X msg 108 118 0.05;
#X obj 108 144 s output-gain;
#X obj 96 221 outlet;
#X obj 197 49 inlet;
#X obj 226 102 t b b;
#X obj 243 237 s output-gain;
#X msg 313 130 0;
#X msg 243 211 5;
#X obj 261 174 pipe 100;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 11 0;
#X connect 7 1 9 0;
#X connect 9 0 5 0;
#X connect 10 0 8 0;
#X connect 11 0 10 0;
#X restore 56 122 pd rescale-autonorm;
#X obj 56 93 bng 15 250 50 0 empty empty on 0 -6 0 8 -262144 -1 -1
;
#X obj 184 94 bng 15 250 50 0 empty empty off 0 -6 0 8 -262144 -1 -1
;
#X connect 1 0 0 0;
#X connect 3 0 0 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X connect 6 0 4 1;
#X restore 143 88 pd messages;
#X obj 48 118 r output-gain;
#X text 96 170 a compressor could be useful here;
#X obj 215 51 hsl 128 15 0 0.05 0 0 empty empty empty -2 -6 0 8 -191432
-1 -1 700 1;
#X text 26 262 crossx~ is related to xsyn~ but uses a threshold to
determine whether to perform spectral multiplication or maintain the
last calculated amplitude/phase pair. crossx~ is also somewhat less
CPU intensive.;
#X connect 1 0 11 0;
#X connect 2 0 11 2;
#X connect 3 0 11 1;
#X connect 5 0 4 0;
#X connect 6 0 0 0;
#X connect 6 0 0 1;
#X connect 7 0 6 1;
#X connect 11 0 6 0;
#X connect 12 0 11 3;
#X connect 13 0 7 0;
#X connect 15 0 2 0;