Skip to content

Fractional Delay Filter

April 8, 2012
tags: ,

Today I have a Thiran all-pass filter that can be used as a fractional delay line to share with you all.  It has a simple yet interesting and useful effect on incoming audio signals – it can delay them by 1.5 – 2.5 samples (using a normal delay line you would be limited to using only integer values). To achieve a longer delay than 2.5 samples, you can simply wire it after a delay line.

Fractional delay lines have various musical applications – they are useful in bandwidth limited oscillators, comb filters, Karplus-Strong and other physical modeling algorithms, and probably many other things that I am not aware of.  My interest was first piqued by this article, and much of the recent research on fractional delay filters seems to be by Vesa Välimäki.

Hopefully I’ll have another project or two that uses this later in the week.

Download here.

5 Comments leave one →
  1. thiranlooker permalink
    August 6, 2012 8:35 am

    Cannot get this to work. But very interested. Also tried it (the algo) in Max6/Gen with no luck. Where did you get the actual algorithm? I cannot find it in the various papers. In general this is a great site full of great work, thanks. Keep it up.

  2. thiranlooker permalink
    August 7, 2012 2:56 am

    hi, i was just using your filter after a delay. also tried alone just to see what was happening. i found the algo in the paper sorry, just wasn’t looking correctly. i found that you have ‘a2’ as:
    a2 = ((D – 1) * (D – 2)) / ((D + 1) – (D + 2))
    but in the paper it is:
    a2 = ((D – 1) * (D – 2)) / ((D + 1) * (D + 2))
    … [* not -] i implemented the latter and it seems to be working well, looking at phase delay etc.
    however, i do not really have much idea what i am doing.
    what do you think?
    i now have the thiran after a 1.5 -> 2.5 samples delay in a feedback loop, seems good.
    all the best.

    • August 7, 2012 8:04 am

      Thanks for noticing this, I have uploaded a working version.
      I have it saved as a core cell and a core macro, I accidentally uploaded the work-in-progress instead of the finished version.

  3. thiranlooker permalink
    August 7, 2012 9:44 am


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: