#N canvas 626 47 584 697 10;
#X obj 138 551 loadbang;
#X obj 88 478 readsf~;
#X obj 88 421 loadbang;
#X obj 337 577 vd~ \$0-delay 2000;
#X obj 325 630 output~;
#X obj 270 333 phasor~ 1;
#X obj 339 379 tof/breakpoints~ 100 50;
#X obj 348 319 loadbang;
#X msg 348 343 0 0.33 1 0.34 1 0.33 0;
#X floatatom 270 309 5 0 0 0 - - -;
#X obj 273 278 hsl 128 15 0.1 5 1 0 empty LFO empty -2 -8 0 10 -261682
-1 -1 10108 1;
#X obj 382 538 line~;
#X obj 337 543 *~;
#X obj 385 461 hsl 128 15 10 500 0 0 empty depth empty -2 -8 0 10 -204800
-1 -1 389 1;
#X obj 382 489 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
-228856 -1 -1 25.0087 256;
#X msg 382 513 \$1 100;
#X obj 88 506 delwrite~ \$0-delay 2000;
#X text 237 276 LFO;
#X text 445 487 depth;
#X text 97 136 Dessa forma teremos uma espécie de arpejo em passos
bem definidos e em loop (mais grave - original - mais agudo). O intervalo
musical dependerá da frequência do LFO e do depth (amplitude máxima
do ponto do delay).;
#X text 97 21 Anteriormente usamos um oscilador senoidal para controlar
o tempo do delay \, mas nada nos impede de usarmos outras formas de
onda. Neste exemplo usamos um envelope em forma de trapézio ([tof/breakpoints~]).
No primeiro trecho de subida \, o delay irá desascelerar e a altura
ficar mais grave. Depois \, quando chegar na reta do topo do trapézio
\, a altura original será reestabelecida. Por fim \, na descida \,
a altura irá subir porque haverá uma asceleração.;
#X text 98 199 Experimente outras desenhos no envelope para fazer outros
tipos de arpejos.;
#X text 244 308 Hz;
#X msg 138 578 \; pd dsp 1 \; LFO 2.25 \; depth 25;
#X msg 88 446 open ../samples/violin.wav \, 1;
#X connect 0 0 23 0;
#X connect 1 0 16 0;
#X connect 1 1 24 0;
#X connect 2 0 24 0;
#X connect 3 0 4 0;
#X connect 3 0 4 1;
#X connect 5 0 6 0;
#X connect 6 0 12 0;
#X connect 7 0 8 0;
#X connect 8 0 6 0;
#X connect 9 0 5 0;
#X connect 10 0 9 0;
#X connect 11 0 12 1;
#X connect 12 0 3 0;
#X connect 13 0 14 0;
#X connect 14 0 15 0;
#X connect 15 0 11 0;
#X connect 24 0 1 0;
