Skip to content Skip to navigation

OpenStax-CNX

You are here: Home » Content » Reverberation

Navigation

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Endorsed by Endorsed (What does "Endorsed by" mean?)

This content has been endorsed by the organizations listed. Click each link for a list of all content endorsed by the organization.
  • IEEE-SPS display tagshide tags

    This module is included inLens: IEEE Signal Processing Society Lens
    By: IEEE Signal Processing SocietyAs a part of collection: "Musical Signal Processing with LabVIEW (All Modules)"

    Comments:

    "A multimedia educational resource for signal processing students and faculty."

    Click the "IEEE-SPS" link to see all content they endorse.

    Click the tag icon tag icon to display tags associated with this content.

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • NSF Partnership display tagshide tags

    This module is included inLens: NSF Partnership in Signal Processing
    By: Sidney BurrusAs a part of collection: "Musical Signal Processing with LabVIEW (All Modules)"

    Click the "NSF Partnership" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • National Instruments display tagshide tags

    This module is included in aLens by: National InstrumentsAs a part of collection: "Musical Signal Processing with LabVIEW (All Modules)"

    Comments:

    "Developed by Rose Hulman Prof Ed Doering, this collection is a multimedia educational resource for students and faculty that augments traditional DSP courses and courses that cover music […]"

    Click the "National Instruments" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

Also in these lenses

  • Lens for Engineering

    This module is included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

  • NI Signal Processing display tagshide tags

    This module is included inLens: Digital Signal Processing with NI LabVIEW and the National Instruments Platform
    By: Sam ShearmanAs a part of collection: "Musical Signal Processing with LabVIEW (All Modules)"

    Comments:

    "This online course covers signal processing concepts using music and audio to keep the subject relevant and interesting. Written by Prof. Ed Doering from the Rose-Hulman Institute of Technology, […]"

    Click the "NI Signal Processing" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Reverberation

Module by: Ed Doering. E-mail the authorEdited By: Erik Luther, Sam Shearman

Summary: Reverberation is a property of concert halls that greatly adds to the enjoyment of a musical performance. Sound waves propagate directly from the stage to the listener, and also reflect from the floor, walls, ceiling, and back wall of the stage to create myriad copies of the direct sound that are time-delayed and reduced in intensity. In this module, learn about the concept of reverberation in more detail and ways to emulate reverberation using a digital filter structure known as a comb filter.

Table 1
LabVIEWq.png This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide module for tutorials and documentation that will help you:
• Apply LabVIEW to Audio Signal Processing
• Get started with LabVIEW
• Obtain a fully-functional evaluation edition of LabVIEW

Introduction

Reverberation is a property of concert halls that greatly adds to the enjoyment of a musical performance. The on-stage performer generates sound waves that propagate directly to the listener's ear. However, sound waves also bounce off the floor, walls, ceiling, and back wall of the stage, creating myriad copies of the direct sound that are time-delayed and reduced in intensity.

In this module, learn about the concept of reverberation in more detail and ways to emulate reverberation using a digital filter structure known as a comb filter.

The Figure 1 screencast video continues the discussion by visualizing the sound paths in a reverberant environment. The impulse response of the reverberant environment is also introduced. Understanding the desired impulse response is the first step toward emulating reverberation with a digital filter.

Figure 1: [video] Sound paths in a reverberant environment and impulse response model
Figure 1 (snd_reverb-concept.html)

Comb Filter Theory

The comb filter is a relatively simple digital filter structure based on a delay line and feedback. Watch the Figure 2 screencast video to learn how you can develop the comb filter structure by considering an idealized version of the impulse response of a reverberant environment.

Figure 2: [video] Development of the comb filter structure as a way to implement an idealized reverberant impulse response
Figure 2 (snd_reverb-combfilter-theory.html)

The difference equation of the comb filter is required in order to implement the filter in LabVIEW. In general, a difference equation states the filter output y(n) as a function of the past and present input values as well as past output values.

Take some time now to derive the comb filter difference equation as requested by the following exercise.

Exercise 1

Derive the difference equation of the comb filter structure shown at the end of the Figure 2 video.

Solution

Comb Filter Implementation

Once the difference equation is available, you can apply the coefficients of the equation to the LabVIEW "IIR" (infinite impulse response) digital filter. The Figure 3 screencast video walks through the complete process you need to convert the comb filter difference equation into a LabVIEW VI. The LabVIEW MathScript node creates the coefficient vectors. Once the comb filter is complete, its impulse response is explored for different values of delay line length and feedback gain.

Please follow along with the video and create your own version of the comb filter in LabVIEW. Refer to TripleDisplay to install the front-panel indicator used to view the signal spectrum.

Figure 3: [video] Implementing the comb filter in LabVIEW; exploration of the impulse response as a function of delay line length and feedback gain
Figure 3 (snd_reverb-combfilter-build.html)

Loop Time and Reverb Time

As you have learned in previous sections, the comb filter behavior is determined by the delay line length N and the feedback coefficient g. From a user's point of view, however, these two parameters are not very intuitive. Instead, the comb filter behavior is normally specified by loop time τ τ MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqiXdqhaaa@3701@ and reverb time denoted T 60 T 60 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamivamaaBaaaleaacaaI2aGaaGimaaqabaaaaa@37BB@ . Reverb time may also be written as R T60 R T60 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOuamaaBaaaleaacaWGubGaaGOnaiaaicdaaeqaaaaa@3892@ . Loop time indicates the amount of time necessary for a given sample to pass through the delay line, and is therefore the delay line length N times the sampling interval. The sampling interval is the reciprocal of sampling frequency, so the loop time may be expressed as in Equation 1:

τ= N f S τ= N f S MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqiXdqNaeyypa0ZaaSaaaeaacaWGobaabaGaamOzamaaBaaaleaacaWGtbaabeaaaaaaaa@3AD8@
(1)

Reverb time indicates the amount of time required for the reverberant signal's intensity to drop by 60 dB (dB = decibels), effectively to silence. Recall from the Figure 2 video that the comb filter's impulse response looks like a series of decaying impulses spaced by a delay of N samples; this impulse response is plotted in Figure 4 with the independent axis measured in time rather than samples.

Figure 4: Comb filter impulse response
Figure 4 (snd_reverb-impulseresponse.png)

Take a few minutes to derive an equation for the comb filter feedback gain "g" as a function of the loop time and the reverb time. The following pair of exercises guide you through the derivation.

Exercise 2

Given the comb filter impulse response pictured in Figure 4, derive an equation for the reverb time T 60 T 60 MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamivamaaBaaaleaacaaI2aGaaGimaaqabaaaaa@37BB@ in terms of the loop time τ τ MathType@MTEF@5@5@+=feaagaart1ev2aqatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaeqiXdqhaaa@3701@ and the comb filter's feedback constant g. Hint: Recall the basic equation to express the ratio of two amplitudes in decibels, i.e., use the form with a factor of 20.

Solution

T 60 = 3τ log 10 g T 60 = 3τ log 10 g MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamivamaaBaaaleaacaaI2aGaaGimaaqabaGccqGH9aqpdaWcaaqaaiabgkHiTiaaiodacqaHepaDaeaaciGGSbGaai4BaiaacEgadaWgaaWcbaGaaGymaiaaicdaaeqaaOGaam4zaaaaaaa@41B0@

Exercise 3

Based on your previous derivation, develop an equation for the comb filter gain "g" in terms of the desired loop time and reverb time.

Solution

g= 10 3τ T 60 g= 10 3τ T 60 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4zaiabg2da9iaaigdacaaIWaWaaWbaaSqabeaacqGHsisldaWcaaqaaiaaiodacqaHepaDaeaacaWGubWaaSbaaWqaaiaaiAdacaaIWaaabeaaaaaaaaaa@3ECE@

Exercise 4

To finish up, derive the equation for the comb filter delay "N" in terms of the desired loop time.

Solution

N=τ f S N=τ f S MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYb1uaebbnrfifHhDYfgasaacH8YjY=vipgYlh9vqqj=hEeeu0xXdbba9frFj0=OqFfea0dXdd9vqai=hGuQ8kuc9pgc9q8qqaq=dir=f0=yqaiVgFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOtaiabg2da9iabes8a0jaadAgadaWgaaWcbaGaam4uaaqabaaaaa@3AC8@

Now, return to your own comb filter VI and modify the front-panel controls and LabVIEW MathScript node to use loop time and reverb time as the primary user inputs. Experiment with your modified system to ensure that the spacing between impulses does indeed match the specified loop time, and that the impulse decay rate makes sense for the specified reverb time.

Comb Filter Implementation for Audio Signals

In this section, learn how to build a comb filter in LabVIEW that can process an audio signal, specifically, an impulse source. Follow along with the Figure 5 screencast video to create your own VI. The video includes an audio demonstration of the finished result. As a bonus, the video also explains where the "comb filter" gets its name.

Figure 5: [video] Building a LabVIEW VI of a comb filter that can process an audio signal
Figure 5 (snd_reverb-combfilter-audio.html)

Next, learn how you can replace the impulse source with an audio .wav file. Speech makes a good test signal, and the Figure 6 screencast video shows how to modify your VI to use a .wav audio file as the signal source. The speech clip used as an example in the video is available here: speech.wav (audio courtesy of the Open Speech Repository, www.voiptroubleshooter.com/open_speech; the sentences are two of the many phonetically balanced Harvard Sentences, an important standard for the speech processing community).

Figure 6: [video] Modifying the LabVIEW VI of a comb filter to process a .wav audio signal
Figure 6 (snd_reverb-combfilter-wav.html)

References

  • Moore, F.R., "Elements of Computer Music," Prentice-Hall, 1990, ISBN 0-13-252552-6.
  • Dodge, C., and T.A. Jerse, "Computer Music: Synthesis, Composition, and Performance," 2nd ed., Schirmer Books, 1997, ISBN 0-02-864682-7.

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks