PatternFinder: Content-Based Music Retrieval with music21. Garfinkle, D., Arthur, C., Schubert, P., Cumming, J., & Fujinaga, I. ACM International Conference Proceeding Series, 2017.
doi  abstract   bibtex   
Content-Based Music Retrieval (CBMR) for symbolic music aims to find all similar occurrences of a musical pattern within a larger database of symbolic music. To the best of our knowledge there does not currently exist a distributable CBMR software package integrated with a music analysis toolkit that facilitates extendability with new CBMR methods. This project presents a new MIR tool called "PatternFinder" satisfying these goals. PatternFinder is built with the computational musicology Python package music21, which provides a flexible platform capable of working with many music notation formats. To achieve polyphonic CBMR, we implement seven geometric algorithms developed at the University of Helsinki-four of which are being implemented and released publicly for the first time. The application of our MIR tool is then demonstrated through a musicological investigation of Renaissance imitation masses, which borrow melodic or contrapuntal material from a pre-existing musical work. In addition, we show Pattern-Finder's ability to find a contrapuntal pattern over a large dataset, Palestrina's 104 masses. Our investigations demonstrate the relevance of our tool for musicological research as well as its potential application for locating music within digital music libraries.
@Article{          garfinkle.ea2017-patternfinder,
    author       = {Garfinkle, David and Arthur, Claire and Schubert, Peter
                   and Cumming, Julie and Fujinaga, Ichiro},
    year         = {2017},
    title        = {PatternFinder: Content-Based Music Retrieval with
                   music21},
    abstract     = {Content-Based Music Retrieval (CBMR) for symbolic music
                   aims to find all similar occurrences of a musical pattern
                   within a larger database of symbolic music. To the best of
                   our knowledge there does not currently exist a
                   distributable CBMR software package integrated with a
                   music analysis toolkit that facilitates extendability with
                   new CBMR methods. This project presents a new MIR tool
                   called "PatternFinder" satisfying these goals.
                   PatternFinder is built with the computational musicology
                   Python package music21, which provides a flexible platform
                   capable of working with many music notation formats. To
                   achieve polyphonic CBMR, we implement seven geometric
                   algorithms developed at the University of Helsinki-four of
                   which are being implemented and released publicly for the
                   first time. The application of our MIR tool is then
                   demonstrated through a musicological investigation of
                   Renaissance imitation masses, which borrow melodic or
                   contrapuntal material from a pre-existing musical work. In
                   addition, we show Pattern-Finder's ability to find a
                   contrapuntal pattern over a large dataset, Palestrina's
                   104 masses. Our investigations demonstrate the relevance
                   of our tool for musicological research as well as its
                   potential application for locating music within digital
                   music libraries.},
    doi          = {10.1145/3144749.3144751},
    isbn         = {9781450353472},
    journal      = {ACM International Conference Proceeding Series},
    keywords     = {Content-based music retrieval,Imitation
                   masses,Music21,Point-set similarity,Polyphonic
                   search,Symbolic music
                   similarity,Time-scaled,Time-warped,Transpositioninvariant,music
                   information retrieval},
    mendeley-tags= {music information retrieval},
    number       = {October},
    pages        = {5--8}
}

Downloads: 0