changeset 69:cf0305dc0ba0

update
author christopherh <christopher.harte@eecs.qmul.ac.uk>
date Mon, 27 Apr 2015 19:50:00 +0100
parents 5803b73310af
children c9615e237705
files SMC2015latex/section/background.tex SMC2015latex/section/conclusion.tex SMC2015latex/section/framework.tex SMC2015latex/section/introduction.tex SMC2015latex/syncopation_toolkit.tex
diffstat 5 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/SMC2015latex/section/background.tex	Mon Apr 27 18:19:31 2015 +0100
+++ b/SMC2015latex/section/background.tex	Mon Apr 27 19:50:00 2015 +0100
@@ -1,9 +1,9 @@
 \section{Background}
 \label{sec:background}
 
-In this section, to introduce the theory behind the toolkit, we briefly present key aspects of the mathematical framework described in \cite{Song15thesis} and then give an overview of each syncopation model. %Please refer to for a more detailed treatment of all the related concepts and their mathematical notation.
+In this section, to introduce the theory behind the toolkit, we briefly present key aspects of its underlying mathematical framework (described in detail in \cite{Song15thesis}) and then give a short overview of each of the implemented syncopation models. %Please refer to for a more detailed treatment of all the related concepts and their mathematical notation.
 
-\begin{figure}[t]
+\begin{figure}
 \centering
 \includegraphics[width=\columnwidth]{images/general3.pdf}
 \caption{An example note sequence. Two note events $\note_0$ and $\note_1$ occur in the time-span between time origin $\timeorigin$ and end time $\timeend$. The time-span duration $\timespan$ is three quarter-note periods. The rests at the start and end of the bar are not explicitly represented as objects in their own right here but as periods where no notes sound.}
@@ -17,7 +17,7 @@
 \label{sec:background:rhythm:timespan}
 The term \emph{time-span} has been defined as the period between two points in time, including all time points in between \cite{Lerdahl_Jackendoff83GTTM}. To represent a given rhythm, we must specify the time-span within which it occurs by defining a reference time origin $\timeorigin$ and end time $\timeend$, the total duration $\timespan$ of which is $\timespan = \timeend-\timeorigin$ (Figure~\ref{fig:general}).
 
-The basic time unit is in \emph{ticks} as opposed to seconds, therefore we set the parameter Ticks Per Quarter-note (TPQ) to describe the time-span of a length of rhythm. The minimum TPQ is determined by the rhythm-pattern so that all the events can be represented. As demonstrated in Figure~\ref{fig:clave}, the \emph{Son} clave rhythm pattern could be represented both at 8 and 4 ticks per quarter-note but the minimum representable resolution would be 4.
+For the SynPy toolkit, the basic time unit is \emph{ticks-per-quarternote} (TPQ) as opposed to seconds describe the time-span of a length of rhythm. The minimum TPQ is determined by the rhythm-pattern so that all the events can be represented. As demonstrated in Figure~\ref{fig:clave}, the \emph{Son} clave rhythm pattern could be represented both at 8 and 4 ticks per quarter-note but the minimum representable resolution would be 4.
 
 \begin{figure}[t]
 \centering
--- a/SMC2015latex/section/conclusion.tex	Mon Apr 27 18:19:31 2015 +0100
+++ b/SMC2015latex/section/conclusion.tex	Mon Apr 27 19:50:00 2015 +0100
@@ -1,2 +1,5 @@
 \section{Conclusion}
-\label{sec:conclusion}
\ No newline at end of file
+\label{sec:conclusion}
+In this paper we have described SynPy, an open-source Python toolkit for syncopation calculation. The toolkit is easy to use, allowing input from multiple different sources of music data including standard MIDI files, and provides implementions seven common syncopation models found in the literature. The plugin architecture of the toolkit allows new models to be added easily in the future and open-source hosting in a repository on the soundsoftware.ac.uk servers ensures long term sustainability of the project code. 
+
+SynPy will be a valuable tool for any researchers who study syncopation models in the future, enabling a level of comparison and testing for new models that was hitherto unavailable. 
\ No newline at end of file
--- a/SMC2015latex/section/framework.tex	Mon Apr 27 18:19:31 2015 +0100
+++ b/SMC2015latex/section/framework.tex	Mon Apr 27 19:50:00 2015 +0100
@@ -32,7 +32,7 @@
 
 \subsection{Music objects}
 \label{sec:musicobjects}
-The `music objects' module provides classes to represent the musical constructs described in Section~\ref{sec:background}.  A \code{Bar} object holds the rhythm information for a single bar of music along with its associated time-signature and optional tempo and TPQ values (see Section~\ref{sec:background:rhythm:timespan}). \code{Bar} objects may be initialised with either a note sequence or velocity sequence and can be chained together in the form of a doubly-linked \code{BarList} allowing syncopation models to access next and previous bars where appropriate\footnote{Several models \cite{LHL84,Keith91,Pressing97,Gomez05} implemented in the toolkit require knowledge of the contents of previous and/or next bars in order to calculate the syncopation of the current bar.}. The note sequence and velocity sequence classes are direct implementations of the sequences described in Section~\ref{sec:background:rhythm:note}.    Common low-level procedures such as sequence concatenation and subdivision are provided in `basic functions'.
+The `music objects' module provides classes to represent the musical constructs described in Section~\ref{sec:background}.  A \code{Bar} object holds the rhythm information for a single bar of music along with its associated time-signature and optional tempo and TPQ values (see Section~\ref{sec:background:rhythm:timespan}). \code{Bar} objects may be initialised with either a note sequence or velocity sequence and can be chained together in the form of a doubly-linked \code{BarList} allowing syncopation models to access next and previous bars where appropriate (several models \cite{LHL84,Keith91,Pressing97,Gomez05} require knowledge of the contents of previous and/or next bars in order to calculate the syncopation of the current bar). The note sequence and velocity sequence classes are direct implementations of the sequences described in Section~\ref{sec:background:rhythm:note}.    Common low-level procedures such as sequence concatenation and subdivision are provided in `basic functions'.
 
 \subsection{File Input}
 \label{sec:fileinput}
--- a/SMC2015latex/section/introduction.tex	Mon Apr 27 18:19:31 2015 +0100
+++ b/SMC2015latex/section/introduction.tex	Mon Apr 27 19:50:00 2015 +0100
@@ -3,9 +3,9 @@
 
 Syncopation is a fundamental feature of rhythm in music and a crucial aspect of musical character in many styles and cultures. Having comprehensive models to capture syncopation perception allows us to better understand the broader aspects of music perception. Over the last thirty years, several modelling approaches for syncopation have been developed and heavily used in studies in multiple disciplines~\cite{LHL84,Pressing97,Toussaint02Metrical,Sioros11,Keith91,Toussaint05Offbeatness,Gomez05,Keller_Schubert11}. To date, formal investigations on the links between syncopation and  music perception subjects such as meter induction~\cite{Povel_Essens85, Fitch_Rosenfeld07}, emotion~\cite{Keller_Schubert11}, groove~\cite{Madison13, Witek14} and neurophysiological responses~\cite{Winkler09, Vuust11}, have largely relied on quantitative measures of syncopation. However, until now there has not been a comprehensive reference implementation of the different algorithms available to facilitate quantifying syncopation.
 
-In~\cite{Song15thesis}, Song provides a consolidated mathematical framework and in-depth review of seven widely used syncopation models: Longuet-Higgins and Lee~\cite{LHL84}, Pressing~\cite{Pressing97,Pressing93}, Toussaint's Metric Complexity~\cite{Toussaint02Metrical}, Sioros and Guedes \cite{Sioros11,Sioros12}, Keith~\cite{Keith91}, Toussaint's off-beatness measure~\cite{Toussaint05Offbeatness} and G\'omez et al.'s Weighted Note-to-Beat Distance~\cite{Gomez05}. 
+In~\cite{Song15thesis}, Song provides a consolidated mathematical framework and in-depth review of seven widely used syncopation models: Longuet-Higgins and Lee~\cite{LHL84}, Pressing~\cite{Pressing97,Pressing93}, Toussaint's Metric Complexity~\cite{Toussaint02Metrical}, Sioros and Guedes \cite{Sioros11,Sioros12}, Keith~\cite{Keith91}, Toussaint's off-beatness measure~\cite{Toussaint05Offbeatness} and G\'omez et al.'s Weighted Note-to-Beat Distance~\cite{Gomez05}. With the exception of Sioros and Guedes' model, code for which was open-sourced as part of the Kinetic project~\ref{Sioros11URL}, reference code for the models has not previously been publically available.
 Based on this mathematical framework, the SynPy toolkit provides implementations of these syncopation models in the Python programming language. 
 
-The toolkit not only provides the first open-source implementation of these models in a unified framework but also allows convenient data input from standard MIDI files and text-based rhythm annotations. Multiple bars of music can be processed, reporting syncopation values bar by bar as well as various descriptive statistics across a whole piece. Strengths of the toolkit also include easy output to XML and JSON files plus the ability to accept arbitrary rhythm patterns as well as time-signature and tempo changes. In addition, the toolkit defines a common interface for syncopation models, providing a simple plugin architecture for future extensibility.  
+The toolkit not only provides the first open-source implementation of these models in a unified framework but also allows convenient data input from standard MIDI files and text-based rhythm annotations.  Multiple bars of music can be processed, reporting syncopation values bar by bar as well as various descriptive statistics across a whole piece. Strengths of the toolkit also include easy output to XML and JSON files plus the ability to accept arbitrary rhythm patterns as well as time-signature and tempo changes. In addition, the toolkit defines a common interface for syncopation models, providing a simple plugin architecture for future extensibility.  
 
 In Section~\ref{sec:background} we introduce mathematical representations of a few key rhythmic concepts that form the basis of the toolkit then briefly review seven syncopation models that have been implemented. In Section~\ref{sec:framework} we outline the functional requirements and  architecture of SynPy, describing input sources, options and usage.
--- a/SMC2015latex/syncopation_toolkit.tex	Mon Apr 27 18:19:31 2015 +0100
+++ b/SMC2015latex/syncopation_toolkit.tex	Mon Apr 27 19:50:00 2015 +0100
@@ -137,9 +137,9 @@
 %
 \begin{abstract}
 
-SynPy is an open-source software toolkit for quantifying syncopation. It provides reference implementations for seven widely known syncopation models; and to achieve an easy and fast platform to measure syncopation for a piece of monophonic music.
+In this paper we present SynPy, an open-source software toolkit for quantifying syncopation. The toolkit provides implementations for seven widely known syncopation models using a simple plugin architecture for easy extensibility. Synpy can process multiple bars of music containing arbitrary rhythm patterns and also accepts time-signature and tempo changes.  The tools are easy to use allowing input from various sources including text annotations and standard MIDI files.  
 
-
+This toolkit will be a valuable tool for researchers studying syncopation modelling. It enables quantitative comparison of existing models and also  provides a convenient platform for developement and testing of new models. 
 \end{abstract}
 %