The PERIODICITY TOOLBOX for MATLAB (and Mathematica)

The Periodicity Toolbox contains MATLAB .m files that implement the periodicity algorithms described in Periodicity Transforms along with a number of demonstrations to get you started. A Mathematica notebook implementing the same routines can be downloaded here (you may need to right click and select "save link as").

Four Demos

(1) PTdemos2l gives a simple introduction to the "small to large" algorithm. This is a good place to start.

(2) PTdemomb demos the "M-best" algorithm. Often returns the best results.

(3) PTdemobc shows the "best-correlation" algorithm. Especially good for impulsive data.

(4) PTdemobf demos the "best-frequency" algorithm. By misbehaving, this algorithm shows how important the difference between period and frequency can be.

After downloading, unzip the files and a folder called periodicity will be created. If you put this in your MATLAB path, then you will be able to type

>help periodicity

at the MATLAB prompt for a list of all the functions and .m files. Just type


to view the demo of the "small to large" algorithm. For detailed information about the function type

>help small2large

Please let me know if you find these implementations useful.


For more details, see our papers:

W. A. Sethares and T. W. Staley, "Periodicity Transforms", IEEE Transactions on Signal Processing, Nov 1999.

A companion paper explores the application of Periodicity Transforms to the automatic detection of rhythm in musical performance.

To get to my homepage, click here.