Song identification and synchronization
First Claim
1. A computer program being stored on a media readable by a general purpose computer, for configuring the computer upon being read and executed to perform functions comprising determining which of a plurality of music tracks on a user compact disk (CD) comprises digital data representing a selected song, the selected song also being represented by digital data on a reference-CD track on a reference CD, the user CD being inserted in a CD-ROM drive of the general purpose computer, the determining comprising:
- identifying a user-CD track on the user CD most likely to comprise data representing the selected song;
cross-correlating data representative of the user-CD track with data representative of the reference-CD track to produce cross-correlation data having values each being characteristic of a degree of correspondence between the user-CD track and the reference-CD track for an associated timing offset between the user-CD track and the reference-CD track;
determining a maximum value of the cross-correlation data; and
associating the user-CD track with the selected song if the maximum value exceeds a threshold value.
6 Assignments
0 Petitions
Accused Products
Abstract
A computer program for an interactive computer music game is stored on a medium that can be read by a general purpose computer. When read and executed, the program causes the computer to perform functions, including associating a music track on a user compact disc (CD) inserted in the computer'"'"'s CD-ROM drive with a selected song associated with a music track on a reference CD, and synchronizing music data stored by the computer to the music track on the user CD, where the music data has been derived from the music track on the reference CD associated with the selected song. The program generates user-CD data characteristic of the digital data on the user-CD track, and compares the user-CD data with reference-CD data characteristic of the digital data on the reference-CD track. Based upon the comparison, the computer generates a synchronization function characteristic of timing differences between the reference-CD track and the user-CD track, and adjusts the timing of the music data with the synchronization function. The comparison can include determining a correlation function between the sets of data.
181 Citations
44 Claims
-
1. A computer program being stored on a media readable by a general purpose computer, for configuring the computer upon being read and executed to perform functions comprising determining which of a plurality of music tracks on a user compact disk (CD) comprises digital data representing a selected song, the selected song also being represented by digital data on a reference-CD track on a reference CD, the user CD being inserted in a CD-ROM drive of the general purpose computer, the determining comprising:
-
identifying a user-CD track on the user CD most likely to comprise data representing the selected song; cross-correlating data representative of the user-CD track with data representative of the reference-CD track to produce cross-correlation data having values each being characteristic of a degree of correspondence between the user-CD track and the reference-CD track for an associated timing offset between the user-CD track and the reference-CD track; determining a maximum value of the cross-correlation data; and associating the user-CD track with the selected song if the maximum value exceeds a threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program being stored on media readable by a general purpose computer configured with a CD-ROM drive, for configuring the computer upon being read and executed to perform functions comprising:
synchronizing music data being stored on media readable by the computer with a user-CD track on a user-CD compact disk (CD) inserted in the CD-ROM drive, wherein the user-CD track comprises digital data representing a selected song, the selected song also being represented by digital data on a reference-CD track on a reference CD, the music data being representative of notes based upon the reference-CD track, the synchronizing including; generating user-CD data characteristic of the digital data on the user-CD track; comparing the user-CD data with reference-CD data characteristic of the digital data on the reference-CD track; based upon the comparison, generating a synchronization function which compensates for time warping, the synchronization function being characteristic of timing differences between the reference-CD track and the user-CD track; and adjusting the timing of the music data with the synchronization function. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
35. A computer program being stored on media readable by a general purpose computer configured with a CD-ROM drive, for configuring the computer upon being read and executed to perform functions comprising:
synchronizing music data being stored on media readable by the computer with a user-CD track on a user-CD compact disk (CD) inserted in the CD-ROM drive, wherein the user-CD track comprises digital data representing a selected song, the selected song also being represented by digital data on a reference-CD track on a reference CD, the music data being representative of notes based upon the reference-CD track, including; generating user-CD data characteristic of start-song times of music tracks on the user CD; comparing the user-CD data with reference-CD data characteristic of start-song times of music tracks on the reference-CD; based upon the comparison, generating a synchronization function characteristic of timing differences between the start-song times on the reference-CD and the user-CD track; and adjusting the timing of the music data with the synchronization function. - View Dependent Claims (36, 37, 38, 39)
-
40. A computer program being stored on media readable by a general purpose computer configured with a processor, a memory, a CD-ROM drive that produces an audio signal based on an audio track on a CD, and a sound card that digitizes the audio signal, the sound card including driver software to store the digitized audio signal in the memory and to deliver the stored digitized audio signal to the processor, the computer program for configuring the computer upon being read and executed to:
-
determine a digitizing delay indicative of an elapsed time for the sound card to deliver the stored signal in response to the audio signal; and storing the digitizing delay in the memory. - View Dependent Claims (41)
-
-
42. A method of synchronizing music data with signals input by a user in response to prompts associated with the music data, comprising:
-
determining a position of a peak in a distribution of timing differences between the signals input by the user and music data associated with the prompts; and shifting the timing of the music data if the peak position is nonzero. - View Dependent Claims (43, 44)
-
Specification