Top Banner
E85.2607: Lecture 3 – Delay-based effects E85.2607: Lecture 3 – Delay-based effects 2010-02-04 1 / 16
16

E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Sep 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

E85.2607: Lecture 3 – Delay-based effects

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 1 / 16

Page 2: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Basic delay

Delay signal by M samples (or τ = M/fs seconds)

Not much to hear on its own

Useful for compensating for other delays

Acoustic delays in sound reinforcementProcessing delays in e.g. long FIR filter

Implement using delay line or buffer

Poles and zeros? Frequency response?

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 2 / 16

Page 3: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Fractional delays

N

N

N N

N N

[NxN]

[NxN]

[NxN]

BL

FB

FFz-M

z-O

z-P

z-Q

N

M

M + frac

Interpolation

x(n)

y(n)=x(n-[M+frac])

M+1

M M+1

frac

y(n)

M-1

M-1

What if M is not an integer?

Use interpolation to simulate fractional delay

Estimate the value of sample that doesn’t exist

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 3 / 16

Page 4: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Fractional delays – strategies

1 Linear interpolation

y [n] = x [n − (M + 1)]frac + x [n −M](1− frac)

What kind of filter is this?

2 Allpass interpolation

y [n] = x [n − (M + 1)]frac + x [n −M](1− frac)− y [n − 1](1− frac)

3 Sinc interpolation, Many more...

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 4 / 16

Page 5: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

FIR comb filter

Mix input with a delayed version of itself:

y [n] = x [n] + g x [n −M]

H(z) = 1− g z−M

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 5 / 16

Page 6: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

FIR comb filter – frequency response

x(n) y(n)l

gz-M

negativecoefficient

positiveMagnitude

Frequency

1-g

1+g

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 6 / 16

Page 7: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

IIR comb filter

Mix input with a delayed version of filter output:

y [n] = c x [n] + g y [n −M]

H(z) =c

1 + g z−M

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 7 / 16

Page 8: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

IIR comb filter – frequency response

x(n) y(n)c

gz-M

negativecoefficient

positiveMagnitude

Frequency

1/(1-g)

1/(1+g)

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 8 / 16

Page 9: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Universal comb filter

Combine FIR and IIR comb filters into a single structure

FB

FF

BL

x(n) y(n)

x (n)h x (n-M)h

z-M

FB

FF

BL

x(n) y(n)

x (n)h x (n-M)h

z-M

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 9 / 16

Page 10: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

What do these comb filters sound like?

PD time...

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 10 / 16

Page 11: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Delay-based effects: Echo

Mix input with a long delay (> 50ms)

FIR comb filter...

Haas/Precedence Effect

If the same sound comes from two different locations, the sound willseem to come from the direction of the sound which arrives first. Oursensory system ignores subsequent sounds.If the delay is larger than about 50 ms, the sounds will be heard asdistinct events.

Different delays lead to different effects

Slapback/doubling: echo with short delay << 50ms

Lets build one

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 11 / 16

Page 12: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Delay-based effects: Vibrato

x(n) y(n)z-M

Time-varying delay (5–10 ms)

LFO to control delay variation (5–14 Hz)

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 12 / 16

Page 13: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Delay-based effects: Flanger

Time varying slapback (delay < 15 ms)

Use low-frequency oscillator to vary the delay (∼ 1 Hz)

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 13 / 16

Page 14: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Delay-based effects: Chorus

x(n) y(n)

g1

g2z-M2

z-M1

l

Mix input with randomly delayed versions of itself

Sounds like a chorus of sounds that are not quite in sync

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 14 / 16

Page 15: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Bringing it all together

Common universal comb filter structure:

BL

MOD(n)

FF

FB

z-[M(n)+frac(n)]x(n) y(n)

x (n-K)h

x (n)h

z-M(n)

z-O(n)

z-N(n)

gHP

gLP

gBPx(n) y(n)

LP

BP

HP

Typical parameters:

BL

MOD(n)

FF

FB

z-[M(n)+frac(n)]x(n) y(n)

x (n-K)h

x (n)h

z-M(n)

z-O(n)

z-N(n)

gHP

gLP

gBPx(n) y(n)

LP

BP

HP

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 15 / 16

Page 16: E85.2607: Lecture 3 -- Delay-based effectsE85.2607: Lecture 3 { Delay-based e ects 2010-02-04 11 / 16 Delay-based e ects: Vibrato x(n) y(n) z-M Time-varying delay (5{10 ms) LFO to

Reading

Introduction to Digital Filters

Analysis of a Digital Comb Filterthrough “Pole-Zero Analysis”

DAFX, Chapter 3 (if you have it)

E85.2607: Lecture 3 – Delay-based effects 2010-02-04 16 / 16