#N canvas 73 28 687 421 12;
#N canvas 213 187 537 459 input-sample 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array1 91065 float 0;
#X coords 0 1 91065 -1 400 300 1;
#X restore 80 54 graph;
#X text 206 381 INPUT SAMPLE;
#X restore 179 299 pd input-sample;
#N canvas 192 180 507 343 output-sample 0;
#N canvas 0 0 450 300 (subpatch) 0;
#X array array2 95475 float 0;
#X coords 0 1 95475 -1 400 300 1;
#X restore 60 13 graph;
#X text 161 388 OUTPUT SAMPLE;
#X restore 179 323 pd output-sample;
#N canvas 110 33 827 602 guts 0;
#X msg 25 133 bang;
#X obj 25 360 openpanel;
#X obj 144 31 inlet;
#X obj 441 403 dac~;
#X obj 441 342 *~;
#X obj 456 318 line~;
#X obj 456 296 r master-amp;
#X msg 597 130 bang;
#X obj 597 155 savepanel;
#X obj 231 164 spigot;
#X msg 233 132 0;
#X msg 265 132 1;
#X obj 497 427 outlet;
#X obj 299 132 r frequency;
#X obj 219 321 tabwrite~ array2;
#X msg 219 193 bang;
#X obj 420 289 +~;
#X msg 96 129 \; pd dsp 1;
#X obj 441 370 hip~ 7;
#X obj 231 223 tabplay~ array1;
#X msg 439 131 bang;
#X obj 439 160 tabplay~ array2;
#X msg 597 180 write \$1 array2;
#X obj 597 205 soundfiler;
#X obj 144 53 route read run start hear save;
#N canvas 0 0 368 263 audio-transformation 0;
#X obj 113 95 osc~;
#X obj 97 116 *~;
#X obj 97 138 hip~ 7;
#X obj 113 71 r frequency;
#X obj 97 22 inlet~;
#X obj 97 169 outlet~;
#X obj 97 47 hip~ 7;
#X connect 0 0 1 1;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 0 0;
#X connect 4 0 6 0;
#X connect 6 0 1 0;
#X restore 231 251 pd audio-transformation;
#X obj 497 402 env~ 16384;
#X obj 570 91 route normalized;
#X msg 571 300 write -normalize \$1 array2;
#X msg 571 250 bang;
#X obj 571 276 savepanel;
#X obj 571 325 soundfiler;
#X obj 25 413 soundfiler;
#X msg 25 390 read -resize -maxsize 1e+06 \$1 array1;
#X msg 25 460 \; array2 resize \$1;
#X obj 25 437 + 4410;
#X floatatom 96 436 0 0 0 0 - - -;
#X connect 0 0 1 0;
#X connect 1 0 33 0;
#X connect 2 0 24 0;
#X connect 4 0 18 0;
#X connect 5 0 4 1;
#X connect 6 0 5 0;
#X connect 7 0 8 0;
#X connect 8 0 22 0;
#X connect 9 0 10 0;
#X connect 9 0 15 0;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 13 0 9 0;
#X connect 15 0 14 0;
#X connect 15 0 19 0;
#X connect 16 0 4 0;
#X connect 18 0 3 0;
#X connect 18 0 3 1;
#X connect 18 0 26 0;
#X connect 19 0 25 0;
#X connect 20 0 21 0;
#X connect 21 0 16 1;
#X connect 22 0 23 0;
#X connect 24 0 0 0;
#X connect 24 1 15 0;
#X connect 24 1 10 0;
#X connect 24 1 17 0;
#X connect 24 2 11 0;
#X connect 24 2 17 0;
#X connect 24 3 20 0;
#X connect 24 4 27 0;
#X connect 25 0 14 0;
#X connect 25 0 16 0;
#X connect 26 0 12 0;
#X connect 27 0 29 0;
#X connect 27 1 7 0;
#X connect 28 0 31 0;
#X connect 29 0 30 0;
#X connect 30 0 28 0;
#X connect 32 0 35 0;
#X connect 32 0 36 0;
#X connect 33 0 32 0;
#X connect 35 0 34 0;
#X restore 28 265 pd guts;
#X msg 28 155 run the transformation;
#X msg 28 199 hear the output buffer again;
#X text 28 113 click below to:;
#X msg 28 221 save the output buffer;
#X floatatom 404 257 0 0 0 0 - - -;
#N canvas 194 37 397 591 output 0;
#X obj 66 203 t b;
#X obj 66 152 f;
#X obj 66 102 inlet;
#X text 71 81 mute;
#X obj 66 228 f;
#X msg 134 244 0;
#X msg 66 127 bang;
#X obj 66 178 moses 1;
#X obj 134 218 t b f;
#X obj 96 442 outlet;
#X msg 96 416 set \$1;
#X obj 186 163 moses 1;
#X obj 224 444 dbtorms;
#X obj 224 469 pack 0 100;
#X obj 186 138 r master-lvl;
#X obj 96 382 r master-lvl;
#X obj 83 286 s master-lvl;
#X obj 224 494 s master-amp;
#X obj 208 244 loadbang;
#X msg 208 269 \; master-lvl 90;
#X connect 0 0 4 0;
#X connect 1 0 7 0;
#X connect 2 0 6 0;
#X connect 4 0 16 0;
#X connect 5 0 16 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 10 0 9 0;
#X connect 11 1 4 1;
#X connect 12 0 13 0;
#X connect 13 0 17 0;
#X connect 14 0 1 1;
#X connect 14 0 11 0;
#X connect 15 0 10 0;
#X connect 15 0 12 0;
#X connect 18 0 19 0;
#X restore 404 235 pd output;
#X msg 404 213 mute;
#X obj 404 279 s master-lvl;
#X text 448 212 <-- mute button;
#X msg 28 177 start transformation when I change frequency;
#X floatatom 392 117 0 0 0 0 - - -;
#X obj 392 139 s frequency;
#X text 392 97 modulation frequency (Hz.);
#X floatatom 28 287 0 0 0 0 - - -;
#X text 10 330 100 maximum;
#X text 10 311 output meter;
#X text 429 115 <--set me;
#X text 443 255 <--set me;
#X msg 28 133 read an input file;
#X msg 28 243 save normalized to max amplitude;
#X text 29 8 Ring modulator. Read in a sample first \, then you can
either set a frequency and hit the "run" button or else hit the "start..."
button and start the transformation by dragging on the frequency control.
The output level should be "100" for unit gain.;
#X text 22 361 Outputs are saved as "wav" files \, although you can
edit the patch to make "aiff" or "nextstep" instead. Any of the three
are OK for source files.;
#X text 397 302 LINE OUT LEVEL in dB (100 max);
#X connect 2 0 16 0;
#X connect 3 0 2 0;
#X connect 4 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 10 0;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 12 0 2 0;
#X connect 13 0 14 0;
#X connect 21 0 2 0;
#X connect 22 0 2 0;
