[PD] Delay effect without clicks

Frank Barknecht fbar at footils.org
Fri Mar 27 00:57:15 CET 2009


Hallo,
Bj?rn Nielsen hat gesagt: // Bj?rn Nielsen wrote:

> This is my first mail to the list and I am a newbie in PD, so please
> bear with me.

We're going to stompbox you hard! No, of course not, welcome on board! ;)
 
> I am trying to make a patch that simulates the delay effects I use as
> a stompbox for my guitar. I.e. a signal delay line, with a parameter
> of feedback and a parameter of delay time. While changing the delay
> time parameter the ongoing sampled part should change pitch.
> 
> My first attempt (as in the attached patch) is to use
> delread~/delwrite~, but changing the lenght of the sampled part in
> delread~ makes a lot of clicks noises (which can be fun, but not what
> I intended) and it do not change pitch. 

So you want to use the delay effect as a pitchshifter.

Pitchshifting with a delay works by constantly changing the delay time, i.e.
making it continously become slower or faster. (Using a not changing, constant
delay would not change pitch, it just delays the signal.) For that you should
drive your delay reader with an audio signal, otherwise you don't get constant
pitch shifting, but jumps which are audible as clicks. 

The object to use when you want variable delay times is called [vd~], it takes
a signal input. To get a constantly growing delay time, you could for example
drive it by a [phasor~], multiplied by some scalign factor.

But now at some point in time the phasor~ will wrap around and restart at 0 or
you may even reach the end of the delay buffer. To work against that you can
use overlapping and windowed phasors which you make by adding  0.5 to a
phasor~ and applying [wrap~] to that signal path to get a second phasor~-like
signal that is half out ouf phase to the original.

Then you drive two [vd~] objects with these phasor~s and add them together. With
the correct windowing they sound almost like one delay.

This procedure is implemented in the example 3.audio.examples/G09.pitchshift.pd
and a more verbose explanation is in Miller Puckette's book (which also
explains the strange-looking multiplication by 0.05776 in the example.)

See
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node115.html 
and
http://crca.ucsd.edu/~msp/techniques/latest/book-html/node125.html

Ciao
-- 
Frank




More information about the Pd-list mailing list