A Frequency Domain Technique for Correction of Audio Distortion Caused by Variable Recording Speed: Authors Robert Hembree Henry Skiba Alex Smith Advisor.

Presentation on theme: "A Frequency Domain Technique for Correction of Audio Distortion Caused by Variable Recording Speed: Authors Robert Hembree Henry Skiba Alex Smith Advisor."— Presentation transcript:

A Frequency Domain Technique for Correction of Audio Distortion Caused by Variable Recording Speed: Authors Robert Hembree Henry Skiba Alex Smith Advisor Dr. Marcus Pendergrass

Introduction Recovery Algorithm Mathematical Model Performance Testing Conclusion Outline

Wow and Flutter Distortion –Audio distortion caused by variations in the speed at which data was recorded –Wow refers to low frequency variations in the recording speed –Flutter refers to high frequency variations in the recording speed We will use the term “wobble” to refer to either wow or flutter distortion Introduction

Signal to be recorded Input signal Position of record head at time t Position function for record head (record function) Data value recorded at position p The recording Recording Record Head Introduction

Because and the record function Ψ r is assumed invertible, we have or Recording Record Head Introduction

we have Combining this with our previous expression for r gives Position function for playback head (playback function) Position of playback head at time t Played-back signal Signal played back from the recording Because Introduction

proof Reciprocity Theorem for all s if and only if So a mismatch between Ψ r and Ψ pb causes distortion: Introduction

The wobble w(p) at position p in the recording is defined as the timing error at position p during the record process The timing error is the difference between the actual time that the record head was at position p, and the nominal time it would have been at position p had the record function been ideal (i.e. equal to playback function). = actual time during record process when the record head was at position p = nominal time the record head would have been at position p had the record function been ideal So w(p) is the timing error at position p Introduction

Knowing the wobble function w(p) would enable us to correct for distortion caused by a mismatch between Ψ r and Ψ pb. 0.8156 p Nominal time - incorrect Original recording Introduction

Knowing the wobble function w(p) would enable us to correct for distortion caused by a mismatch between Ψ r and Ψ pb. 0.8156 p actual time Original recording Introduction

Knowing the wobble function w(p) would enable us to correct for distortion caused by a mismatch between Ψ r and Ψ pb. Resample 0.8156 p Original recording actual time 0.7942 p Ready for Ψ pb Corrected recording Introduction

Basic Assumptions The playback function is ideal, constant velocity: The record function is unknown, but invertible. The record and playback functions are continuous and differentiable. The recording contains an isolated sinusoid of known frequency. This will be used as a reference by the recovery algorithm. Introduction

Wobble f f Wobble-Induced Distortion in the Frequency Domain

To correct wobble distortion, we need information about the wobble We might know something about the original signal that was recorded. –We will focus on the case when the recording contains a sine wave of known frequency Wobble Recovery Algorithm

We can use that information, along with the distorted recording, to deduce the wobble function. This wobble function can be used to resample the corrupt file in order to recover the original file Wobble Recovery Algorithm

Baseband Shift ff Correcting for Wobble in a Sinusoid

f Inverse FT Correcting for Wobble in a Sinusoid

Wobble ff Wobble-Induced Distortion in the Frequency Domain

f BandPass Filter f Wobble Recovery Algorithm

Shift Baseband Inverse Fourier Transform f 0 Wobble Recovery Algorithm

Complex ln t p w(p)+ ϑ Interpolate (timing error)  is a phase shift in the model, which only introduces a delay Wobble Recovery Algorithm

Modeling the Wobble In order to test our recovery algorithm, we need a variety of distorted recordings to work with. A model for the record function Ψ r was developed. Model encompasses a variety of distortion scenarios Weak to strong distortion Slowly-varying to quickly-varying distortion

Modeling the Wobble Begin by modeling the velocity function of the record head. Without loss of generality the average velocity is 1. User specifies standard deviation of the velocity fluctuations maximum frequency of the velocity fluctuations in time.

Modeling the Wobble Velocity is modeled as n(t) is a band-limited Gaussian noise process lognormal velocity process maximum frequency in n(t) is f max (user specified) a and b are chosen so that user specified

Simulated Wobble Example

How well does the Algorithm actually work? Henry Skiba Introduces White Gaussian noise to the recording at varying power Robert Hembree Steps a structured interferer through a sine wave Performance Testing

Developed wobble recovery algorithm -Uses a reference sinusoid to recover wobble, and then resample the recording Performance Tests were performed on the algorithm –Random Noise 10^-2 relative error at 10 dB SNR - Structured Interferer 10^-3 relative error at 10dB SNR Interpolation raises the noise floor Conclusion

Similar presentations