Skip to content

Commit

Permalink
Create 5.Reverse.delay.pd
Browse files Browse the repository at this point in the history
  • Loading branch information
porres committed Mar 13, 2021
1 parent 58fe899 commit c6bb32b
Showing 1 changed file with 55 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#N canvas 562 57 934 689 12;
#X declare -path else;
#X obj 302 18 declare -path else;
#X obj 146 342 play.file~ 1 violin.wav 1 1;
#X obj 235 387 phasor~ 1;
#X obj 147 500 out~;
#X text 28 57 We've seen how we can alter the pitch of a delay line
by feeding it a ramp signal as the delay positon. Later we'll see how
to implement pitch shifters from delay lines., f 60;
#X obj 235 424 *~ 1000;
#X obj 147 463 ffdelay~ 1000;
#X text 28 218 In the example below we have a delay line with a length
of 1 second. If we have a phasor that takes one second to go from 0ms
to 1000ms \, then it's just compensating for the write speed and we
hear nothing. But since it loops back after a one second cycle \, we
hear clicks at that rate because we're jumping to a new point in the
delay line.;
#X obj 601 493 out~;
#X text 490 24 If the phasor ramp is at a rate just a bit higher than
1 hertz \, we start hearing it play backwards \, but at a very low
pitch. In order to match the regular otiginal speed \, but backwards
\, we need phasor to have a rate of twice as that (2 in this case).
, f 53;
#X text 490 102 But the important thing to notice is that the rate
depends on the delay size/period. Below we have a delay size of two
seconds \, so in order to compensate like we did on the previous example
\, we need a rate of 0.5 hertz (which takes two seconds to ramp from
0 to 2000 ms). And twice as that is 1 hertz., f 53;
#X obj 689 381 phasor~ 1;
#X obj 689 417 *~ 2000;
#X obj 601 457 ffdelay~ 2000;
#X obj 600 345 play.file~ 1 violin.wav 1 1;
#X text 28 109 Anyway \, we can think of this signal as an adjustment
to the regular speed of the delay line. Think also about a vynil turntable
that has its regular speed. We can apply a force into the vinyl and
do some scratching or pitch shifting. If we're shifting it to a lower
pitch \, at one point we can lower so much it becomes silent \, and
after that we even play the disc backwards.;
#X text 490 193 It's also important to note that since we're basically
reading from the delay line at a rate that is twice the period \, in
practice we're only reading half of the delay lenght. I mean \, it
only takes one second to read from a 2 second delay line backwards
\, so we just have a 1 second delay. So set the delay line to twice
as much as you want your playing backwards period to be., f 54;
#X text 306 586 The [rdelay~] (reverse delay) object from ELSE is based
on this princple. Check it out \, read its help file ===>, f 46;
#X obj 473 627 rdelay~;
#X connect 1 0 6 0;
#X connect 2 0 5 0;
#X connect 5 0 6 1;
#X connect 6 0 3 0;
#X connect 11 0 12 0;
#X connect 12 0 13 1;
#X connect 13 0 8 0;
#X connect 14 0 13 0;

0 comments on commit c6bb32b

Please sign in to comment.