reverb

28

Upload: edolie

Post on 18-Jan-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Reverb. Reverb. Reverberation is made up of many reflections. Reverb simulation is more complex than the filters. We need to consider the geometry of a concert hall and the speed of sound. Speed of sound: 350 meters/second. Reverb. Speed of sound: 350 meters/second. Reverb. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reverb
Page 2: Reverb

ReverbReverbReverbReverb

• Reverberation is made up of many Reverberation is made up of many reflections.reflections.

• Reverb simulation is more complex Reverb simulation is more complex than the filters. than the filters.

• We need to consider the geometry We need to consider the geometry of a concert hall and the speed of of a concert hall and the speed of sound. sound. • Speed of sound: 350 meters/secondSpeed of sound: 350 meters/second

Page 3: Reverb

ReverbReverbReverbReverb• Speed of sound: 350 meters/secondSpeed of sound: 350 meters/second

Page 4: Reverb

ReverbReverbReverbReverb• With a .5 second reverberation time, a With a .5 second reverberation time, a

sound wave will travel about 175 meterssound wave will travel about 175 meters• that means that in a 3 meter bathroom that means that in a 3 meter bathroom

sounds will bounce more than 58 times sounds will bounce more than 58 times before being absorbed (more or less)before being absorbed (more or less)

Page 5: Reverb

ReverbReverbReverbReverb• Sound in a concert hall consists of: Sound in a concert hall consists of:

• Direct sound Direct sound • 1st order reflections (1 wall) 1st order reflections (1 wall) • 2nd order reflections (2 walls) 2nd order reflections (2 walls) • higher order reflectionshigher order reflections

Direct Sound and First Order

Reflections

Page 6: Reverb

Reverberation TimeReverberation TimeReverberation TimeReverberation Time• Definition:Definition:

• Time for a sound's reflections to decay Time for a sound's reflections to decay to .1% (.001) of the source's amplitude.to .1% (.001) of the source's amplitude.

Page 7: Reverb

Parts of a Reverberated SoundParts of a Reverberated SoundParts of a Reverberated SoundParts of a Reverberated Sound• Direct sound (unreflected)Direct sound (unreflected)

• travels in a straight path to the listener travels in a straight path to the listener • Early reflectionsEarly reflections

• arrive .01-.1 seconds after the direct soundarrive .01-.1 seconds after the direct sound

Page 8: Reverb

Parts of a Reverberated SoundParts of a Reverberated SoundParts of a Reverberated SoundParts of a Reverberated Sound• Fused reverberationFused reverberation

• contains thousands of later reflections.contains thousands of later reflections.

Reverberation of an impulse signal (exponential decay)

Page 9: Reverb

Csound ReverbCsound ReverbCsound ReverbCsound Reverb• [iv:47][iv:47] Bach example, no reverb Bach example, no reverb• [iv:48][iv:48] same example, with Csound reverb same example, with Csound reverb• score file:score file:

; csreverb.sco; csreverb.sco

;; startstart durdur

i2i2 11 2.02.0 ...... ; note list; note list

i2i2 1313 2.02.0 ...... ; maximum duration is 15; maximum duration is 15

;; p2p2 p3p3 p4p4 p5p5 p6p6

;; rvbrvb percentpercent

;; stst durdur gaingain timetime reverbreverb

i96i96 1.01.0 15.015.0 1.01.0 1.51.5 .08.08 ; reverb dur is 15; reverb dur is 15

Page 10: Reverb

Csound ReverbCsound ReverbCsound ReverbCsound Reverb

;csreverb.orc - use with csreverb.scogarev init 0 ; initialize garev;--------------------------------------------------instr 2 ; regular instrument...; add the signal for this note to the global signalgarev = garev + asig

out asig ; don't output asig hereendin

;--------------------------------------------------

• orchestra fileorchestra file

Page 11: Reverb

Csound ReverbCsound ReverbCsound ReverbCsound Reverb

instr 96 ; Csound global reverb instrument

idur = p3igain = p4 ; gain to control amplitude

irevtime= p5 ; reverb time

ireverb = p6 ; percent reverberated signal

iacoustic = 1 - ireverb ; pct unreverberated

p3 = p3 + irevtime ; lengthen p3

inorm = .92117 ; normalize the tone

Page 12: Reverb

Csound ReverbCsound ReverbCsound ReverbCsound Reverb

; reverberate the global signal with

; Csound's built-in reverberator

arev reverb garev, irevtime

; mix signal (percent acoustic and percent reverbed)aout = (iacoustic * garev) + (ireverb * arev)

; attenuate and output the signal

out aout*igain/inormgarev = 0 ; set garev to prevent feedback

endin

Page 13: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator• Csound's reverberator was not Csound's reverberator was not

implemented correctly:implemented correctly:

Impulse Response to Csound's reverb

Page 14: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator• Schroeder Reverberator uses comb and Schroeder Reverberator uses comb and

all-pass filtersall-pass filters

Page 15: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator

• Comb delay times in range .03 - .05 Comb delay times in range .03 - .05 seconds, and relatively prime to one seconds, and relatively prime to one another (e.g., .031, .037, .041, .043).another (e.g., .031, .037, .041, .043).

• The all-pass filters (with delays The all-pass filters (with delays of .005-.02 seconds) build up the echo of .005-.02 seconds) build up the echo density even though the amplitude density even though the amplitude decays.decays.• The first all-pass turns each comb echo The first all-pass turns each comb echo

into a string of echoes.into a string of echoes.• The second all-pass adds another layer of The second all-pass adds another layer of

echoes.echoes.

Page 16: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator

• How long is reverb time, given delay How long is reverb time, given delay and gain factor and gain factor gg for the comb filter? for the comb filter?

1/1000 = g1/1000 = grevTime/delayTimerevTime/delayTime

• Example: delay = .05, g = .9Example: delay = .05, g = .9

.001 = .9.001 = .9revTime/.05revTime/.05

.05 log.05 log.9.9 .001 = revTime = 3.28 seconds .001 = revTime = 3.28 seconds

Page 17: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator

• Typical concert halls have reverb time Typical concert halls have reverb time ranging from 1.5 - 3 seconds. ranging from 1.5 - 3 seconds.

• Schroeder reverb time is about equal to Schroeder reverb time is about equal to the longest of the 4 comb filter reverb the longest of the 4 comb filter reverb times.times.

Page 18: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator

• Applying reverb to oboe spectraApplying reverb to oboe spectra

[iv:15] oboe, 261.6 Hz [iv:49] with reverb

Page 19: Reverb

Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator

• Applying reverb to trombone spectraApplying reverb to trombone spectra

[iv:50] trombone, 73.42 Hz [iv:51] with reverb

Page 20: Reverb

SchroederSchroeder Reverb ReverbSchroederSchroeder Reverb Reverb

• score filescore file

; reverb.sco; reverb.sco

;; startstart durdur

i2i2 11 2.02.0 ...... ; note list; note list

i2i2 1313 2.02.0 ...... ; maximum duration is 15; maximum duration is 15

;; p2p2 p3p3 p4p4 p5p5 p6p6

;; rvbrvb percentpercent

;; stst durdur gaingain timetime reverbreverb

i97i97 1.01.0 15.015.0 1.01.0 1.51.5 .08.08 ; reverb dur is 15; reverb dur is 15

Page 21: Reverb

SchroederSchroeder Reverb ReverbSchroederSchroeder Reverb Reverb

;reverb.orc - use with reverb.scogarev init 0 ; initialize garev;--------------------------------------------------instr 2 ; regular instrument...; add the signal for this note to the global signalgarev = garev + asig

out asig ; don't output asig hereendin

;--------------------------------------------------

• orchestra fileorchestra file

Page 22: Reverb

SchroederSchroeder Reverb ReverbSchroederSchroeder Reverb Reverbinstr 97 ; Csound global reverb instrument

idur = p3igain = p4 ; gain to control amplitude

irevtime= p5 ; reverb time

ireverb = p6 ; percent reverberated signal

iacoustic = 1 - ireverb ; pct unreverberated

p3 = p3+irevtime+.1 ; lengthen p3

inorm = .91999 ; normalize the tone

; make sure gain is between 0 and 1 (1 = 100%)

igain = (igain <= 0 ? .01 : igain)

igain = (igain > 1.0 ? 1.0 : igain)

; make sure % reverb between 0 and 1 (0 ok, 1=100%)

ireverb = (ireverb > .99 ? .99 : ireverb)

ireverb = (ireverb < 0 ? 0 : ireverb)

iacoustic = 1 - ireverb ; percent unreverberated

Page 23: Reverb

SchroederSchroeder Reverb ReverbSchroederSchroeder Reverb Reverb; reverberate the global signal with

; Schroeder reverberator

ac1 comb garev, irevtime, .0297

ac2 comb garev, irevtime, .0371

ac3 comb garev, irevtime, .0411

ac4 comb garev, irevtime, .0437

acomb = ac1 + ac2 + ac3 + ac4

ap1 alpass acomb, .09683, .005

arev alpass ap1, .03292, .0017

; mix signal (percent acoustic and percent reverbed)

aout = (iacoustic * garev) + (ireverb * arev)

; attenuate and output the signal

out aout*igain/inorm

garev = 0 ; set garev to prevent feedback

endin

Page 24: Reverb

How Much Reverb?How Much Reverb?How Much Reverb?How Much Reverb?• Between 4% (.04) and 15% (.15) for the Between 4% (.04) and 15% (.15) for the

reverb amount.reverb amount.• Try different values and pick the one that Try different values and pick the one that

sounds best for your music.sounds best for your music.• Examples: Bach, Examples: Bach, Fugue #2 in C MinorFugue #2 in C Minor

• [iv:52][iv:52] 4% reverb (.8 seconds reverb time) 4% reverb (.8 seconds reverb time) • [iv:53][iv:53] 15% reverb (.8 seconds reverb time) 15% reverb (.8 seconds reverb time)

Page 25: Reverb

How Long a Reverb Time?How Long a Reverb Time?How Long a Reverb Time?How Long a Reverb Time?• Between .8 seconds and 1.5 seconds for the Between .8 seconds and 1.5 seconds for the

reverb time.reverb time.• This simulates a medium-sized concert hall.This simulates a medium-sized concert hall.• If the reverb time is too short, the sound is dry and If the reverb time is too short, the sound is dry and

lifeless.lifeless.• If the reverb time is too long, it sounds artificial, If the reverb time is too long, it sounds artificial,

even metallic.even metallic.• Examples: Bach, Examples: Bach, Fugue #2 in C MinorFugue #2 in C Minor

• [iv:54][iv:54] .8 seconds reverb time (10% reverb) .8 seconds reverb time (10% reverb) • [iv:55][iv:55] 1.5 seconds reverb time (10% reverb) 1.5 seconds reverb time (10% reverb) • [iv:56][iv:56] 3 seconds reverb time (10% reverb) 3 seconds reverb time (10% reverb)

• What happens to the sound as the reverb time What happens to the sound as the reverb time increases?increases?

Page 26: Reverb

RefinementsRefinementsRefinementsRefinements

• A lowpass filter at the end of the reverb A lowpass filter at the end of the reverb code can damp high frequencies and code can damp high frequencies and make the sound less metallic.make the sound less metallic.• Example: Bach, Example: Bach, Fugue #2 in C MinorFugue #2 in C Minor

• [iv:57][iv:57] filter freq = filter freq = 20002000 (decays to 500), 5 (decays to 500), 5 seconds reverb time, 15% reverbseconds reverb time, 15% reverb

Page 27: Reverb

RefinementsRefinementsRefinementsRefinements

• Even better, a lowpass filter Even better, a lowpass filter insideinside the the comb filter (in the feedback loop) can comb filter (in the feedback loop) can damp high frequencies as a wall damp high frequencies as a wall absorbs high frequencies.absorbs high frequencies.• Example: Bach, Example: Bach, Fugue #2 in C MinorFugue #2 in C Minor

• [iv:58][iv:58] filter freq = filter freq = 30003000, 5 seconds reverb time, , 5 seconds reverb time, 15% reverb15% reverb

Page 28: Reverb

RefinementsRefinementsRefinementsRefinements

• Adding a few early echoes by direct Adding a few early echoes by direct delay also helps make it sound more delay also helps make it sound more realistic.realistic.• Example: Bach, Example: Bach, Fugue #2 in C Minor Fugue #2 in C Minor

• [iv:59][iv:59] filter freq = 3000, 5 seconds reverb time, filter freq = 3000, 5 seconds reverb time, 15% reverb15% reverb