Example Code

Adding a Reverb Effect to an Audio File

Code and Documents

Attachment

Overview
This VI implements a basic reverberation algorithm to an audio file, rewrites the file and plays the sound effected clip.

 


Description
Adding a Reverb Effect to an Audio File

Reverberation is defined as the persistence of sound in a particular space after the original sound is produced. Digital reverberation can be modeled using the following equation:

Y(t) = x(t) + A * Y(t-D) Where x(t) is the original signal and A is the level of the reverberation

reverb.VI takes a dry (not effected) audio input, implements this simple reverb algorithm, writes the effected audio to file and plays sound clip. This example highlights several

important components of non real-time audio signal processing using LabVIEW including the following:

- Usage of the Simple Sound File Read, Write and Play VIs

- Reading and writing individual elements of an array using the Index Array and Replace Array Subset VIs

- Implementing a simple reverberation algorithm

 


Requirements

  • LabVIEW 2012 (or compatible)


Steps to Implement or Execute Code

  • Download the attachment to your computer
  • Open the VI "Reverb 2012 NIVerified.vi"
  • Run the VI

 

Additional Information or References
VI Snippet

 Block Diagram.png

 

 **This document has been updated to meet the current required format for the NI Code Exchange.**

 

Nick C | Software Project Manager - LabVIEW Real-Time | National Instruments

Example code from the Example Code Exchange in the NI Community is licensed with the MIT license.

Comments
Sinan_Ismael
Member
Member
on

Hi

Thanks for this VI, exactly what I am searching for.

Please How: "Sound file read simple.vi" read samples at rate 44.1 k sample/sec, because the sample rate depends on the wav file, not the way of reading it?????

Kindly look at the pic.reverb.png

Nick-C
Member
Member
on

Sinan,

You are absolutely correct, that is a typo on my part. The sampling rate of the WAV file is dependent on whatever source captured the audio. The note I made there was to indicate that I was converting a time (seconds) to samples with the knowledge that the WAV file was sampled at 44.1 KHz.

Regards,

Nick

Nick C | Software Project Manager - LabVIEW Real-Time | National Instruments
Sinan_Ismael
Member
Member
on

Hi Nick

As you know, the sample rate is the inverse of time interval (dt). I think it is more suiable to use 'get waveform components' to get the time interval then the sample rate.

Thanks

Sinan

University of Mosul / Iraq

Reverb VI.png