Home » Software



Tony is a program for computer-aided melody annotation. It is aimed at scientists and other people who want to investigate intonation, timing and other things in singing, but are fed up with having to spend most of their research time annotating audio. Tony makes that process quicker. It has a graphical interface based on the SV libraries and uses the pYIN Vamp plugin to extract pitch track and notes from monophonic audio. All information on Tony can be accessed on its dedicated web page here.


pYIN is a modification of the well-loved YIN algorithm for fundamental frequency (F0) estimation in monophonic audio. Source code and binaries are available at SoundSoftware.

pYIN provides implementations of pYIN as well as the original YIN method as part of the pYIN Vamp plugin. The plugin is written in C++ and can be used by any Vamp host such as Sonic Visualiser and Sonic Annotator. The melody annotation program Tony uses the pYIN plugin.


My method for structural segmentation of popular music was first introduced in a paper on chord recognition, though I actually describe it a little bit better in my thesis.

Now we’ve released a C++ version as an open source Vamp plugin here (SoundSoftware).
As I emphasise on the SoundSoftware page, the method is not suitable for any music… you need a song structure in which songs parts are characterised by some sort of harmonic progression, and the system assumes that the music features beats as well.

Audio Degradation Toolbox

The Audio Degradation Toolbox (ADT) is a collaboration with Sebastian Ewert at Queen Mary. The ADT consists of Matlab code for the controlled degradation of audio signals, and for the adaptation of ground-truth to the degraded audio. Main purpose is to test the robustness of audio analysis methods against certain classes of degradations of the audio quality.

The toolbox is GPL-licensed. Code and more information is available here (via SoundSoftware.ac.uk).


Yin is a surprisingly simple little pitch tracking algorithm, which—despite its age—is still being used successfully for monophonic recordings today. My work here is a relatively minor change to Joren Six’s Yin implementation which I contributed to Joren Six’s TarsosDSP code: the FastYin algorithm uses the FFT to calculate the Yin difference function. Unlike the aubio implementation, this produces exactly the same result as the original algorithm — but is considerably faster.

Structural Change

As a supplement to my ISMIR paper, the Structural Change code is now available in a Last.fm github repository. Thanks to Last.fm for letting me do this.

Structural Change is a meta feature that can be applied on top of an existing (audio) feature. In the paper I used it with chroma (harmony), timbre and rhythm, and visualised the results as Audio Flowers. But I hope people will also use it for general music retrieval tasks, or actually to measure the “complexity” of time series.


Free download from Vamp plugins website or isophonics.org.

If you’d like to understand chords and harmony better, then this NNLS Chroma library may be just what you want.

It’s an open source Vamp plugin library for harmony and chord extraction with some features aimed at amateur musicians, and some at music information retrieval researchers.

It contains the Chordino, NNLS Chroma and Tuning plugins described below. Their main features are:

  • Chordino: a simple, no frills chord transcription method based on NNLS Chroma features,
  • NNLS Chroma: high-quality chroma features for harmony visualisation or further processing,
  • Tuning: an estimate of the ‘concert pitch’ tuning.

A video of the installation on a Mac is available here.

More information and FREE DOWNLOAD (yes) at isophonics.net.


Developed at AIST, Song Prompter is a software system that acts as a performance guide by showing horizontally scrolling lyrics, chords, beats marks and bar marks in a graphical user interface, together with an audio accompaniment consisting of bass and MIDI drums. A song outline displays the song structure, including names and positions of sections for easy overview and navigation. Song Prompter enables users to sing and play live along the timeline of an original song, without having to memorize lyrics and chords or turning pages. Chord labels, and bass and audio playback can be transposed to a different key, and the playback speed can be changed.

Unlike existing score following systems, karaoke systems, or musical computer games such as Rock Star and Guitar Hero, Song Prompter requires no musical score input, and chords and lyrics need not be manually aligned with the audio. Instead, we use an automatic lyrics-to-audio alignment method, which I developed together with Hiromasa Fujihara and Masataka Goto. It requires only the original audio recording of a song and a text file with lyrics and chords in a format similar to that often found on the internet. The drum and bass accompaniment is also extracted automatically from the original audio recording. Therefore, the music selection is not limited by commercially available transcriptions.

Unfortunately, Song Prompter is not yet available for download or purchase.


This little Python script is available from a repository on SoundSoftware. It can be useful if you want to convert comma-separated files to HTK format. HTK is the HMM Toolkit often used for speech recognition research and related stuff.