Claims
- 1. A method for automatically classifying tempo properties of audio data, comprising:
reducing input audio data to a lower resolution; applying an accentuation process to the input audio data to accentuate the tempo properties of the data and applying a smoothing process to smooth at least one of an aberration, bias and trend of the tempo properties of the input audio data; generating a plurality of bins of data that correspond to at least one tempo property of the input audio data; and generating a tempo property feature vector from said at least one tempo property
- 2. A method according to claim 1, wherein said reducing includes decimating the input audio data to a fixed sampling rate.
- 3. A method according to claim 2, wherein said reducing includes decimating the input audio data to approximately a 43 Hz sampling rate.
- 4. A method according to claim 1, wherein said applying of the smoothing process includes applying a median filter to smooth said at least one of an aberration, bias and trend of the tempo properties of the input audio data.
- 5. A method according to claim 1, wherein said applying of the accentuation process and smoothing process includes first performing of a first order difference calculation followed by performing a first half wave rectification.
- 6. A method according to claim 5, wherein said applying of the accentuation process and smoothing process includes subtracting a mean value of the audio data followed by performing a second half wave rectification.
- 7. A method according to claim 6, wherein said applying of the accentuation process and smoothing process includes second of performing a second first order difference calculation followed by performing a third half wave rectification to generate said at least one tempo property.
- 8. A method according to claim 1, wherein said generating a plurality of bins of data that correspond to at least one tempo property of the input audio data includes generating a plurality of bins reflective of the different correlation strengths at different time periods or frequencies.
- 9. A method according to claim 8, wherein said generating a plurality of bins of data that correspond to at least one tempo property of the input audio data includes generating 130 bins.
- 10. A method according to claim 1, wherein said generating a plurality of bins of data that correspond to at least one tempo property of the input audio data includes looping through the audio data and accumulating the base two logarithm of the product of pairs of points located at a fixed offset from each other.
- 11. A method according to claim 10, wherein said looping is performed 130 times for offsets spanning from 1 to 130 samples resulting in said bins of data.
- 12. A method-according to claim 10, wherein said tempo property feature vector includes said plurality of bins of data, and further comprising inputting said tempo property feature vector to a classification chain.
- 13. A method according to claim 1, further comprising applying the tempo property feature vector to a classification stage which determines at least one of (1) at least one tempo properties value and (2) at least one tempo properties class that describes the audio data.
- 14. A method according to claim 1, wherein the audio data is formatted according to pulse code modulated format.
- 15. A method according to claim 14, wherein the audio data is previously in a format other than pulse code modulated format, and the method further comprises converting the audio data to pulse code modulated format from the other format.
- 16. A computer readable medium bearing computer executable instructions for carrying out the method of claim 1.
- 17. A modulated data signal carrying computer executable instructions for performing the method of claim 1.
- 18. At least one computing device comprising means for performing the method of claim 1.
- 19. A method for determining tempo in an input piece of music, comprising:
creating a compact representation of the input piece of music; processing of the compact representation in a way that accentuates its tempo characteristics; generating bins of data from the processed compact representation, reflective of the different correlation strengths at different time periods or frequencies; and feeding the bins of data into a classification chain.
- 20. The method of claim 19, wherein the compact representation of the input piece of music is created by taking the square root of the sum of the squares of blocks of 1024 samples.
- 21. The method of claim 19, wherein the processing of the compact representation is done by first taking of a first order difference, a first half wave rectifying, applying median filter, subtracting a mean value, a second half wave rectifying, second taking of a first order difference, and a third half wave rectifying.
- 22. The method of claim 19, wherein 130 bins of data are generated, each bin being the correlation strength of the period defined by the bin number time {fraction (1/43)}.
- 23. The method of claim 19, wherein the classification chain is built upon an existing database classified by humans.
- 24. A method of classifying data according to tempo properties of the data, comprising:
assigning to each media entity of a plurality of media entities in a data set to at least one tempo properties class; processing each media entity of said data set to extract at least one tempo properties characteristic based on digital signal processing of each media entity; generating pluralities of tempo properties bins of data for said plurality of media entities, wherein each plurality of tempo properties bins includes said at least one tempo properties class and at least one tempo properties characteristic based on digital signal processing; and forming a classification chain based upon said pluralities of tempo properties bins of data.
- 25. A method according to claim 24, further comprising:
processing an unclassified media entity to extract at least one tempo properties characteristic based on digital signal processing of the unclassified media entity; presenting said at least one digital signal processing tempo properties characteristic for the unclassified media entity to the classification chain; calculating an estimate of the tempo properties class via a comparison process between said at least one digital signal processing tempo properties characteristic and the classification chain; and classifying the unclassified entry with the estimate of the tempo properties class.
- 26. A method according to claim 25, wherein said processing includes cycling through each of the points in the classification chain and generating a table of distance values and tempo values.
- 27. A method according to claim 26, wherein cycling through a point in the classification chain includes computing a plurality of distances, with each distance being computed between a dimension represented by the at least one digital signal processing tempo properties characteristic and a dimension represented by a point in the classification chain, and taking the square root of the result of summing the squares of the plurality of distances, to produce a distance for the point.
- 28. A method according to claim 27, wherein if said distance for the point is less than a threshold value, the distance for the point and the tempo value associated with the point is added to the table.
- 29. A method according to claim 26, wherein confidence values for the distance values in the table are calculated in proportion to the distance values, respectively.
- 30. A method according to claim 29, wherein a confidence value for a distance value is computed in exponential proportion to the distance value.
- 31. A method according to claim 29, wherein a tempo component and a harmonic component is computed for each of said tempo values in the table.
- 32. A method according to claim 31, wherein for each of said tempo values, the log base two of the tempo value divided by 10 is performed, and the integer portion of the result is the harmonic component and the fractional portion of the result is the tempo component.
- 33. A method according to claim 31, further including an averaging process wherein said tempo components are averaged to generate an intermediate estimated tempo class.
- 34. A method according to claim 33, wherein calculating the intermediate estimated tempo class includes mapping the tempo components to angular representations between 0 and 2π, calculating the sine and cosine of the angular representations and multiplying the sine values and cosine values by the corresponding confidence values, calculating the inverse tangent of the division of the sum of the multiplied sine values by the sum of the multiplied cosine values and mapping the resulting angle to a value between zero and one.
- 35. A method according to claim 33, further including generating a harmonic component estimate of the unclassified media entity based on the intermediate estimated tempo class.
- 36. A method according to claim 35, wherein said estimated tempo class of the unclassified media entity is calculated based on said harmonic component estimate and said intermediate estimated tempo class.
- 37. A method according to claim 25, wherein said classifying of the unclassified entry with the estimate of the tempo properties class includes returning at least one number indicating an overall confidence of the estimate of the tempo properties class.
- 38. A computer readable medium bearing computer executable instructions for carrying out the method of claim 24.
- 39. A modulated data signal carrying computer executable instructions for performing the method of claim 24.
- 40. At least one computing device comprising means for performing the method of claim 24.
- 41. A computing system, comprising:
a computing device including: a classification chain data structure stored thereon having a plurality of classification vectors, wherein each vector includes data representative of a tempo properties class as classified by humans and tempo characteristics as determined by digital signal processing; and processing means for comparing an unclassified media entity to the classification chain data structure to determine an estimate of the tempo properties class of the unclassified media entity.
- 42. A computing system according to claim 41, wherein said determining of an estimate of the tempo properties class includes returning at least one number indicating the level of confidence of the tempo properties class assignment.
- 43. A computing system according to claim 42, wherein the performance level of the classification chain improves over time due to the examination of unclassified media entities that have a low confidence level associated with the tempo properties class assignment.
- 44. A classification chain data structure utilized in connection with the classification of tempo properties of new unclassified media entities, comprising:
a plurality of classification vectors, wherein each vector includes:
tempo properties data as classified by humans; and tempo properties data determined by digital signal processing techniques.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application Ser. No. 60/218,289, filed Jul. 14, 2000. This application relates to U.S. Patent Appln. Nos. (Attorney Docket Nos. MSFT-577 through MSFT-582, and MSFT-584 through MSFT-587).
Provisional Applications (1)
|
Number |
Date |
Country |
|
60218289 |
Jul 2000 |
US |