Patent ID: 6687664
Filing Date: 2004-02-03
Classification: G10L

Abstract:
An audio scrubber system for processing a media file comprising:a graphical user interface displaying a representation of the media file and a control icon for selecting a portion of the media file; a user input device for allowing the user to manipulate the control icon to selectively indicate playback of the media file in a forward direction and in a reverse direction; and an audio processing system, responsive to manipulation of the control icon, for implementing a phase-vocoder to playback a portion of an audio stream contained in the media file in real-time, the audio processing system comprising: a clock extraction circuit operable to receive a clock signal produced in response to manipulation of the control icon and to generate a current analysis time specifying the audio stream synchronized to the clock signal, the clock signal indicating playback of audio stream in the forward direction or in the reverse direction; an audio store, coupled to the clock extraction circuit, for storing the audio stream in digital format and for providing a current block of the audio stream specified by the current analysis time; a processor, coupled to the audio store to receive the current block, the processor operable to: perform an FFT on the current block to generate a set of frequency bins; perform an inverse FFT on the frequency bins to generate a current output block of an audio output stream; set an input phase vocoder input hop size equal to the difference between the current analysis time and an immediately previous analysis time divided by a sampling rate; adjust a phase of the current output block relative to a previous output block based on the input hop size; and overlap the current output block with a previous output block separated by a fixed output hop size; and an audio output unit that contains a Digital to Analog Converter (DAC) and a DAC sample clock for providing a constant DAC clock rate, the audio output unit being coupled to the processor to receive the current output block and to render the current output block at the DAC clock rate.