Abstract
This thesis presents the use of graphics processing units (GPUs) for implementing a parallelized comparison engine in a query-by-singing/humming (QBSH) system, which takes a user's singing or humming input and returns the most likely songs from a database of about 13,000 song tracks. To speed up the comparison, we employ a repeating pattern removal technique to retain only unique tunes in the database. This technique yields a 21% reduction in computing time. Moreover, two comparison methods are provided in the proposed scheme: compare-from-the-beginning and compare-from-anywhere. For the compare-from-anywhere scenario, we explore different parallel schemes in GPU for achieving the best efficiency without sacrificing the retrieval accuracy. With an optimal speedup factor of 17, we have successfully implemented an online and publicly available QBSH system.