#N canvas 461 70 561 580 10;
#X declare -stdpath ./;
#X obj 4 555 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X obj 4 442 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 4 482 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 4 521 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 136 453 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 136 493 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 164 453 signal;
#X text 164 493 signal;
#X text 165 530 (none);
#X obj 103 214 -~ 3.14159;
#X obj 103 191 *~ 6.28319;
#X obj 103 245 cyclone/tanh~;
#X text 231 453 - input to hyperbolic tangent function;
#X text 231 493 - output of hyperbolic tangent function;
#X obj 103 165 phasor~ 2;
#X obj 103 280 cyclone/scope~ 153 137 512 3 128 -1 1 0 0 0 0 205 229 232 74 79 77 96 98 102 0 empty;
#X text 180 192 * 2pi;
#X text 181 214 - pi;
#X text 79 407 -1;
#X text 84 275 1;
#X text 66 97 [tanh~] calculates the hyperbolic tangent function of input sample. It is also useful for waveshaping \, where it simulates analog distortion.;
#X text 82 341 0;
#N canvas 774 137 415 419 waveshaping 0;
#X obj 232 172 +~ 11;
#X obj 232 145 *~ 10;
#X obj 163 236 cyclone/tanh~;
#X obj 163 200 *~;
#X text 31 19 [tanh~] will clip values between -1 and 1 \, but will do so not as "hard clipping" (which would be the case with the [clip~] object). It can actually be considered a waveshaper for soft clipping. This generates a distortion which is more closely related to how analog circuitry does clip a signal in overdrive.;
#X obj 163 161 osc~ 110;
#X obj 232 121 osc~ 0.5, f 18;
#X obj 163 278 output~;
#X obj 157 373 declare -stdpath ./;
#X connect 0 0 3 1;
#X connect 1 0 0 0;
#X connect 2 0 7 0;
#X connect 3 0 2 0;
#X connect 5 0 3 0;
#X connect 6 0 1 0;
#X restore 410 381 pd waveshaping \; analog distortion;
#X obj 499 69 cyclone/dsponoff~;
#X obj 3 3 ./header tanh~;
#X text 22 61 Signal hyperbolic tangent function;
#X obj 362 220 sig~;
#X obj 362 279 cyclone/snapshot~ 1;
#X obj 362 309 nbx 9 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 362 196 nbx 9 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X obj 362 250 cyclone/tanh~;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 15 0;
#X connect 14 0 10 0;
#X connect 26 0 30 0;
#X connect 27 0 28 0;
#X connect 29 0 26 0;
#X connect 30 0 27 0;
