Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation of an Audio Reverberation Algorithm

Similar presentations


Presentation on theme: "Implementation of an Audio Reverberation Algorithm"— Presentation transcript:

1 Implementation of an Audio Reverberation Algorithm
Fergal Dunne Supervisor: Dr. Edward Jones

2 Project Aim To implement a reverberation algorithm for audio applications Gardner’s reverb algorithm - consists of three variations of the same general approach, intended to simulate rooms of different sizes Implementation of a real-time version Simulation in Matlab -> C Implementation on a DSP development system/PC-Based system

3 Reverberation A multiplicity of echoes whose speed of repetition is too quick for them to be perceived as separate from one another Early and late reflections Reverberation time – time taken for the sound intensity to decay to 1/1,000,000th (60 dB) of its original value

4 Gardner’s Algorithm Combination of early and late echoes into a “unified” system, intended to simulate rooms of different sizes Early reflections trigger late reverberation network Late reflections delayed until after the last early echo Tap/gain included to produce the desired level of late reverberation

5 Late Reflections Three similar algorithms – small, medium & large room
Common global structure based mainly, on allpass filters (both simple and nested) and delays, followed by a first order low pass filter Output signal is obtained by summing signals taken from various points along the delay line

6 Which algorithm to use? The appropriate reverb algorithm is chosen based on the reverberation time of the room to be simulated (bathroom, auditorium…) Reverb time is calculated using Sabines Equation Sabines equation uses information from the room to be simulated - room dimensions, material, absorption coefficients…

7 Room Responses - Bathroom

8 Early Echoes Only one algorithm needed to simulate rooms of different sizes Group of delays (20) followed by a first order low pass filter Early echo output is the low pass filtered sum of each delay block

9 Early Echo Response - Auditorium

10 Unified System Response - Bathroom
Combination of both early and late reflections Uses medium room “tail” algorithm

11 Real-time Implementation
Involves the rewriting of Gardner’s Network to process input signals on a sample-by-sample basis rather than processing bulk input samples (entire signals) Real-time implementation of non real-time functions: splitting up functions into two parts – real-time part & non real-time part Real-time implementation of the in-built Matlab filter function: two architectures – direct form I & II Trade-off – Network execution time vs. No. of memory elements needed

12 Translation from Matlab to C
Real-time implementation on a suitable platform requires a translation of all real-time functions from Matlab to C C-code equivalent versions of all real-time Matlab functions were written and verified using the originals as references C test program results -> binary file -> read into Matlab -> verified against a Matlab equivalent program All results agreed perfectly!

13 C Program Execution Requires three user inputs: Sampling rate
Simulation file Binary input file name containing the samples to be reverberated

14 Functional Verification

15 Implementation on a DSP Development System
ADSP-21065L EZ-KIT Lite evaluation kit from Analog Devices fast 32-bit DSP floating-point processor – 21065L a full duplex, 16-bit stereo audio codec – AD1819A (ADC & DAC) 544 Kb of internal user memory 16-megaword map of external SDRAM

16 Real-time Simulation of C-code on board
Read in samples from a mic or CD player - ADC Process the samples in real-time using Gardner’s algorithm Send the samples out to a set of speakers - DAC Successful: Early Echo implementation Failure due to: lack of internal memory (big arrays), software tools…

17 Implementation on a PC-Based System
6025E DAQ plug-in device by National Instruments A software programmable device (NI-DAQ Functions) featuring 16 channels (eight differential) of analog input, two channels of analog output Two simulation programs: ‘Pseudo’ real-time application – records n secs of audio (mic/cd player), processes it, and plays it back in almost real-time Real-time application – records and plays back audio in real-time (low sampling rate < 2 kHz)

18 Conclusion Ultimate Project Goal: Real-time implementation of a reverberation algorithm for audio applications – practically realised A real-time audio reverberation system was implemented but only for low sampling rates A “pseudo” real-time system was also implemented Future work: optimization of code to operate at higher sampling rates (speech, audio) Simulation of more room types other than a bathroom, auditorium & cathedral


Download ppt "Implementation of an Audio Reverberation Algorithm"

Similar presentations


Ads by Google