19. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for identifying a cover song from a query song, the method comprising: generating a beat-synchronized chroma matrix of a plurality of chroma vectors each having a plurality of chroma bins for a portion of the query song; identifying landmarks in the beat-synchronized chroma matrix, wherein a first prominent pitch at a first time in the portion of the query song and a second prominent pitch in the portion of the query song each correspond to an identified landmark: calculating a query song jumpcode based on differences between successive pairs of the identified landmarks in a time window of a size less than the size of the portion of the song; identifying a plurality of reference song jumpcodes for a reference song, wherein each of the reference song jumpcodes is based at least in part on a change in prominent pitch between two times in a portion of the reference song; determining if the query song jumpcode matches any of the plurality of reference song jumpcodes; and upon determining that the query song jumpcode matches at least one of the plurality of reference song jumpcodes, generating an indication that the reference song is a cover song of the query song.
19. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for identifying a cover song from a query song, the method comprising: generating a beat-synchronized chroma matrix of a plurality of chroma vectors each having a plurality of chroma bins for a portion of the query song; identifying landmarks in the beat-synchronized chroma matrix, wherein a first prominent pitch at a first time in the portion of the query song and a second prominent pitch in the portion of the query song each correspond to an identified landmark: calculating a query song jumpcode based on differences between successive pairs of the identified landmarks in a time window of a size less than the size of the portion of the song; identifying a plurality of reference song jumpcodes for a reference song, wherein each of the reference song jumpcodes is based at least in part on a change in prominent pitch between two times in a portion of the reference song; determining if the query song jumpcode matches any of the plurality of reference song jumpcodes; and upon determining that the query song jumpcode matches at least one of the plurality of reference song jumpcodes, generating an indication that the reference song is a cover song of the query song. 25. The non-transitory computer-readable medium of claim 19 , wherein determining if the query song jumpcode matches any of the reference song jumpcodes further comprises: determining if a value of one of the plurality of reference song jumpcodes matches a value of the query song jumpcode; and upon determining that the value of a reference song jumpcode matches the value of the query song jumpcode, determining that the reference song jumpcode with the matching value matches the query song jumpcode if a weight of the reference song jumpcode is equal to a weight of the query song jumpcode within a predetermined margin, wherein the weight of a jumpcode is indicative of the number of times that jumpcode is found in the portion of the song from which jumpcodes have been identified.