comparison docs/SMC15/smc2015template.tex @ 226:7457299211e0

SMC Paper: Tidying up of margins, added output example (just one audioElement). Updated the options list (compacted some to make room). Removed redundant paragraph. Now under 6 pages.
author Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk>
date Fri, 19 Jun 2015 10:40:37 +0100
parents dfd24b98c2b2
children 927f53b0eda8
comparison
equal deleted inserted replaced
225:dfd24b98c2b2 226:7457299211e0
20 \definecolor{darkblue}{rgb}{0.0,0.0,0.6} 20 \definecolor{darkblue}{rgb}{0.0,0.0,0.6}
21 \definecolor{cyan}{rgb}{0.0,0.6,0.6} 21 \definecolor{cyan}{rgb}{0.0,0.6,0.6}
22 22
23 23
24 \hyphenation{Java-script} 24 \hyphenation{Java-script}
25 \hyphenation{OPA-QUE}
25 26
26 %%%%%%%%%%%%%%%%%%%%%%%% Some useful packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 27 %%%%%%%%%%%%%%%%%%%%%%%% Some useful packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27 %%%%%%%%%%%%%%%%%%%%%%%% See related documentation %%%%%%%%%%%%%%%%%%%%%%%%%% 28 %%%%%%%%%%%%%%%%%%%%%%%% See related documentation %%%%%%%%%%%%%%%%%%%%%%%%%%
28 %\usepackage{amsmath} % popular packages from Am. Math. Soc. Please use the 29 %\usepackage{amsmath} % popular packages from Am. Math. Soc. Please use the
29 %\usepackage{amssymb} % related math environments (split, subequation, cases, 30 %\usepackage{amssymb} % related math environments (split, subequation, cases,
227 %??? 228 %???
228 % 229 %
229 %\begin{itemize} 230 %\begin{itemize}
230 %\item 231 %\item
231 %\end{itemize} 232 %\end{itemize}
232
233
234 \section{Interface}\label{sec:interface} 233 \section{Interface}\label{sec:interface}
235 234
236 At this point, we have implemented the interface of the MATLAB-based APE (Audio Perceptual Evaluation) toolbox \cite{deman2014b}. This shows one marker for each simultaneously evaluated audio fragment on one or more horizontal axes, that can be moved to rate or rank the respective fragments in terms of any subjective property, as well as a comment box for every marker, and any extra text boxes for extra comments. 235 At this point, we have implemented the interface of the MATLAB-based APE (Audio Perceptual Evaluation) toolbox \cite{deman2014b}. This shows one marker for each simultaneously evaluated audio fragment on one or more horizontal axes, that can be moved to rate or rank the respective fragments in terms of any subjective property, as well as a comment box for every marker, and any extra text boxes for extra comments.
237 The reason for such an interface, where all stimuli are presented on a single rating axis (or multiple axes if multiple subjective qualities need to be evaluated), is that it urges the subject to consider the rating and/or ranking of the stimuli relative to one another, as opposed to comparing each individual stimulus to a given reference, as is the case with e.g. a MUSHRA test \cite{mushra}. As such, it is ideal for any type of test where the goal is to carefully compare samples against each other, like perceptual evaluation of different mixes of music recordings \cite{deman2015a} or sound synthesis models \cite{durr2015implementation}, as opposed to comparing results of source separation algorithms \cite{mushram} or audio with lower data rate \cite{mushra} to a high quality reference signal. 236 The reason for such an interface, where all stimuli are presented on a single rating axis (or multiple axes if multiple subjective qualities need to be evaluated), is that it urges the subject to consider the rating and/or ranking of the stimuli relative to one another, as opposed to comparing each individual stimulus to a given reference, as is the case with e.g. a MUSHRA test \cite{mushra}. As such, it is ideal for any type of test where the goal is to carefully compare samples against each other, like perceptual evaluation of different mixes of music recordings \cite{deman2015a} or sound synthesis models \cite{durr2015implementation}, as opposed to comparing results of source separation algorithms \cite{mushram} or audio with lower data rate \cite{mushra} to a high quality reference signal.
238 237
332 <metricEnable>elementTimer</metricEnable> 331 <metricEnable>elementTimer</metricEnable>
333 <metricEnable>elementInitialPosition</metricEnable> 332 <metricEnable>elementInitialPosition</metricEnable>
334 <metricEnable>elementTracker</metricEnable> 333 <metricEnable>elementTracker</metricEnable>
335 <metricEnable>elementFlagListenedTo</metricEnable> 334 <metricEnable>elementFlagListenedTo</metricEnable>
336 <metricEnable>elementFlagMoved</metricEnable> 335 <metricEnable>elementFlagMoved</metricEnable>
337 <metricEnable>elementListenTracker</metricEnable>
338 </Metric> 336 </Metric>
339 <interface> 337 <interface>
340 <anchor>20</anchor> 338 <anchor>20</anchor>
341 <reference>80</reference> 339 <reference>80</reference>
342 </interface> 340 </interface>
346 <title>Example Test Question</title> 344 <title>Example Test Question</title>
347 <scale position="0">Min</scale> 345 <scale position="0">Min</scale>
348 <scale position="100">Max</scale> 346 <scale position="100">Max</scale>
349 <commentBoxPrefix>Comment on fragment</commentBoxPrefix> 347 <commentBoxPrefix>Comment on fragment</commentBoxPrefix>
350 </interface> 348 </interface>
351 <audioElements url="0.wav" id="0"/> 349 <audioElements url="0.wav" id="elem0"/>
352 <audioElements url="1.wav" id="1"/> 350 <audioElements url="1.wav" id="elem1"/>
353 <audioElements url="2.wav" id="2"/> 351 <audioElements url="2.wav" id="elem2"/>
354 <audioElements url="3.wav" id="3"/> 352 <audioElements url="3.wav" id="elem3"/>
355 <CommentQuestion id="generalExperience" type="text">General Comments</CommentQuestion> 353 <CommentQuestion id="generalExperience" type="text">General Comments</CommentQuestion>
356 <PreTest/> 354 <PreTest/>
357 <PostTest> 355 <PostTest>
358 <question id="genre" mandatory="true">Please enter the genre of the song.</question> 356 <question id="songGenre" mandatory="true">Please enter the genre of the song.</question>
359 </PostTest> 357 </PostTest>
360 </audioHolder> 358 </audioHolder>
359 </BrowserEvalProjectDocument>
361 360
362 \end{lstlisting} 361 \end{lstlisting}
363 362
364 \normalsize 363 \normalsize
365 364
366 \subsection{Setup and configurability} 365 \subsection{Setup and configurability}
367 366
368 The setup document has several defined nodes and structure which are documented with the source code. For example, there is a section for general setup options where any pre-test and post-test questions and statements can be defined. Pre- and post-test dialogue boxes allow for comments or questions to be presented before or after the test, to convey listening test instructions, and gather information about the subject, listening environment, and overall experience of the test. In the example in Figure~\ref{fig:xmlIn}, a question box with the id `location' is added, which is set to be mandatory to answer. The question is in the PreTest node meaning it will appear before any testing will begin. When the result for the entire test is shown, the response will appear in the PreTest node with the id `location' allowing it to be found easily, provided the id values are meaningful. 367 The setup document has several defined nodes and structure which are documented with the source code. For example, there is a section for general setup options where any pre-test and post-test questions and statements can be defined. Pre- and post-test dialogue boxes allow for comments or questions to be presented before or after the test, to convey listening test instructions, and gather information about the subject, listening environment, and overall experience of the test. In the example set up document above, a question box with the id `location' is added, which is set to be mandatory to answer. The question is in the PreTest node meaning it will appear before any testing will begin. When the result for the entire test is shown, the response will appear in the PreTest node with the id `location' allowing it to be found easily, provided the id values are meaningful.
369 368
370 We try to cater to a diverse audience with this toolbox, while ensuring it is simple, elegant and straightforward. To that end, we currently include the following options that can be easily switched on and off, by setting the value in the input XML file. 369 We try to cater to a diverse audience with this toolbox, while ensuring it is simple, elegant and straightforward. To that end, we currently include the following options that can be easily switched on and off, by setting the value in the input XML file.
371 370
372 \begin{itemize}[leftmargin=*]%Should have used a description list for this. 371 \begin{itemize}[leftmargin=*]%Should have used a description list for this.
373 \item \textbf{Snap to corresponding position}: When this is enabled, and a fragment is playing, the playhead skips to the same position in the next fragment that is clicked. If it is not enabled, every fragment is played from the start. 372 \item \textbf{Snap to corresponding position}: When enabled and a fragment is playing, the playhead skips to the same position in the next fragment that is clicked, otherwise each fragment is played from the start.
374 \item \textbf{Loop fragments}: Repeat current fragment when end is reached, until the `Stop audio' or `Submit' button is clicked. 373 \item \textbf{Loop fragments}: Repeat current fragment when end is reached, until the `Submit' button is clicked.
375 \item \textbf{Comments}: Displays a separate comment box for each fragment in the page. 374 \item \textbf{Comments}: Displays a separate comment box for each fragment in the page.
376 \item \textbf{General comment}: One comment box, additional to the individual comment boxes, to comment on the test or a feature that some or all of the fragments share. 375 \item \textbf{General comment}: Create additional comment boxes to the fragment comment boxes, with a custom question and various input formats such as checkbox or radio.
377 \item \textbf{Resampling}: When this is enabled, tracks are resampled to match the subject's system's sample rate (a default feature of the Web Audio API). When it is not, an error is shown when the system does not match the requested sample rate. 376 \item \textbf{Resampling}: When this is enabled, tracks are resampled to match the subject's system's sample rate (a default feature of the Web Audio API). When it is not, an error is shown when the system does not match the requested sample rate.
378 \item \textbf{Randomise page order}: Randomises the order in which different `pages' are presented. % are we calling this 'pages'? 377 \item \textbf{Randomise page order}: Randomises the order in which different `pages' are presented. % are we calling this 'pages'?
379 \item \textbf{Randomise fragment order}: Randomises the order and numbering of the markers and comment boxes corresponding to the fragments. This permutation is stored as well, to be able to interpret references to the numbers in the comments (such as `this is much [brighter] then 4'). 378 \item \textbf{Randomise fragment order}: Randomises the order and numbering of the markers and comment boxes corresponding to the fragments. Fragments are referenced to their give ID so referencing is possible (such as `this is much [brighter] then 4').
380 \item \textbf{Require playback}: Require that each fragment has been played at least once, if not in full. 379 \item \textbf{Require (full) playback}: Require that each fragment has been played at least once, if not in full.
381 \item \textbf{Require full playback}: If `Require playback' is active, require that each fragment has been played in full.
382 \item \textbf{Require moving}: Require that each marker is moved (dragged) at least once. 380 \item \textbf{Require moving}: Require that each marker is moved (dragged) at least once.
383 \item \textbf{Require comments}: This option allows requiring the subject to require a comment for each track. 381 \item \textbf{Require comments}: Require the subject to write a comment for each track.
384 \item \textbf{Repeat test}: Number of times each page in the test should be repeated (none by default), to allow familiarisation with the content and experiment, and to investigate consistency of user and variability due to familiarity. In the setup, each 'page' can be given a repeat count. These are all gathered before shuffling the order so repeated tests are not back-to-back if possible. 382 \item \textbf{Repeat test}: Number of times each page in the test should be repeated (none by default), to allow familiarisation with the content and experiment, and to investigate consistency of user and variability due to familiarity. In the setup, each 'page' can be given a repeat count. These are all gathered before shuffling the order so repeated tests are not back-to-back if possible.
385 \item \textbf{Returning to previous pages}: Indicates whether it is possible to go back to a previous `page' in the test. 383 \item \textbf{Returning to previous pages}: Indicates whether it is possible to go back to a previous `page' in the test.
386 \item \textbf{Lowest rating below [value]}: To enforce a certain use of the rating scale, it can be required to rate at least one sample below a specified value. 384 \item \textbf{Lowest rating below [value]}: To enforce a certain use of the rating scale, it can be required to rate at least one sample below a specified value.
387 \item \textbf{Highest rating above [value]}: To enforce a certain use of the rating scale, it can be required to rate at least one sample above a specified value. 385 \item \textbf{Highest rating above [value]}: To enforce a certain use of the rating scale, it can be required to rate at least one sample above a specified value.
388 \item \textbf{Reference}: Allows for a separate sample (outside of the axis) to be the `reference', which the subject can play back during the test to help with the task at hand \cite{mushra}. 386 \item \textbf{Reference}: Allows for a separate sample (outside of the axis) to be the `reference', which the subject can play back during the test to help with the task at hand \cite{mushra}.
396 394
397 % loop, snap to corresponding position, comments, 'general' comment, require same sampling rate, different types of randomisation 395 % loop, snap to corresponding position, comments, 'general' comment, require same sampling rate, different types of randomisation
398 396
399 \subsection{Results} 397 \subsection{Results}
400 398
401 The results file is dynamically generated by the interface upon clicking the `Submit' button. This also executes checks, depending on the setup file, to ensure that all tracks have been played back, rated and commented on. The XML output returned contains a node per audioObject and contains both the corresponding marker's position and any comments written in the associated comment box. The rating returned is normalised to be a value between 0 and 1, normalising the pixel representation of different browser windows. An example output file is presented below. 399 The results file is dynamically generated by the interface upon clicking the `Submit' button. This also executes checks, depending on the setup file, to ensure that all tracks have been played back, rated and commented on. The XML output returned contains a node per fragment and contains both the corresponding marker's position and any comments written in the associated comment box. The rating returned is normalised to be a value between 0 and 1, normalising the pixel representation of different browser windows. The results also contain information collected by any defined pre/post questions. An excerpt of an output file is presented below detailing the data collected for a single audioElement.
402 400
403 \tiny 401 \tiny
404 \lstset{language=XML} 402 \lstset{language=XML}
405 403
406 \begin{lstlisting} 404 \begin{lstlisting}
407 ADD XML HERE 405 <browserevaluationresult>
406 <datetime>
407 <date year="2015" month="5" day="28">2015/5/28</date>
408 <time hour="13" minute="19" secs="17">13:19:17</time>
409 </datetime>
410 <pretest>
411 <comment id="location">Control Room</comment>
412 </pretest>
413 <audioholder>
414 <pretest></pretest>
415 <posttest>
416 <comment id="songGenre">Alternative-Rock</comment>
417 </posttest>
418 <metric>
419 <metricresult id="testTime">813.328</metricresult>
420 </metric>
421 <audioelement id="elem0">
422 <comment>
423 <question>Comment on track 0</question>
424 <response>Like the reverb length and style, however Vocals get lost in the mix.</response>
425 </comment>
426 <value>0.639010989010989</value>
427 <metric>
428 <metricresult id="elementTimer">111.05066666666663</metricresult>
429 <metricresult id="elementTrackerFull">
430 <timepos id="0">
431 <time>61.602666666666664</time>
432 <position>0.639010989010989</position>
433 </timepos>
434 </metricresult>
435 <metricresult id="elementInitialPosition">0.6571428571428571</metricresult>
436 <metricresult id="elementFlagListenedTo">true</metricresult>
437 <metricresult id="elementFlagMoved">true</metricresult>
438 </metric>
439 </audioelement>
440 </audioHolder>
441 </browserevaluationresult>
408 442
409 \end{lstlisting} 443 \end{lstlisting}
410 444
411 \normalsize 445 \normalsize
412 446
413 447 Each page of testing is returned with the results of the entire page included in the structure. One \texttt{audioelement} node is created per audio fragment per page, along with its ID. This includes several child nodes including the rating between 0 and 1, the comment, and any other collected metrics including how long the element was listened for, the initial position, boolean flags if the element was listened to, if the element was moved and if the element comment box had any comment. Furthermore, each user action (manipulation of any interface element, such as playback or moving a marker) can be logged along with a the corresponding time code.
414 The results also contain information collected by any defined pre/post questions. These are referenced against the setup XML by using the same ID so readable responses can be obtained. Taking from the earlier example of setting up a pre-test question, an example response can be seen above. %MAKE SURE THERE IS ONE! 448 We also store session data such as the time the test took place and the duration of the test.
415
416 Each page of testing is returned with the results of the entire page included in the structure. One `audioElement' node is created per audio fragment per page, along with its ID. This includes several child nodes including the rating between 0 and 1, the comment, and any other collected metrics including how long the element was listened for, the initial position, boolean flags if the element was listened to, if the element was moved and if the element comment box had any comment. Furthermore, each user action (manipulation of any interface element, such as playback or moving a marker) can be logged along with a the corresponding time code.
417 We also store session data such as the browser the tool was used in.
418 We provide the option to store the results locally, and/or to have them sent to a server. 449 We provide the option to store the results locally, and/or to have them sent to a server.
419 450
420 %Here is an example of the set up XML and the results XML: % perhaps best to refer to each XML after each section (set up <> results) 451 %Here is an example of the set up XML and the results XML: % perhaps best to refer to each XML after each section (set up <> results)
421 % Should we include an Example of the input and output XML structure?? --> Sure. 452 % Should we include an Example of the input and output XML structure?? --> Sure.
422 453
443 %<metricresult id="elementFlagListenedTo"> true< /metricresult> \\ 474 %<metricresult id="elementFlagListenedTo"> true< /metricresult> \\
444 %<metricresult id="elementFlagMoved"> true </metricresult> \\ 475 %<metricresult id="elementFlagMoved"> true </metricresult> \\
445 %</metric> \\ 476 %</metric> \\
446 %</audioelement>} 477 %</audioelement>}
447 478
448 The parent tag \texttt{audioelement} holds the ID of the element passed in from the setup document. The first child element is \texttt{comment} and holds both the question shown and the response from the comment box inside.
449 The child element \texttt{value} holds the normalised ranking value. Next comes the metric node structure, with one metric result node per metric event collected. The id of the node identifies the type of data it contains. For example, the first holds the id \textit{elementTimer} and the data contained represents how long, in seconds, the audio element was listened to. There is one \texttt{audioelement} tag per audio element on each test page.
450
451 % BRECHT: scripts 479 % BRECHT: scripts
452 480
453 \begin{figure}[htpb] 481 \begin{figure}[htpb]
454 \begin{center} 482 \begin{center}
455 \includegraphics[width=.45\textwidth]{boxplot2.png} 483 \includegraphics[width=.45\textwidth]{boxplot2.png}