reverb
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 PresentationTRANSCRIPT
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
ReverbReverbReverbReverb• Speed of sound: 350 meters/secondSpeed of sound: 350 meters/second
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)
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
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.
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
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)
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
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
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
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
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
Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator• Schroeder Reverberator uses comb and Schroeder Reverberator uses comb and
all-pass filtersall-pass filters
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.
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
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.
Schroeder ReverberatorSchroeder ReverberatorSchroeder ReverberatorSchroeder Reverberator
• Applying reverb to oboe spectraApplying reverb to oboe spectra
[iv:15] oboe, 261.6 Hz [iv:49] with 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
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
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
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
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
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)
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?
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
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
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