changeset 36:8d313328c5fa abstract

Merge Segmentino into same document as Chordino
author Chris Cannam
date Fri, 06 Sep 2013 17:42:01 +0100
parents d96ec36441c6
children 82f497a186a1
files vamp-plugins_abstract/Makefile vamp-plugins_abstract/chordino-mirex2013.tex vamp-plugins_abstract/qmvamp-mirex2013.bib vamp-plugins_abstract/segmentino-mirex2013.tex
diffstat 4 files changed, 97 insertions(+), 86 deletions(-) [+]
line wrap: on
line diff
--- a/vamp-plugins_abstract/Makefile	Fri Sep 06 17:17:45 2013 +0100
+++ b/vamp-plugins_abstract/Makefile	Fri Sep 06 17:42:01 2013 +0100
@@ -1,4 +1,4 @@
-all: qmvamp-mirex2013.pdf chordino-mirex2013.pdf segmentino-mirex2013.pdf beatroot-vamp-mirex2013.pdf cep-mirex2013.pdf
+all: qmvamp-mirex2013.pdf chordino-mirex2013.pdf beatroot-vamp-mirex2013.pdf cep-mirex2013.pdf
 
 qmvamp-mirex2013.pdf: qmvamp-mirex2013.tex qmvamp-mirex2013.bib
 	( echo q | xelatex qmvamp-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex qmvamp-mirex2013 && xelatex qmvamp-mirex2013
@@ -6,9 +6,6 @@
 chordino-mirex2013.pdf: chordino-mirex2013.tex qmvamp-mirex2013.bib
 	( echo q | xelatex chordino-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex chordino-mirex2013 && xelatex chordino-mirex2013
 
-segmentino-mirex2013.pdf: segmentino-mirex2013.tex qmvamp-mirex2013.bib
-	( echo q | xelatex segmentino-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex segmentino-mirex2013 && xelatex segmentino-mirex2013
-
 beatroot-vamp-mirex2013.pdf: beatroot-vamp-mirex2013.tex qmvamp-mirex2013.bib
 	( echo q | xelatex beatroot-vamp-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex beatroot-vamp-mirex2013 && xelatex beatroot-vamp-mirex2013
 
@@ -16,4 +13,4 @@
 	( echo q | xelatex cep-mirex2013 ) && bibtex qmvamp-mirex2013 && xelatex cep-mirex2013 && xelatex cep-mirex2013
 
 clean:
-	rm -f qmvamp-mirex2013.bbl qmvamp-mirex2013.aux qmvamp-mirex2013.blg qmvamp-mirex2013.log chordino-mirex2013.aux chordino-mirex2013.blg chordino-mirex2013.log segmentino-mirex2013.bbl segmentino-mirex2013.aux segmentino-mirex2013.blg segmentino-mirex2013.log beatroot-vamp-mirex2013.bbl beatroot-vamp-mirex2013.aux beatroot-vamp-mirex2013.blg beatroot-vamp-mirex2013.log cep-mirex2013.bbl cep-mirex2013.aux cep-mirex2013.blg cep-mirex2013.log
+	rm -f qmvamp-mirex2013.bbl qmvamp-mirex2013.aux qmvamp-mirex2013.blg qmvamp-mirex2013.log chordino-mirex2013.aux chordino-mirex2013.blg chordino-mirex2013.log beatroot-vamp-mirex2013.bbl beatroot-vamp-mirex2013.aux beatroot-vamp-mirex2013.blg beatroot-vamp-mirex2013.log cep-mirex2013.bbl cep-mirex2013.aux cep-mirex2013.blg cep-mirex2013.log
--- a/vamp-plugins_abstract/chordino-mirex2013.tex	Fri Sep 06 17:17:45 2013 +0100
+++ b/vamp-plugins_abstract/chordino-mirex2013.tex	Fri Sep 06 17:42:01 2013 +0100
@@ -9,7 +9,7 @@
 
 % Title.
 % ------
-\title{MIREX 2013 Entry: Chordino Vamp Plugin}
+\title{MIREX 2013 Entry: Chordino and Segmentino}
 
 % Single address
 % To use with only one author or several with the same address
@@ -27,9 +27,9 @@
 % Three addresses
 % --------------
  \threeauthors
-  {Chris Cannam} {Affiliation1 \\ {\tt author1@music-ir.org}}
-  {Lu\'{i}s A. Figueira} {Affiliation2 \\ {\tt author2@music-ir.org}}
-  {Matthias Mauch} {Affiliation3 \\ {\tt author3@music-ir.org}}
+  {Chris Cannam} {Queen Mary, University of London \\ {\tt chris.cannam@eecs.qmul.ac.uk}}
+  {Lu\'{i}s A. Figueira} {Queen Mary, University of London \\ {\tt luis.figueira@eecs.qmul.ac.uk}}
+  {Matthias Mauch} {Queen Mary, University of London \\ {\tt matthias.mauch@eecs.qmul.ac.uk}}
 
 \begin{document}
 %
@@ -37,18 +37,19 @@
 %
 \begin{abstract}
 
+Chordino and Segmentino are Vamp plugin implementations of chord
+extraction and structural segmentation algorithms, respectively, based
+on earlier work by Matthias Mauch.
+
 Chordino is 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.
+music information retrieval researchers. Written by Matthias Mauch, it
+has been available online as a free, open source download from the
+Centre for Digital Music at Queen Mary, University of London since
+late 2010.
 
-This plugin library has been available online as a free, open source
-download from the Centre for Digital Music at Queen Mary, University
-of London since late 2010. A related method was submitted to MIREX in
-2010 by Matthias Mauch\cite{mauch:md1:2010}, using the chroma
-implementation from this plugin with a MATLAB dynamic Bayesian network
-front-end. We now submit this simpler plugin implementation, as part
-of a programme of evaluation of Vamp plugins based on work carried out
-at the Centre for Digital Music.
+Segmentino is a Vamp plugin library written by Matthias Mauch and
+Massimiliano Zanoni and currently in preparation for a public release.
 
 \end{abstract}
 %
@@ -72,15 +73,76 @@
 The Chordino plugin was developed following Mauch's 2010 work on chord
 extraction as submitted to MIREX in that
 year\cite{mauch:md1:2010}. While that submission used a C++ chroma
-implementation with a MATLAB chord extraction front-end, Chordino is
-an entirely C++ implementation that was developed specifically to be
-made freely available as an open-source plugin for general use.
+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 Segmentino plugin is a new C++ implementation of a segmentation
+method first described in Mauch's paper on using musical structure to
+enhance chord transcription\cite{matthias2009a} and expanded on in
+Mauch's PhD thesis\cite{matthiasphd}, that is currently being prepared
+for public release.
+
+We are preparing and submitting these plugins as part of a programme
+of evaluation of Vamp plugin implementations of existing algorithms
+being carried out at the Centre for Digital Music.
 
 (For a complete 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{Audio Chord Extraction}
+
+The method for the Chordino plugin has two parts:
+
+\subsection{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.
+
+\subsection{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.
+
+\section{Structural Segmentation}
+
+A beat-quantised chroma representation is used to calculate pair-wise
+similarities between beats (really: beat "shingles", i.e. multi-beat
+vectors). Based on this first similarity calculation, an exhaustive
+comparison of all possible segments of reasonable length in beats is
+executed, and segments are added to form segment families if they are
+sufficiently similar to another "family member". Having accumulated a
+lot of families, the families are rated, and the one with the highest
+score is used as the first segmentation group that gets
+annotated. This last step is repeated until no more families fit the
+remaining "holes" in the song that haven't already been assigned to a
+segment.
+
+This method was developed for "classic rock" music, and therefore
+assumes a few characteristics that are not necessarily found in other
+music: repetition of harmonic sequences in the music that coincide
+with structural segments in a song; a steady beat; segments of a
+certain length; corresponding segments have the same length in
+beats.
+
 \bibliography{qmvamp-mirex2013}
 
 \end{document}
--- a/vamp-plugins_abstract/qmvamp-mirex2013.bib	Fri Sep 06 17:17:45 2013 +0100
+++ b/vamp-plugins_abstract/qmvamp-mirex2013.bib	Fri Sep 06 17:42:01 2013 +0100
@@ -85,3 +85,20 @@
   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)},
+  note = {First description of the algorithm. However, the description is not complete. Better description in "Automatic chord transcription from audio using computational models of musical context" (Mauch's PhD Thesis), Chapter 6.},
+  pages = {231-236},
+  year = {2009}
+} 
+
+ @phdthesis{matthiasphd,
+  author = {Matthias Mauch},
+  title = {Automatic Chord Transcription from Audio Using Computational Models of Musical Context},
+  note = {Features a more thorough description of the segmentation algorithm in Chapter 6.},
+  school = {Queen Mary, University of London},
+  year = {2010}
+} 
+
--- a/vamp-plugins_abstract/segmentino-mirex2013.tex	Fri Sep 06 17:17:45 2013 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-% -----------------------------------------------
-% Template for MIREX 2010
-% (based on ISMIR 2010 template)
-% -----------------------------------------------
-
-\documentclass{article}
-\usepackage{mirex2010,amsmath,cite}
-\usepackage{graphicx}
-
-% Title.
-% ------
-\title{MIREX 2013 Entry: Segmentino Vamp Plugin}
-
-% Single address
-% To use with only one author or several with the same address
-% ---------------
-%\oneauthor
-% {Names should be omitted for double-blind reviewing}
-% {Affiliations should be omitted for double-blind reviewing}
-
-% Two addresses
-% --------------
-%\twoauthors
-%{Chris Cannam} {Affiliation1 \\ {\tt author1@music-ir.org}}
-%{Lu\'{i}s A. Figueira} {Affiliation2 \\ {\tt author2@music-ir.org}}
-
-% Three addresses
-% --------------
- \threeauthors
-   {Chris Cannam} {Affiliation1 \\ {\tt author1@music-ir.org}}
-   {Lu\'{i}s A. Figueira} {Affiliation2 \\ {\tt author2@music-ir.org}}
-   {Matthias Mauch} {Affiliation3 \\ {\tt author3@music-ir.org}}
-
-\begin{document}
-%
-\maketitle
-%
-\begin{abstract}
-
-Segmentino is a Vamp plugin library for structural segmentation of music audio.
-
-%!!! check spelling
-This library, developed by Matthias Mauch and Massimiliano Zanoni, is
-currently in preparation for a public release from the Centre for
-Digital Music at Queen Mary, University of London. We are preparing
-and submitting it as part of a programme of evaluation of Vamp plugin
-implementations of existing algorithms being carried out at the Centre
-for Digital Music.
-
-(For a complete 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}.)
-
-\end{abstract}
-%
-\section{Introduction}\label{sec:introduction}
-
-desccibe vamp
-describe rationale supporting submission\ldots
-
-
-\bibliography{qmvamp-mirex2013}
-
-\end{document}