Mercurial > hg > mirex2013
changeset 58:254229761896
Updates for 2014, and new abstracts
author | Chris Cannam |
---|---|
date | Thu, 04 Sep 2014 15:42:08 +0100 |
parents | e4d2a92fbcf4 |
children | 63213c3d2889 |
files | .hgignore audio_beat_tracking/beatroot-vamp/README.txt audio_beat_tracking/qm-tempotracker/README.txt audio_chord_estimation/chordino/README.txt audio_key_detection/qm-keydetector/README.txt audio_onset_detection/onsetsds/README.txt audio_onset_detection/qm-onsetdetector/README.txt multiple_f0_estimation/silvet/README.txt vamp-plugins_abstract/Makefile vamp-plugins_abstract/qmvamp-mirex2014.bib vamp-plugins_abstract/qmvamp-mirex2014.tex |
diffstat | 11 files changed, 447 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Thu Sep 04 13:59:00 2014 +0100 +++ b/.hgignore Thu Sep 04 15:42:08 2014 +0100 @@ -2,3 +2,8 @@ *~ *.out *.csv +*.log +*.pdf +*.aux +*.bbl +*.blg
--- a/audio_beat_tracking/beatroot-vamp/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_beat_tracking/beatroot-vamp/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,5 +1,5 @@ # -# MIREX 2013 submission +# MIREX 2014 submission # # Audio Beat Tracking # BeatRoot Vamp plugin by Simon Dixon and Chris Cannam @@ -14,6 +14,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/audio_beat_tracking/qm-tempotracker/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_beat_tracking/qm-tempotracker/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,8 +1,8 @@ # -# MIREX 2013 submission +# MIREX 2014 submission # # Audio Beat Tracking -# Prepared by Luis Figueira, luis.figueira@eecs.qmul.ac.uk +# Chris Cannam, chris.cannam@eecs.qmul.ac.uk # Architecture @@ -13,6 +13,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/audio_chord_estimation/chordino/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_chord_estimation/chordino/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,4 +1,5 @@ -# MIREX 2013 submission +# +# MIREX 2014 submission # # Audio Chord Estimation # Chris Cannam, chris.cannam@eecs.qmul.ac.uk @@ -12,6 +13,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run @@ -22,6 +25,3 @@ We do not use a training stage, so the second argument will be simply ignored. - - -
--- a/audio_key_detection/qm-keydetector/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_key_detection/qm-keydetector/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,4 +1,5 @@ -# MIREX 2013 submission +# +# MIREX 2014 submission # # QM Key Detector # Plugin by Katy Noland and Christian Landone. @@ -13,6 +14,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/audio_onset_detection/onsetsds/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_onset_detection/onsetsds/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,9 +1,9 @@ # -# MIREX 2013 submission +# MIREX 2014 submission # # Audio Onset Detection # Vamp plugin version of OnsetsDS by Dan Stowell -# Prepared by Chris Cannam, chris.cannam@eecs.qmul.ac.uk +# Chris Cannam, chris.cannam@eecs.qmul.ac.uk # Architecture @@ -14,6 +14,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/audio_onset_detection/qm-onsetdetector/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/audio_onset_detection/qm-onsetdetector/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -1,5 +1,5 @@ # -# MIREX 2013 submission +# MIREX 2014 submission # # Audio Onset Detection # Prepared by Chris Cannam, chris.cannam@eecs.qmul.ac.uk @@ -13,6 +13,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/multiple_f0_estimation/silvet/README.txt Thu Sep 04 13:59:00 2014 +0100 +++ b/multiple_f0_estimation/silvet/README.txt Thu Sep 04 15:42:08 2014 +0100 @@ -3,15 +3,15 @@ # Multiple Fundamental Frequency Estimation & Tracking # Chris Cannam, chris.cannam@eecs.qmul.ac.uk -This submission uses the Silvet note estimation Vamp plugin running -in Sonic Annotator. + This submission uses the Silvet note estimation Vamp plugin running + in Sonic Annotator. -The plugin only produces note-tracked outputs, so there is no -frame-by-frame estimation included with this submission. + The plugin only produces note-tracked outputs, so there is no + frame-by-frame estimation included with this submission. -Two scripts are provided: doNoteTracking.sh runs the plugin in -"unknown instrument" mode (the default for this plugin), while -doNoteTracking-piano.sh runs it in "piano" mode. + Two scripts are provided: doNoteTracking.sh runs the plugin in + "unknown instrument" mode (the default for this plugin), while + doNoteTracking-piano.sh runs it in "piano" mode. # Architecture @@ -22,6 +22,8 @@ - Sonic Annotator v1.0 http://code.soundsoftware.ac.uk/projects/sonic-annotator/files +- GNU libc 2.15 or newer, GNU libstdc++ 3.4.15 or newer + - Typical Unix/GNU shell commands # How to run
--- a/vamp-plugins_abstract/Makefile Thu Sep 04 13:59:00 2014 +0100 +++ b/vamp-plugins_abstract/Makefile Thu Sep 04 15:42:08 2014 +0100 @@ -1,7 +1,11 @@ -all: qmvamp-mirex2013.pdf +all: qmvamp-mirex2013.pdf qmvamp-mirex2014.pdf qmvamp-mirex2013.pdf: qmvamp-mirex2013.tex qmvamp-mirex2013.bib ( echo q | xelatex qmvamp-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex qmvamp-mirex2013 && xelatex qmvamp-mirex2013 +qmvamp-mirex2014.pdf: qmvamp-mirex2014.tex qmvamp-mirex2014.bib + ( echo q | xelatex qmvamp-mirex2014 ) && bibtex qmvamp-mirex2014 && xelatex qmvamp-mirex2014 && xelatex qmvamp-mirex2014 + clean: rm -f qmvamp-mirex2013.bbl qmvamp-mirex2013.aux qmvamp-mirex2013.blg qmvamp-mirex2013.log + rm -f qmvamp-mirex2014.bbl qmvamp-mirex2014.aux qmvamp-mirex2014.blg qmvamp-mirex2014.log
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vamp-plugins_abstract/qmvamp-mirex2014.bib Thu Sep 04 15:42:08 2014 +0100 @@ -0,0 +1,150 @@ + @article{matthew2007a, + author = {Matthew E. P. Davies and Mark D. Plumbley}, + title = {Context-Dependent Beat Tracking of Musical Audio}, + journal = {IEEE Transactions on Audio, Speech and Language Processing}, + number = {3}, + pages = {1009-1020}, + volume = {15}, + year = {2007} +} + +@article{ellis2007, + author = {D. P. W. Ellis}, + title = {Beat Tracking by Dynamic Programming}, + journal = {Journal of New Music Research}, + volume = {37}, + number = {1}, + pages = {51-60}, + year = {2007} +} + +@inproceedings{dan2007a, + author = {Dan Stowell and Mark D. Plumbley}, + title = {Adaptive whitening for improved real-time audio onset detection}, + booktitle = {Proceedings of the International Computer Music Conference (ICMC'07)}, + year = {2007} +} + +@inproceedings{chris2003a, + author = {Chris Duxbury and Juan Pablo Bello and Mike Davies and Mark Sandler}, + title = {Complex Domain Onset Detection for Musical Signals}, + booktitle = {Proceedings of the 6th Int. Conference on Digital Audio Effects (DAFx-03) }, + year = {2003} +} + +@inproceedings{dan2005a, + author = {Dan Barry and Derry Fitzgerald and Eugene Coyle and Bob Lawlor}, + title = {Drum Source Separation using Percussive Feature Detection and Spectral Modulation}, + booktitle = {ISSC 2005}, + year = {2005} +} + + @article{mark2008a, + author = {Mark Levy and Mark Sandler}, + title = {Structural Segmentation of Musical Audio by Constrained Clustering}, + journal = {IEEE Transactions on Audio, Speech, and Language Processing}, + month = {February}, + number = {2}, + pages = {318-326}, + volume = {16}, + year = {2008} +} + +@conference{noland2007signal, + title={Signal Processing Parameters for Tonality Estimation}, + author={Noland, Katy and Sandler, Mark}, + booktitle={Audio Engineering Society Convention 122}, + month={May}, + year={2007} +} + + @inproceedings{sonicvisualise2010, + author = {Chris Cannam and Christian Landone and Mark Sandler}, + title = {Sonic Visualiser: An Open Source Application for Viewing, Analysing, and Annotating Music Audio Files}, + booktitle = {Proceedings of the ACM Multimedia 2010 International Conference}, + year = {2010} +} + +@BOOK{krumhansl1990, + AUTHOR = {C. L. Krumhansl}, + TITLE = {Cognitive Foundations of Musical Pitch}, + PUBLISHER = {Oxford University Press}, + YEAR = {1990} +} + +@article {gomez2006, + title = {Tonal description of polyphonic audio for music content processing}, + journal = {{INFORMS} Journal on Computing, Special Cluster on Computation in Music}, + volume = {18}, + year = {2006}, + author = {Emilia G{\'o}mez} +} + +@incollection{mauch:md1:2010, + Author = {Matthias Mauch and Simon Dixon}, + Title = {{MIREX} 2010: Chord Detection Using a Dynamic Bayesian Network}, + booktitle = {Music Information Retrieval Evaluation Exchange (MIREX)}, + Year = {2010} +} + + @inproceedings{matthias2010a, + author = {Matthias Mauch and Simon Dixon}, + title = {Approximate Note Transcription for the Improved Identification of Difficult Chords}, + booktitle = {Proceedings of the 11th International Society for Music Information Retrieval Conference (ISMIR 2010)}, + year = {2010} +} + + @inproceedings{matthias2009a, + author = {Matthias Mauch and Katy C. Noland and Dixon, Simon}, + title = {Using Musical Structure to Enhance Automatic Chord Transcription}, + booktitle = {Proceedings of the 10th International Conference on Music Information Retrieval (ISMIR 2009)}, + pages = {231-236}, + year = {2009} +} + + @phdthesis{matthiasphd, + author = {Matthias Mauch}, + title = {Automatic Chord Transcription from Audio Using Computational Models of Musical Context}, + school = {Queen Mary, University of London}, + year = {2010} +} + +@misc{chris2012a, + author = {Chris Cannam}, + title = {Unit testing: An audio research example}, + howpublished = {Handout}, + note = {One of the single-page handouts made available at DAFx and ISMIR 2012 tutorials. See http://www.soundsoftware.ac.uk/handouts-guides for more information.}, + year = {2012} +} + + @inproceedings{simon2006a, + author = {Simon Dixon}, + title = {{MIREX} 2006 Audio Beat Tracking Evaluation: BeatRoot}, + booktitle = {Music Information Retrieval Evaluation Exchange (MIREX)}, + year = {2006} +} + + @inproceedings{simon2001a, + author = {Simon Dixon}, + title = {An Interactive Beat Tracking and Visualisation System}, + booktitle = {Proceedings of the 2001 International Computer Music Conference (ICMC'2001)}, + year = {2001} +} + + @article{emmanouil2012a, + author = {Emmanouil Benetos and Dixon, Simon}, + title = {A Shift-Invariant Latent Variable Model for Automatic Music Transcription}, + journal = {Computer Music Journal}, + number = {4}, + pages = {81-94}, + volume = {36}, + year = {2012} +} + + @inproceedings{emmanouil2012b, + author = {Emmanouil Benetos and Simon Dixon}, + title = {Multiple-{F0} Estimation and Note Tracking for {MIREX} 2012 using a Shift-Invariant Latent Variable Model}, + booktitle = {Music Information Retrieval Evaluation Exchange (MIREX)}, + year = {2012} +} +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vamp-plugins_abstract/qmvamp-mirex2014.tex Thu Sep 04 15:42:08 2014 +0100 @@ -0,0 +1,256 @@ +% ----------------------------------------------- +% Template for MIREX 2010 +% (based on ISMIR 2010 template) +% ----------------------------------------------- + +\documentclass{article} +\usepackage{mirex2010,amsmath,cite} +\usepackage{graphicx} + +% Title. +% ------ +\title{MIREX 2014:\\Vamp Plugins from the Centre for Digital Music} + +% Single address +% To use with only one author or several with the same address +% --------------- +\oneauthor +{Chris Cannam, Emmanouil Benetos, Matthias Mauch, Matthew E. P. Davies,} +{Simon Dixon, Christian Landone, Katy Noland, and Dan Stowell} +{Queen Mary, University of London \\ {\em chris.cannam@eecs.qmul.ac.uk}} + +\begin{document} +% +\maketitle +% +\begin{abstract} + +In this submission we offer for evaluation several audio feature +extraction plugins in Vamp format. + +Some of these plugins represent efficient implementations based on +modern work, while others are no longer state-of-the-art and were +developed a few years ago. The methods implemented in this set of +plugins are described in the literature and are referenced throughout +this paper. All of the plugins have been published and are available +under an open source licence. + +A number of these plugins were also submitted to the 2013 edition of +MIREX: those are unchanged here and may offer a useful baseline for +comparison between years. One plugin, that submitted for the Multiple +Fundamental Frequency Estimation and Tracking task, is new this +year. Three plugins submitted last year have been omitted from this +year's submission. + +\end{abstract} +% +\section{Introduction}\label{sec:introduction} + +The Vamp plugin format\footnote{http://vamp-plugins.org/} was +developed at the Centre for Digital Music (C4DM) at Queen Mary, +University of London, during 2005-2006 in response to a desire to +publish work in a form that would be immediately useful to people +outside this research field. The Vamp plugin format was published with +an open source SDK, alongside the Sonic +Visualiser~\cite{sonicvisualise2010} audio analysis application which +provided a useful host for Vamp plugins. + +In subsequent years the Vamp format has become a moderately popular +means of distributing methods from the Centre and other research +groups. Some dozens of Vamp plugins are now available from groups such +as the Music Technology Group at UPF in Barcelona, the Sound and Music +Computing group at INESC in Porto, the BBC, and others, as well as +from the Centre for Digital Music. + +The plugins submitted for this evaluation are provided as a set of +dynamic library files. Those with names starting ``QM'' are all +provided in a single library file, the QM Vamp Plugins set, made +available in binary form for Windows, OS/X, and Linux from the Centre +for Digital Music's download +page.\footnote{http://vamp-plugins.org/plugin-doc/qm-vamp-plugins.html} These +plugins come from a number of authors who are credited in this +abstract and in the plugins' accompanying documentation. + +In addition to the QM Vamp Plugins set, this submission contains a +number of separate plugins: the Chordino plugin from Matthias Mauch; +the BeatRoot Vamp Plugin from Simon Dixon; OnsetsDS from Dan Stowell; +and the Silvet note transcription plugin from Emmanouil Benetos and +Chris Cannam. + +The plugins are all provided as 64-bit Linux shared objects depending +on GNU libc 2.15 or newer and GNU libstdc++ 3.4.15 or newer. Sonic +Annotator v1.0 is also +required\footnote{http://code.soundsoftware.ac.uk/projects/sonic-annotator/} +in order to run the task scripts. + +For an overview of this submission across all of the tasks and plugins +it covers, please see the relevant repository at the SoundSoftware +site.\footnote{http://code.soundsoftware.ac.uk/projects/mirex2013/} + +\section{Submissions by MIREX Task} + +\subsection{Audio Beat Tracking} + +\subsubsection{QM Tempo and Beat Tracker} +\label{tempo_and_beat_tracker} + +The QM Tempo and Beat Tracker\cite{matthew2007a} Vamp plugin analyses +a single channel of audio and estimates the positions of metrical +beats within the music. + +This plugin uses the complex-domain onset detection method from~\cite{chris2003a} with a hybrid of the two-state beat tracking model +proposed in~\cite{matthew2007a} and a dynamic programming method based +on~\cite{ellis2007}. + +To identify the tempo, the onset detection function is partitioned +into 6-second frames with a 1.5-second increment. The autocorrelation +function of each 6-second onset detection function is found and this +is then passed through a perceptually weighted comb +filterbank\cite{matthew2007a}. The successive comb filterbank output +signals are grouped together into a matrix of observations of +periodicity through time. The best path of periodicity through these +observations is found using the Viterbi algorithm, where the +transition matrix is defined as a diagonal Gaussian. + +Given the estimates of periodicity, the beat locations are recovered +by applying the dynamic programming algorithm\cite{ellis2007}. This +process involves the calculation of a recursive cumulative score +function and backtrace signal. The cumulative score indicates the +likelihood of a beat existing at each sample of the onset detection +function input, and the backtrace gives the location of the best +previous beat given this point in time. Once the cumulative score and +backtrace have been calculated for the whole input signal, the best +path through beat locations is found by recursively sampling the +backtrace signal from the end of the input signal back to the +beginning. + +The QM Tempo and Beat Tracker plugin was written by Matthew +Davies and Christian Landone. + +\subsubsection{BeatRoot} + +The BeatRoot Vamp plugin\footnote{http://code.soundsoftware.ac.uk/projects/beatroot-vamp/} is an open source Vamp plugin library that +implements the BeatRoot beat-tracking method of Simon +Dixon\cite{simon2001a}. The BeatRoot algorithm has been submitted to +MIREX evaluation in earlier years\cite{simon2006a}; this plugin +consists of the most recent BeatRoot code release, converted from Java +to C++ and modified for plugin format. + +The BeatRoot plugin was written by Simon Dixon and Chris Cannam. + +\subsection{Audio Key Detection} + +\subsubsection{QM Key Detector} + +The QM Key Detector Vamp plugin continuously estimates the key of the +music by comparing the degree to which a block-by-block chromagram +correlates to stored key profiles for each major and minor key. + +This plugin uses the correlation method described in~\cite{krumhansl1990} and~\cite{gomez2006}, but using different tone +profiles. The key profiles used in this implementation are drawn from +analysis of Book I of the Well Tempered Klavier by J S Bach, recorded +at A=440 equal temperament, as described in~\cite{noland2007signal}. + +The QM Key Detector plugin was written by Katy Noland and +Christian Landone. + +\subsection{Audio Chord Estimation} + +\subsubsection{Chordino} + +The Chordino plugin\footnote{http://isophonics.net/nnls-chroma} was developed following Mauch's 2010 work on chord +extraction, submitted to MIREX in that +year\cite{mauch:md1:2010}. While that submission used a C++ chroma +implementation with a MATLAB dynamic Bayesian network as a chord +extraction front-end\cite{matthias2010a}, Chordino is an entirely C++ +implementation that was developed specifically to be made freely +available as an open-source plugin for general use. + +The method for the Chordino plugin has two parts: + +{\bf NNLS Chroma} --- NNLS Chroma analyses a single channel of audio +using frame-wise spectral input from the Vamp host. The spectrum is +transformed to a log-frequency spectrum (constant-Q) with three bins +per semitone. On this representation, two processing steps are +performed: tuning, after which each centre bin (i.e. bin 2, 5, 8, …) +corresponds to a semitone, even if the tuning of the piece deviates +from 440 Hz standard pitch; and running standardisation: subtraction +of the running mean, division by the running standard deviation. This +has a spectral whitening effect. + +The processed log-frequency spectrum is then used as an input for NNLS +approximate transcription using a dictionary of harmonic notes with +geometrically decaying harmonics magnitudes. The output of the NNLS +approximate transcription is semitone-spaced. To get the chroma, this +semitone spectrum is multiplied (element-wise) with the desired +profile (chroma or bass chroma) and then mapped to 12 bins. + +{\bf Chord transcription} --- A fixed dictionary of chord profiles is +used to calculate frame-wise chord similarities. A standard +HMM/Viterbi approach is used to smooth these to provide a chord +transcription. + +Chordino was written by Matthias Mauch. + +\subsection{Audio Onset Detection} + +\subsubsection{QM Note Onset Detector} + +The QM Note Onset Detector Vamp plugin estimates the onset times of +notes within the music. It calculates an onset likelihood function for +each spectral frame, and picks peaks in a smoothed version of this +function. + +Several onset detection functions are available in this plugin; this +submission uses the complex-domain method described +in~\cite{chris2003a}. + +The QM Note Onset Detector plugin was written by Chris Duxbury, Juan +Pablo Bello and Christian Landone. + +\subsubsection{OnsetsDS} + +OnsetsDS\footnote{http://code.soundsoftware.ac.uk/projects/vamp-onsetsds-plugin/} is an onset detector plugin wrapping Dan Stowell's OnsetsDS +library\footnote{http://onsetsds.sourceforge.net/}, described +in~\cite{dan2007a}. + +OnsetsDS was designed to provide an FFT-based onset detection that +works very efficiently in real-time, with a fast reaction time. It is +not tailored for non-real-time use or for any particular type of +signal. + +The OnsetsDS plugin was written by Dan Stowell and Chris Cannam. + +\subsection{Multiple Fundamental Frequency Estimation and Tracking} + +\subsubsection{Silvet} + +Silvet (for Shift-Invariant Latent Variable +Transcription)\footnote{http://code.soundsoftware.ac.uk/projects/silvet/} +is a Vamp plugin for automatic music transcription, using a method +based on that of~\cite{emmanouil2012a}. It produces a note +transcription as output, and so is here submitted only for the note +tracking evaluation in this task, and not for framewise evaluation. + +Silvet uses a probablistic latent-variable estimation method to +decompose a Constant-Q time-frequency matrix into note activations +using a set of spectral templates learned from recordings of solo +instruments. The method is thought to perform quite well for clear +recordings that contain only instruments with a good correspondence to +the known templates. Silvet does not contain any vocal templates, or +templates for typical rock or electronic instruments. + +The method implemented in Silvet is very similar to that submitted to +MIREX in 2012 as the BD1, BD2 and BD3 submissions in the Multiple F0 +Tracking task of that year~\cite{emmanouil2012b}. In common with that +submission, and unlike the paper cited at~\cite{emmanouil2012a}, +Silvet uses a simple thresholding method instead of an HMM for note +identification. However, Silvet follows~\cite{emmanouil2012a} +rather than~\cite{emmanouil2012b} in including a 5-bin-per-semitone +pitch shifting parameter. + +The Silvet plugin was written by Chris Cannam and Emmanouil Benetos. + +\bibliography{qmvamp-mirex2014} + +\end{document}