[PD] Fractional Delay in PD

katja katjavetter at gmail.com
Tue Oct 2 21:50:08 CEST 2012


On Tue, Oct 2, 2012 at 5:05 PM, Aaron Thompson
<aaron.thompson at live.co.uk> wrote:
> Hi Katja,
>
> Thanks for the reply. That seems to have fixed the problem, thanks!
>
> With regards to using the FIR as a fractional delay filter, i'm assuming the
> delta float (which feeds to the coefficient calculations) should be decimal
> values above a whole number delay? Ie, if the delay is calculated to be
> 5.35273 samples for example, then the delta float sent to the FIR, should be
> 0.35273, correct? In that case, should the value going to the delay be 5
> instead of 5.35273, or is it purely the nature of the filter to remove the
> artifacts created from a non-integar delay?

The FIR filter takes care of the time shift in between integer
samples, the fractional part of delay indeed.


> Also, can I ask if you've had any experience with building loss filters, for
> example within a tubular waveguide the loss filter from viscothermal losses
> along the tube? I understand the nature is basically a low pass filter with
> a filter cutoff freq reducing the greater the distance, but interested as
> you knew about fractional delay, as to whether you've created something of
> this elk before.

No, sorry I'm not so much into physical modeling.

> Finally, if you do come across that sinc kernal, that would be great!

See attached patch phaseshifter.pd. It is only for visualization but
you could use the sinc kernel calculator for fractional delay FIR, if
you apply a window to it (they say it should be a Kaiser window, not
the easiest to calculate).

Katja



>
> Kind regards,
> Aaron
>
>> Date: Tue, 2 Oct 2012 00:52:00 +0200
>> Subject: Re: [PD] Fractional Delay in PD
>> From: katjavetter at gmail.com
>> To: aaron.thompson at live.co.uk
>> CC: pd-list at iem.at
>
>>
>> Hello Aaron,
>>
>> Tried your test patch and here it does not produce the noise you
>> describe. If delay is set to absolute values larger than 1 it produces
>> too large signal values leading to clipping and harmonics, but this is
>> to be expected considering the way the patch is built. I noticed that
>> resulting coefficients were not consistent because you did not use the
>> trigger object in the calculation subpatches to organize the order of
>> operations.
>>
>> With the trigger objects inserted, the FIR calculator seems to work
>> well. I've added sliders in the subpatch to visually verify
>> coefficient values, see attached. Also if you check with white noise
>> as input signal, you can hear the spectrum is unaltered no matter what
>> fractional delay. So, very much OK. Thanks for the patch!
>>
>> By the way I've once made a visualization of fractional delay with
>> sinc kernel, if you're interested I can try to find it.
>>
>> Katja
>>
>> On Mon, Oct 1, 2012 at 10:32 PM, Aaron Thompson
>> <aaron.thompson at live.co.uk> wrote:
>> >
>> > Hello community,
>> >
>> > Having trouble getting my lagrange 4-point interpolator to function
>> > properly. Harmonics are being generated from somewhere, possibly due to the
>> > amplitude exceeding FSD (DC offset?). When I then include it in my
>> > waveguide, as soon as DSP is enabled, pd beeps, and then leaves crackly
>> > noise/fuzz regardless of whether the patch is being fed an audio signal or
>> > not. Remove the FIR filters, and it functions again as normal.
>> >
>> > Interested to know how others have achieved fractional delay filters
>> > within pd, be it Lagrange or Thiran Allpass for example.
>> >
>> > Patch is attached, "FIRTest.pd" is the parent patch.
>> >
>> > Any help would be greatly appreciated.
>> >
>> > Aaron
>> >
>> > _______________________________________________
>> > Pd-list at iem.at mailing list
>> > UNSUBSCRIBE and account-management ->
>> > http://lists.puredata.info/listinfo/pd-list
>> >
-------------- next part --------------
A non-text attachment was scrubbed...
Name: phaseshifter.pd
Type: application/octet-stream
Size: 3109 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20121002/bf99a699/attachment.obj>


More information about the Pd-list mailing list