Abstract
A query-by-singing/humming (QBSH) system is a technique that takes the user’s humming sound as input to find the most matching song from the song database. This study intends to discuss how to improve the matching algorithm in a QBSH system using GPU parallel computing features more efficiency, and at the same time to improve the recognition rate. The current version of QBSH system discussed in this study adopts two types of matching algorithms: one method is called linear scaling (LS), and the other method is the more time-costly dynamic time warping (DTW). This study ports the DTW algorithms from the original CPU environment to the GPU environment and proposes a method to improve the algorithm so that the DTW computation can utilize the computing power of GPU effectively to achieve a higher level of parallel computing. By using the original tune as input, without using any key transposition, it would take 149 seconds for the CPU to search through the entire song database; on the other hand, DTW algorithm running on GPU only takes 0.4 to 0.8 second, rendering a computing time reduction ratio around 1/200 to 1/350. The test corpus was constructed by MIR laboratory, using the humming fragments recorded by students of the 2011 scientific computing class in National Tsing Hua University. A total of 818 8-to-10-seconds audio clips was collected. Experimental result shows that our QBSH system can achieve 69.9% top-10 recognition rate. Since the computation time for DTW is greatly reduced, more key transposition trials can be adopted to achieve a higher recognition rate while keeping the response time of the QBSH system within an acceptable limit, and thus the system can provide services to more users simultaneously.