Searching monophonic patterns within polyphonic sources
Kjell Lemström, Jorma Tarhio · 2000
The string matching problem for strings in which one should find the occurrences of a pattern string within a text, is well-studied in the past literature. The problem can be solved efficiently, e.g., by using so-called bit-parallel algorithms. We adapt the bit-parallel approach to music information retrieval. We consider a situation where the pattern is monophonic and the text (the musical source) is polyphonic, that is, the pattern is a sequence of symbols, while the source is a sequence of sets of symbols (i.e., chords). The application of the bit-parallel approach is straightforward, if the transposition invariance is not allowed in the matching. However, the problem becomes trickier with transposition invariance, a necessary property in practice. We present algorithms for both cases. Our main contribution is a linear-time transposition-invariant filtering-algorithm for static music databases. We show by experiments that, if the average size of the chords keeps reasonably low, our filtering method clearly outperforms a straightforward approach. 1