Pattern Matching in Polyphonic Music







Here is a Java implementation of the musical pattern matching algorithm. You can use this applet to search for musical patterns inside J.S. Bach's Invention #1 for keyboard.


Select one of the pre-selected patterns on the left, or click on the boxes on the right to create your own musical pattern. The patterns are displayed in the horizontal line segment representation. See the definitions page for a description of this representation.

Once you have chosen your musical query pattern, please click on the search button below to see how the pattern matches inside the musical piece. A new window pops up for each query. In this window, the score for the Invention #1 is displayed in horizontal line segment format with orange boxes indicating the locations where the musical pattern matches very well with the piece.

To see how the algorithm finds the good matches, select the View menu and the "Show Pattern Sweep" item in that menu. This option will show you the match score for the pattern as it is translated in time and pitch over the musical score.

The Applet

~ ~ ~ ~ ~

Next Page: References

Eric Blais, © 2004