Apparatus and method for implementing a variable-speed audio data playback system
First Claim
1. A system for variable-speed playback of data, comprising:
- means for storing a source frame of said data into a memory device;
means for storing a destination frame of said data into said memory device;
means for performing a synchronized crossfade between said source frame and said destination frame.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for implementing a variable-speed audio data playback system comprises a processor that truncates audio data into frames and then performs a series of synchronized crossfades to discard excess audio data that is unneccessary during variable-speed playback. During the synchronized crossfade, the processor stores a source frame and a destination frame into memory. The processor then locates a maximum crosscorrelation point between the source frame and the destination frame and performs a synchronized crossfade that starts at the maximum crosscorrelation point to thereby produce high-quality reproduced sound to a system user during a variable-speed playback mode.
23 Citations
38 Claims
-
1. A system for variable-speed playback of data, comprising:
-
means for storing a source frame of said data into a memory device;
means for storing a destination frame of said data into said memory device;
means for performing a synchronized crossfade between said source frame and said destination frame.
-
-
2. A system for variable-speed playback of data, comprising:
-
a source frame of said data located in a memory device, wherein said memory device includes a first buffer and a second buffer;
a destination frame of said data located in said memory device;
a processor coupled to said memory device to optimally perform a synchronized crossfade between said source frame and said destination frames, wherein said processor loads a first frame and a second frame into said first buffer, said second frame being said source frame, and wherein said processor loads a third frame and a fourth frame into said second buffer, said third frame being said destination frame. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21)
-
-
13. The system of claim 12 wherein said processor analyzes said crosscorrelation values to determine a maximum crosscorrelation lag between said destination frame and said source frame.
-
14. The system of claim 13 wherein said maximum crosscorrelation lag is represented by an expression “
- L”
which may be defined by a formula;
- L”
-
15. The system of claim 13 wherein said processor performs said synchronized crossfade starting at said maximum crosscorrelation lag by decreasing a first amplitude of said source frame while simultaneously increasing a second amplitude of said destination frame.
-
16. The system of claim 15 wherein said processor repeatedly identifies new destination frames and new source frames, and then performs said synchronized crossfade upon said new destination frames and new source frames, while said variable-speed playback is active.
-
17. The system of claim 16 wherein said processor identifies a delayed starting point in said new source frames to begin said synchronized crossfade.
-
18. The system of claim 17 wherein said processor executes a software fader module to perform said synchronized crossfade.
-
21. The method of claim 7 wherein said processor is implemented as part of an audio compact-disc device.
-
19. A method for variable-speed playback of data, comprising the steps of:
-
storing a source frame of data into a memory device, wherein said memory device includes a first buffer and a second buffer;
storing a destination frame of said data into said memory device;
performing a synchronized crossfade between said source frame and said destination frame using a processor, wherein said processor loads a first frame and a second frame into said buffer, said second frame being said source frame, and wherein said processor loads a third frame and a fourth frame into said second buffer, said third frame being said destination frame. - View Dependent Claims (20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
30. The method of claim 29 wherein said processor analyzes said crosscorrelation values to determine a maximum crosscorrelation lag between said destination frame and said source frame.
-
31. The method of claim 30 wherein said maximum crosscorrelation lag is represented by an expression “
- L”
which may be defined by a formula;
- L”
-
32. The method of claim 30 wherein said processor performs said synchronized crossfade starting at said maximum crosscorrelation lag by decreasing a first amplitude of said source frame while simultaneously increasing a second amplitude of said destination frame.
-
33. The method of claim 19 wherein said processor repeatedly identifies new destination frames and new source frames, and then performs said synchronized crossfade while said variable-speed playback is active.
-
34. The method of claim 19 wherein said processor identifies a delayed starting point in said new source frames to begin said synchronized crossfade.
-
35. The method of claim 19 wherein said processor executes a software fader module to perform said synchronized crossfade.
-
36. The method of claim 19 wherein said processor outputs said source frame and said destination frame to a playback system following said synchronized crossfade.
-
37. The method of claim 19 wherein said processor is a post-processor that receives decoded data from a decoder device.
-
38. A processor-readable medium comprising program instructions for variable-speed playback of data, by performing the steps of:
-
storing a source frame of said data into a memory device, wherein said memory device includes a first buffer and a second buffer;
storing a destination frame of said data into said memory device;
performing a synchronized crossfade between said source frame and said destination frame using a processor, wherein said processor loads a first frame and a second frame into said buffer, said second frame being said source frame, and wherein said processor loads a third frame and a fourth frame into said second buffer, said third frame being said destination frame.
-
Specification