Apparatus and method for playing back audio at faster or slower rates without pitch distortion
First Claim
1. A computer implemented apparatus for modifying a playback rate of previously stored audio data without varying playback pitch of said audio data, said audio data composed of a plurality of discrete data points stored in said computer, said computer implemented apparatus comprising:
- buffer processing means for supplying audio data, said buffer processing means switching between a first buffer and a second buffer;
time stretching means for modifying said playback rate of said audio data said time stretching means coupled to said buffer processing means, said time stretching means comprising;
(a) means for reading a first segment of said audio data and for reading a second segment of said audio data, said first and second segments in sequence but not necessarily consecutive;
(b) means for increasing said playback rate of said audio data by extending said first and second segments by replicating and reincorporating portions of said first segment and said second segment; and
(c) means for decreasing said playback rate of said audio data by excluding predetermined segments of said audio data located between said first segment and said second segment;
means for reducing roll associated with a junction between said first segment and said second segment, said means for reducing roll comprising filtering means for fading out predetermined end data points of said first segment and for fading in predetermined start data points of said second portion, said filtering means coupled to said time stretching means, said filtering means comprising;
first filter means for applying a first filter to only said predetermined end data points of said first segment to fade out said predetermined end data points;
second filter means for applying a second filter to only said predetermined start data points of said second segment to fade in said predetermined start data points, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement and wherein said first filter and said second filter are equal at said junction; and
means for adding results generated from said first filter means and said second filter means to generate an output signal; and
limiting means for constraining said output signal of said filtering means to operate within a predetermined range of fade in and fade out values, said limiting means coupled to receive said output signal from said filtering means.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented apparatus and method for modifying the playback rate of a previously stored audio or voice data file stored within a computer system without altering the pitch of the audio data file as originally stored. The present invention also maintains a high level of sound quality during playback. The present invention includes a double buffering system in order to perform all of the desired calculations in real time. A time stretching technique is employed upon the audio data file to decrease or increase playback rate which creates audio segments requiring joining processing. Junctions are smoothed by employing a cross-fade amplitude envelope filter and a compressor/limiter is used to maintain filter range. The system may operate on a desktop computer allowing for advantageous playback and audio data management options of stored voice and or sound data.
251 Citations
46 Claims
-
1. A computer implemented apparatus for modifying a playback rate of previously stored audio data without varying playback pitch of said audio data, said audio data composed of a plurality of discrete data points stored in said computer, said computer implemented apparatus comprising:
-
buffer processing means for supplying audio data, said buffer processing means switching between a first buffer and a second buffer; time stretching means for modifying said playback rate of said audio data said time stretching means coupled to said buffer processing means, said time stretching means comprising; (a) means for reading a first segment of said audio data and for reading a second segment of said audio data, said first and second segments in sequence but not necessarily consecutive; (b) means for increasing said playback rate of said audio data by extending said first and second segments by replicating and reincorporating portions of said first segment and said second segment; and (c) means for decreasing said playback rate of said audio data by excluding predetermined segments of said audio data located between said first segment and said second segment; means for reducing roll associated with a junction between said first segment and said second segment, said means for reducing roll comprising filtering means for fading out predetermined end data points of said first segment and for fading in predetermined start data points of said second portion, said filtering means coupled to said time stretching means, said filtering means comprising; first filter means for applying a first filter to only said predetermined end data points of said first segment to fade out said predetermined end data points; second filter means for applying a second filter to only said predetermined start data points of said second segment to fade in said predetermined start data points, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement and wherein said first filter and said second filter are equal at said junction; and means for adding results generated from said first filter means and said second filter means to generate an output signal; and limiting means for constraining said output signal of said filtering means to operate within a predetermined range of fade in and fade out values, said limiting means coupled to receive said output signal from said filtering means. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer implemented apparatus for increasing or decreasing playback rate of a previously stored audio data file without increasing or decreasing playback pitch of said audio data file, said computer implemented apparatus comprising:
-
(a) first buffer means for storage of said audio data file; (b) time stretching means for selecting a first portion of a predetermined length of said audio data file from said first buffer means, said first portion having a start and an end point, said time stretching means also for selecting a second portion of a predetermined length of said audio data file from said first buffer means, said second portion having a start and an end point, said time stretching means comprising; (i) means for excluding intermediate data of said audio data file located between said end point of said first portion and said start point of said second portion, said means for excluding coupled to receive said first portion and said second portion; and (ii) means for increasing said first portion by replicating said end point of said first portion and also for increasing said second portion by replicating said end point of said second portion, said means for increasing coupled to receive said first portion and said second portion; (c) filter means for fading out said end point of said first portion and for fading in said start point of said second portion to reduce roll, said filter means coupled to receive output from said time stretching means, said filter means comprising; first filter means for applying a first filter to only said end point of said first portion to fade out said predetermined end point; second filter means for applying a second filter to only said start point of said second portion to fade in said start point, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement; and means for adding results generated from said first filter means and said second filter means to generate an output signal; and (d) audio processing means coupled to said filter means for outputting a continuous audible signal based on said output signal. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer implemented apparatus for modifying a playback rate of a stored audio data file while maintaining original pitch of said stored audio data file and while also maintaining a high sound quality of said stored audio data file, said computer implemented apparatus comprising:
-
(a) selection means for selecting and storing a particular stored audio data file for output; (b) processing means for processing successive segments of said stored audio data file, said processing means coupled to said selection means, said processing means comprising; (i) time stretching means for selecting a first segment of said stored audio data file, said first segment of a predetermined length, said time stretching means also for selecting a second segment of said stored audio data file of predetermined length, said second segment following said first segment in sequence but not necessarily successive, said time stretching means for excluding a portion of said stored audio data file residing between said first segment and said second segment; (ii) filter means for reducing roll by fading out end points of said first segment and fading in start points of said second segment in order to provide a smooth junction between said first and said second segments, said filter means coupled to said time stretching means, said filter means comprising; first filter means for applying a first filter to only said end points of said first segment to fade out said end points; second filter means for applying a second filter to only said start points of said second segment to fade in said start points, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement wherein said first filter and said second filter have equal power at said junction; and means for adding results generated from said first filter means and said second filter means to generate an output signal; and (c) buffering means for holding a first buffer containing said second segment which is being processed by said processing means and for holding a second buffer containing said first segment which has already been processed by said processing means, said buffering means coupled to receive said output signal of said processing means. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer implemented method for increasing or decreasing playback rate of a previously stored audio data file in a first buffer without increasing or decreasing playback pitch of said audio data file, said method comprising the computer implemented steps of:
-
(a) selecting a first portion of a predetermined length of said audio data file from said first buffer, said first portion having a start point and an end point, (b) selecting a second portion of a predetermined length of said audio data file from said first buffer, said second portion having a start point and an end point; (c) modifying said playback rate of said audio data file by either; (i) excluding intermediate data of said audio data file located between said end point of said first portion and said start point of said second portion;
or(ii) expanding said first portion by replicating said end point of said first portion and expanding said second portion by replicating said end point of said second portion; (d) smoothing a junction between said first portion and said second portion to reduce roll by filtering said first portion and said second portion by fading out said end point of said first portion and fading in said start point of said second portion, said step of filtering receiving audio data output from said step of modifying, said step of filtering further comprising the steps of; applying a first filter to only said end point of said first portion to fade out said end point; applying a second filter to only said start point of said second portion to fade in said start point, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement and wherein said first filter and said second filter are equal in value at said junction; and adding results generated from said step of applying a first filter and said step of applying a second filter to generate an output signal; and (e) outputting a continuous audible signal based on said output signal by first processing said first portion and then consecutively processing said second portion. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A computer implemented apparatus for modifying a playback rate of audio data without varying playback pitch of said audio data, said audio data composed of a plurality of discrete data points, said computer implemented apparatus comprising:
-
buffer processing logic supplying audio data, said buffer processing logic switching between a first buffer and a second buffer; time stretching logic modifying said playback rate of said audio data received from said buffer processing logic, said time stretching logic coupled to said buffer processing logic, said time stretching logic comprising; (a) read logic reading a first segment of said audio data and for reading a second segment of said audio data, said first and second segments in sequence but not necessarily consecutive; (b) increasing logic increasing said playback rate of said audio data by extending said first and second segments by replicating and reincorporating portions of said first segment and said second segment, said increasing logic coupled to said read logic; and (c) decreasing logic decreasing said playback rate of said audio data by excluding predetermined segments of said audio data located between said first segment and said second segment, said decreasing logic coupled to said read logic; filtering logic fading out only end data points of said first segment and fading in only start data points of said second segment to smooth a junction between said first segment and said second segment, said filtering logic coupled to said time stretching logic, said filtering logic comprising; first filter logic for applying a first filter to only said end data points of said first segment to fade out said end data points; second filter logic for applying a second filter to only said start data points of said second segment to fade in said start data points, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement and wherein said first filter and said second filter are equal at said junction; and logic for adding results generated from said first filter logic and said second filter logic to generate an output signal; and limiting logic constraining said output signal from said filtering logic so that said fading out and said fading in operate within a predetermined range of fade in and fade out values, said limiting logic coupled to receive said output signal of said filtering logic. - View Dependent Claims (43)
-
-
44. A computer implemented apparatus for modifying a playback rate of audio data without varying playback pitch of said audio data, said audio data composed of a plurality of discrete data points, said computer implemented apparatus comprising:
-
buffer processing logic supplying audio data, said buffer processing logic switching between a first buffer and a second buffer; time stretching logic modifying said playback rate of said audio data received from said buffer processing logic, said time stretching logic coupled to said buffer processing logic, said time stretching logic comprising; (a) read logic reading a first segment of said audio data and for reading a second segment of said audio data, said first and second segments in sequence but not necessarily consecutive; (b) increasing logic increasing said playback rate of said audio data by extending said first and second segments by replicating and reincorporating portions of said first segment and said second segment, said increasing logic coupled to said read logic; and (c) decreasing logic decreasing said playback rate of said audio data by excluding predetermined segments of said audio data located between said first segment and said second segment, said decreasing logic coupled to said read logic; filtering logic fading out only predetermined data points of said first segment and fading in only predetermined data points of said second portion to smooth a junction between said first segment and said second segment, said filtering logic coupled to said time stretching logic, said filtering logic comprising; first filter logic applying a first filter to only predetermined end data points of said first segment to fade out said predetermined end data points; second filter logic applying a second filter to only predetermined start data points of said second segment to fade in said predetermined start data points, wherein said first filter and said second filter comprise an equal power cross fade filter arrangement and wherein said first filter and said second filter are equal in value at said junction; and logic for adding results generated from said first filter logic and said second filter logic to generate an output signal; and limiting logic constraining said output signal from said filtering logic so that said fading out and said fading in operates within a predetermined range of fade in and fade out values, said limiting logic coupled to said filtering logic. - View Dependent Claims (45, 46)
-
Specification