changeset 51:a1575e27916d

moving latex section files, adding framework image
author christopherh <christopher.harte@eecs.qmul.ac.uk>
date Mon, 27 Apr 2015 09:57:43 +0100
parents e71028851131
children 101e930b4cd3
files SMC2015latex/conclusion.tex SMC2015latex/dataset.tex SMC2015latex/framework.tex SMC2015latex/images/framework.pdf SMC2015latex/images/framework.svg SMC2015latex/section/conclusion.tex SMC2015latex/section/dataset.tex SMC2015latex/section/framework.tex SMC2015latex/syncopation_toolkit.tex
diffstat 9 files changed, 246 insertions(+), 106 deletions(-) [+]
line wrap: on
line diff
--- a/SMC2015latex/conclusion.tex	Mon Apr 27 09:51:15 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-\section{Conclusion}
-\label{sec:conclusion}
\ No newline at end of file
--- a/SMC2015latex/dataset.tex	Mon Apr 27 09:51:15 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-\section{Data Set}
-\label{sec:data}
\ No newline at end of file
--- a/SMC2015latex/framework.tex	Mon Apr 27 09:51:15 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-\section{Framework}
-
-\begin{figure}[t]
-\centering
-\includegraphics[width=0.6\columnwidth]{images/framework.pdf}
-\caption{Module hierarchy in the synpy toolkit: The top-level module provides a simple interface for the user to test different syncopation models. Musical constructs such as bars, velocity and note sequences, notes and time signatures are defined in the `music objects' module while support for common procedures such as sequence concatenation and subdivision is provided in `basic functions'. Models and file reading components can be interchanged as required by the user.\label{fig:framework}}
-\end{figure}
-
-\begin{figure}
-\footnotesize{
-\begin{minted}[frame=single,framesep=10pt]{python}
-T{4/4} # time signature
-TPQ{4} # ticks per quarternote
-# Bar 1
-Y{(0,3,2),(3,1,1),(6,2,2),(10,2,1),(12,4,1)}
-# Bar 2
-V{1,0,0,0.5,0,0,1,0,0,0,0.5,0,0.5,0,0,0}
-\end{minted}
-}
-\caption{Example rhythm annotation \code{.rhy} file containing two bars of the Son Clave rhythm. The first is expressed as a note sequence with resolution of four ticks per quarternote; the second is the same rhythm expressed as a velocity sequence (see section~\ref{sec:background}.}
-\label{ta:clave} 
-\end{figure}
-\begin{figure}
-\footnotesize{
-\begin{minted}[frame=single,framesep=10pt]{python}
->>>from synpy import *
->>>import synpy.PRS as model
->>>calculate_syncopation(model, "clave.rhy")
-{'bars_with_valid_output': [0, 1],
- 'mean_syncopation_per_bar': 8.625,
- 'model_name': 'PRS',
- 'number_of_bars': 2,
- 'number_of_bars_not_measured': 0,
- 'source': 'clave.rhy',
- 'summed_syncopation': 17.25,
- 'syncopation_by_bar': [8.625, 8.625]}
-\end{minted}
-}
-\caption{To use the library, the top level \code{synpy} module is imported along with a model (in this example Pressing \cite{pressing}); calling \code{calculate\_syncopation()} gives the syncopation results as shown. 
-\label{ta:example} }
-\end{figure}
-
-The architecture of the toolkit is relatively simple (see Figure~\ref{fig:framework}); syncopation values are calculated for each bar in a given source of rhythm data with the user specifying which model to use and supplying any special parameters that are required.  Output can optionally be saved directly to XML or JSON files. Sources of rhythm data can be the name of a file containing rhythm data or a bar or list of bar objects as defined in section~\ref{sec:?}.   Where a model is unable to calculate a value for a given rhythm pattern, a “None” value is recorded for that bar and the indices of unmeasured bars reported in the output.  
-
-Musical constructs such as bars, velocity and note sequences, notes and time signatures are defined in the `music objects' module with support for common procedures such as sequence concatenation and subdivision being provided in `basic functions'.  Two file reader modules are currently provided; one for reading standard MIDI files and one for reading plain text rhythm annotation \code{.rhy} files. These modules open their respective file types and return a list of bar objects that the syncopation models can process.  
-
-The system architecture has been designed to allow new models to be added easily.   Models have a common interface, exposing a single function that will return the syncopation value for a bar of music.  Optional parameters may be supplied as a Python dictionary if the user wishes to specify settings different from the those given in the literature for a specific model.
-
-
-
-% \section{MIDI Input}\label{sec:midi}
-
-% \cite{Taylor89MusicTheory}
-
-% \section{Text Input}\label{sec:textinput}
-
-% \begin{table*}
-% \small{
-% \begin{minted}[frame=single,framesep=10pt]{console}
-% <piece>             ::=  [<comment-lines>] <timesig> <line> | <piece> <line>
-
-% <comment-lines>     ::= <comment> "\n" | <comment-lines> <comment> "\n"
-
-% <line>              ::= [<barlist>] [<comment>] "\n"
-
-% <comment>           ::= "#" <comment-text>
-
-% <barlist>           ::= <time-info> | [<time-info>] <bar> | <barlist> <bar>
-
-% <time-info>         ::= [<timesig>] [<ticks-per-quarter>] [<tempo>] 
-
-% <tempo>             ::= "QPM{" <digits> "}"
-
-% <ticks-per-quarter> ::= "TPQ{" <digits> "}"
-
-% <timesig>           ::= "T{" <digit> "/" <digit> "}"
-
-% <bar>               ::= "V{" <velocity-sequence> "}" | "Y{" <note-sequence> "}"
-
-% <note-sequence>     ::= <note> | <note-sequence> "," <note>
-
-% <note>              ::= "(" <digits> "," <digits> "," <digits> ")"
-
-% <velocity-sequence> ::= <decimal> | <velocity-sequence> "," <decimal>
-
-% <decimal>           ::= "0" | "1" | "0." <digits>
-
-% <digits>            ::= <digit> | <digits> <digit>
-
-% <digit>             ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
-% \end{minted}
-% }
-% \caption{Syntax of rhythm text format Backus-Naur Form}
-% \label{ta:BNF} 
-% \end{table*}
-
-
Binary file SMC2015latex/images/framework.pdf has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SMC2015latex/images/framework.svg	Mon Apr 27 09:57:43 2015 +0100
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="744.09448819"
+   height="1052.3622047"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="framework.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="2.8284271"
+     inkscape:cx="172.42683"
+     inkscape:cy="616.87262"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1440"
+     inkscape:window-height="776"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect3765"
+       width="252.50005"
+       height="165.35716"
+       x="101.20461"
+       y="352.005"
+       ry="0" />
+    <path
+       style="fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0"
+       d="m 166.56175,439.14789 41.29525,0 0,-47.85671 38.214,-4.3e-4 0,47.85714 42.27647,0 0,39.2857 -121.78572,0 z"
+       id="rect3755"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccccc" />
+    <rect
+       style="fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+       id="rect2985"
+       width="252.50002"
+       height="39.285706"
+       x="101.20461"
+       y="478.43359"
+       ry="0" />
+    <text
+       xml:space="preserve"
+       style="font-size:14.1577282px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="173.8896"
+       y="503.08524"
+       id="text3757"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3759"
+         x="173.8896"
+         y="503.08524">basic functions</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3761"
+       y="464.51382"
+       x="178.45215"
+       style="font-size:14.1577282px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="464.51382"
+         x="178.45215"
+         id="tspan3763"
+         sodipodi:role="line">music objects</tspan></text>
+    <rect
+       ry="0"
+       y="352.005"
+       x="101.20461"
+       height="39.285706"
+       width="252.50002"
+       id="rect3767"
+       style="fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+    <text
+       xml:space="preserve"
+       style="font-size:14.1577282px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       x="265.91846"
+       y="421.65668"
+       id="text3775"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan3777"
+         x="265.91846"
+         y="421.65668">file reader</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3779"
+       y="421.65668"
+       x="131.27559"
+       style="font-size:14.1577282px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="421.65668"
+         x="131.27559"
+         id="tspan3781"
+         sodipodi:role="line">model</tspan></text>
+    <text
+       sodipodi:linespacing="125%"
+       id="text3783"
+       y="374.53537"
+       x="205.56129"
+       style="font-size:14.1577282px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+       xml:space="preserve"><tspan
+         y="374.53537"
+         x="205.56129"
+         id="tspan3785"
+         sodipodi:role="line">synpy</tspan></text>
+  </g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SMC2015latex/section/conclusion.tex	Mon Apr 27 09:57:43 2015 +0100
@@ -0,0 +1,2 @@
+\section{Conclusion}
+\label{sec:conclusion}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SMC2015latex/section/dataset.tex	Mon Apr 27 09:57:43 2015 +0100
@@ -0,0 +1,2 @@
+\section{Data Set}
+\label{sec:data}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SMC2015latex/section/framework.tex	Mon Apr 27 09:57:43 2015 +0100
@@ -0,0 +1,97 @@
+\section{Framework}
+
+\begin{figure}[t]
+\centering
+\includegraphics[width=0.6\columnwidth]{images/framework.pdf}
+\caption{Module hierarchy in the synpy toolkit: The top-level module provides a simple interface for the user to test different syncopation models. Musical constructs such as bars, velocity and note sequences, notes and time signatures are defined in the `music objects' module while support for common procedures such as sequence concatenation and subdivision is provided in `basic functions'. Models and file reading components can be interchanged as required by the user.\label{fig:framework}}
+\end{figure}
+
+\begin{figure}
+\footnotesize{
+\begin{minted}[frame=single,framesep=10pt]{python}
+T{4/4} # time signature
+TPQ{4} # ticks per quarternote
+# Bar 1
+Y{(0,3,2),(3,1,1),(6,2,2),(10,2,1),(12,4,1)}
+# Bar 2
+V{1,0,0,0.5,0,0,1,0,0,0,0.5,0,0.5,0,0,0}
+\end{minted}
+}
+\caption{Example rhythm annotation \code{.rhy} file containing two bars of the Son Clave rhythm. The first is expressed as a note sequence with resolution of four ticks per quarternote; the second is the same rhythm expressed as a velocity sequence (see section~\ref{sec:background}.}
+\label{ta:clave} 
+\end{figure}
+\begin{figure}
+\footnotesize{
+\begin{minted}[frame=single,framesep=10pt]{python}
+>>>from synpy import *
+>>>import synpy.PRS as model
+>>>calculate_syncopation(model, "clave.rhy")
+{'bars_with_valid_output': [0, 1],
+ 'mean_syncopation_per_bar': 8.625,
+ 'model_name': 'PRS',
+ 'number_of_bars': 2,
+ 'number_of_bars_not_measured': 0,
+ 'source': 'clave.rhy',
+ 'summed_syncopation': 17.25,
+ 'syncopation_by_bar': [8.625, 8.625]}
+\end{minted}
+}
+\caption{To use the library, the top level \code{synpy} module is imported along with a model (in this example Pressing \cite{pressing}); calling \code{calculate\_syncopation()} gives the syncopation results as shown. 
+\label{ta:example} }
+\end{figure}
+
+The architecture of the toolkit is relatively simple (see Figure~\ref{fig:framework}); syncopation values are calculated for each bar in a given source of rhythm data with the user specifying which model to use and supplying any special parameters that are required.  Output can optionally be saved directly to XML or JSON files. Sources of rhythm data can be the name of a file containing rhythm data or a bar or list of bar objects as defined in section~\ref{sec:?}.   Where a model is unable to calculate a value for a given rhythm pattern, a “None” value is recorded for that bar and the indices of unmeasured bars reported in the output.  
+
+Musical constructs such as bars, velocity and note sequences, notes and time signatures are defined in the `music objects' module with support for common procedures such as sequence concatenation and subdivision being provided in `basic functions'.  Two file reader modules are currently provided; one for reading standard MIDI files and one for reading plain text rhythm annotation \code{.rhy} files. These modules open their respective file types and return a list of bar objects that the syncopation models can process.  
+
+The system architecture has been designed to allow new models to be added easily.   Models have a common interface, exposing a single function that will return the syncopation value for a bar of music.  Optional parameters may be supplied as a Python dictionary if the user wishes to specify settings different from the those given in the literature for a specific model.
+
+
+
+% \section{MIDI Input}\label{sec:midi}
+
+% \cite{Taylor89MusicTheory}
+
+% \section{Text Input}\label{sec:textinput}
+
+% \begin{table*}
+% \small{
+% \begin{minted}[frame=single,framesep=10pt]{console}
+% <piece>             ::=  [<comment-lines>] <timesig> <line> | <piece> <line>
+
+% <comment-lines>     ::= <comment> "\n" | <comment-lines> <comment> "\n"
+
+% <line>              ::= [<barlist>] [<comment>] "\n"
+
+% <comment>           ::= "#" <comment-text>
+
+% <barlist>           ::= <time-info> | [<time-info>] <bar> | <barlist> <bar>
+
+% <time-info>         ::= [<timesig>] [<ticks-per-quarter>] [<tempo>] 
+
+% <tempo>             ::= "QPM{" <digits> "}"
+
+% <ticks-per-quarter> ::= "TPQ{" <digits> "}"
+
+% <timesig>           ::= "T{" <digit> "/" <digit> "}"
+
+% <bar>               ::= "V{" <velocity-sequence> "}" | "Y{" <note-sequence> "}"
+
+% <note-sequence>     ::= <note> | <note-sequence> "," <note>
+
+% <note>              ::= "(" <digits> "," <digits> "," <digits> ")"
+
+% <velocity-sequence> ::= <decimal> | <velocity-sequence> "," <decimal>
+
+% <decimal>           ::= "0" | "1" | "0." <digits>
+
+% <digits>            ::= <digit> | <digits> <digit>
+
+% <digit>             ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
+% \end{minted}
+% }
+% \caption{Syntax of rhythm text format Backus-Naur Form}
+% \label{ta:BNF} 
+% \end{table*}
+
+
--- a/SMC2015latex/syncopation_toolkit.tex	Mon Apr 27 09:51:15 2015 +0100
+++ b/SMC2015latex/syncopation_toolkit.tex	Mon Apr 27 09:57:43 2015 +0100
@@ -140,15 +140,15 @@
 \end{abstract}
 %
 
-\input{introduction}
+\input{section/introduction}
 
-\input{background}
+\input{section/background}
 
-\input{framework}
+\input{section/framework}
 
-\input{dataset}
+\input{section/dataset}
 
-\input{conclusion}
+\input{section/conclusion}