more about our research

This page summarises active, ongoing research projects, which often extend beyond individual publications. If you are interested in using or developing code from any of the projects, please fill out the registration form below and I will grant you access. (This helps me write better funding proposals, as I can indicate how many and what type of people find the material useful.)


Designed by Ali Nikrang, Tom Collins, and Gerhard Widmer, the PatternViewer application plays an audio file of a piece synchronized to a point-set representation, where the colour of the points represents an estimate of the local key. The pendular graph in the top-left corner represents the piece’s repetitive structure, and can be clicked to find out about motifs, themes, and other repetitive elements. PatternViewer Version 1.0 is available now for download from here.


MCStylistic supports research in Music theory, music Cognition, and Stylistic composition. It contains an algorithm called Stravinsqi (STaff Representation Analysed VIa Natural language Query Input), which is a step towards the first easy-to-use, high-level music-theoretic search engine. It also contains algorithms for functional harmonic analysis (including basic neo-Riemannian operations), metric analysis, tonal analysis, pattern discovery, and the generation of stylistic compositions. MCStylistic is free, cross-platform, and written in Common Lisp.


PattDisc supports research into the discovery of repeated patterns within and across pieces of music. It contains an algorithm called SIARCT-CFP, which takes a symbolic representation of a piece as input, and returns collections of notes that are subject to exact/inexact repetition throughout the piece. Output note collections ought to correspond to what music theorists would identify as motifs, themes, or repetitive elements. PattDisc also contains algorithms for pattern matching, and estimating the perceived salience of a note collection within a piece. PattDisc is free and cross-platform, although unfortunately the language in which it is written, Matlab, is not free!

Janata Lab Music Toolbox (JLMT)

JLMT (developed and hosted by the Janata Lab at University of California, Davis) is a package of Matlab functions for transforming audio signals through various physiologically and pscyhologically plausible representations. I used the package to build a model of tonal expectancy that predicted response times for over three hundred audio stimuli from seven different tonal priming experiments:

JLMT continues to be developed, and has had major input from Stefan Tomic, Petr Janata, Fred Barrett, and Tom Collins.


Fields marked with * are required.

Registration type* , or
By submitting this form, you agree that your use of the above-mentioned projects will be within the terms of the GNU General Public Licence (copied below).

Form provided by Free Contact Form


The software components of the above research are free: you can redistribute and/or modify them under the terms of the GNU General Public Licence as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Permission is granted to copy, distribute and/or modify documentation available from my Supporting Material under the terms of the GNU Free Documentation Licence, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

Copies of the GNU Licences are bundled with any downloads, but details can also be found at