Overview

MATLAB code implementing the multiple-template shift-variant non-negative matrix deconvolution algorithm.

This code accompanies the paper:
H. Kirchhoff, S. Dixon, and A. Klapuri. Multi-Template Shift-Variant Non-Negative Matrix Deconvolution for Semi-automatic Music Transcription. 13th International Conference on Music Information Retrieval (ISMIR), Porto, October 2012.

The repository contains a MATLAB class 'svNMDMT' implementing the algorithm. An example script 'svNMDMT_example_script' illustrates the use of the class.

There are no prerequisites for the class other than a basic MATLAB installation. The example script, however, requires the constant-Q toolbox and the midi2nmat function from the MIDI toolbox.

It is recommended to use the provided MEX-files which considerably speed up the computations. If you do not run the code on an Intel-Mac, you need to compile them for your platform. You can do this by changing MATLAB's 'current directory' to the 'classes' directory and simply typing 'mex loopUpdateW.c' on the MATLAB command line (and likewise for 'loopUpdateH.c' and 'loopComputeL.c'). This will produce the MEX-binaries for your platform which should remain in the 'classes' directory.

Related publications

H. Kirchhoff, S. Dixon, and A. Klapuri, “Multi-Template Shift-Variant Non-Negative Matrix Deconvolution for Semi-Automatic Music Transcription,” in 13th International Conference on Music Information Retrieval (ISMIR), Porto, 2012.
[More Details] [BIBTEX]

Members

Manager: Holger Kirchhoff