Abstract
The goal of this research is to implement an audio fingerprinting system that works on a large-scale song database of 750 thousand songs and performs parallel computing with a GPU (graphical processing unit). Audio fingerprinting is a fast and robust musical retrieval method that allows a user to retrieve an intended song and its related information by recording a snippet of the song, even under a noisy environment. In order to handle the algorithm’s limitation on maximum song length and the number of songs, we improve the landmark extraction step during AFP computation. If the length of a song exceeds the maximum time limit and causes discontinuity in start time of landmarks, we copy the landmarks which are close to the maximum time and then shift the landmarks to avoid the discontinuity; these shifted landmarks are added to the database. This method is able to maintain the number of landmarks under different maximum time settings and thus ensures a satisfactory performance under a large-scale database. In addition, we split the database into several subsets and improve the data loading method so that the system is able to work with a large-scale database in the limited memory. In our method, the CPU and GPU memory requirement are drastically decreased by 99.84% and 80% respectively. Thus the system is no longer limited by the capacity of the available memory and can now work in any personal computer. At last, our system is slower than baseline system due to the frequent reading from the database. To speed up the reading process, we use an SSD (Solid-state Drive), which allows a 6 times faster reading speed than HDD (Hard Disk Drive), as the storage device to accelerate the process.