180 likes | 515 Views
Echo Generation and Simulated Reverberation. R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003. +. Delay Line (z -N ). k. Recirculating Delay Line. Recall that a simple delay FIFO (first-in, first-out) queue can be implemented using a modulo buffer
E N D
Echo GenerationandSimulated Reverberation R.C. Maher ECEN4002/5002 DSP Laboratory Spring 2003
+ Delay Line (z-N) k Recirculating Delay Line • Recall that a simple delay FIFO (first-in, first-out) queue can be implemented using a modulo buffer • Now, consider a recirculating buffer: output can also be taken here Echo and Reverb R. C. Maher
+ Delay Line (z-N) k Recirculating Delay (cont.) x[n] y[n] N poles equally spaced around circle (radius k1/N) Echo and Reverb R. C. Maher
Recirculating Delay (cont.) • Example: unit sample response (N=8, k=0.8) Echo and Reverb R. C. Maher
Recirculating Delay (cont.) • Frequency response of system • A “comb” filter Echo and Reverb R. C. Maher
Echo Generator • If length N is short, comb filter effect (audio coloration) is noticeable • If length N corresponds to a time delay of 200ms or more, output perceived as an echo of the input • Scaling of input is typically needed to prevent overflow Echo and Reverb R. C. Maher
Acoustics • Sound propagates through air as a longitudinal wave • Speed of sound: • 343 m/s @ 20°C (331 m/s @ 0°C) • About 1125 ft/s • About 1 ft/ms (light travels about 1 ft/ns) • About 5 seconds per mile • Audible wavelengths: 1.7cm to 17m Echo and Reverb R. C. Maher
Human Hearing Characteristics • Frequency sensitivity roughly 20 Hz – 20kHz • 3 decades, or 10 octaves • Compares to less than one octave for human visual system (wavelengths: 3800 – 7600 angstroms) • Amplitude sensitivity roughly 20Pa – 20Pa • Atmospheric pressure: 105 Pa • Minimum audible sound corresponds to motion a fraction of diameter of hydrogen atom! • Any better, and we would “hear” thermal noise • Difference judgments good, absolute judgments poor Echo and Reverb R. C. Maher
Acoustical Transfer Function • Linear Time-Invariant (LTI) systems can be fully described by an impulse response • Fourier Transform of the impulse response is the transfer function • Acoustical path from a sound source to the listener’s ear is LTI, so we can describe the acoustical system with a transfer function Echo and Reverb R. C. Maher
Reflections and Reverberation • Direct sound arrival is followed by reflections from room surfaces • Overlapping reflections are heard as reverberation • Direct-to-Reverberant ratio gives cues to size of room, type of room surfaces, and distance from source Echo and Reverb R. C. Maher
Direct Sound and Reflections Sound Source Echo and Reverb R. C. Maher
Reverb Simulation • Method 1: obtain impulse response of real room, then convolve with input signal • Results can be good, but computation and storage requirements are high: impulse response sequence for 3-5 seconds is ~200k • Method 2: use recirculating delay lines to create an artificial impulse response • Less computation and storage, but tricky to get satisfactory sound quality Echo and Reverb R. C. Maher
Reverb Simulation (cont.) • For good reverb: • echo density (echoes per second) must increase as time goes on • response should be quasi-random (no spectral coloration) • high frequencies typically decay faster than low frequencies Echo and Reverb R. C. Maher
+ + + Reverb Simulation (cont.) • Plan: use parallel recirculating delay lines with incommensurate delays Delay Line (z-N1) k1 Delay Line (z-N2) k2 Echo and Reverb R. C. Maher
+ + Other Improvements • Cascade of all pass recirculators -k Delay Line (z-N) N poles and zeroes equally spaced around circle (pole radius k1/N, zero radius k-1/N) k Echo and Reverb R. C. Maher
+ Delay Line (z-N) LPF k Other Improvements (cont.) • Add lowpass filter to feedback path: shortens high frequency reverb time: more like natural reverberation Echo and Reverb R. C. Maher
EVM Note: External Memory • To use external memory on EVM, need to program the bus control register and the address attribute register 0 (see 56300 Family Manual) movep #$040821,x:M_AAR0 ;Compare 8 most significant bits ;Look for a match with address ;Y:0000 0100 xxxx xxxx xxxx xxxx ;No pack, no mux, Y enabled ;P and X disabled ;AAR0 pin active low movep #$012421,x:M_BCR ;One ext. wait state • Access to external memory is slower than internal memory: wait state stalls processor Echo and Reverb R. C. Maher