问题
I have a large library of older music (1920s, 30s, 40s, etc), with a lot of duplicates, and I'd like to determine the duplicates and organize them with the same MP3 tag information. Since the music was recorded a while ago, while they may sound similar to a human ear, their recording might actually be a bit different (quieter, more static, etc).
I'm currently parsing some of the music using pydub
and am able to generate the wav file, remove the silence at the beginning and end of the songs, and compress the dynamic range of the music, but I'd like to be able to compare the wav files so that if they are similar enough, I can assume they are the same and give them the same tags.
Would it be possible to run the wav file data through something like scipy
and numpy
to compare/correlate the data with good accuracy, using something like a Fourier Transform/FFT? I know that it can be done with a system like dejavu but it's pretty intensive and uses a lot of storage in a database, and I have access to the raw files rather than using a microphone, so I'd prefer to do something that's simpler.
回答1:
You need audio hash or acoustic fingerprint. All of them are "intensive" (resource-hungry) as they have to unpack audio and extract data.
来源:https://stackoverflow.com/questions/44483441/is-it-possible-to-compare-two-similar-songs-given-their-wav-files