annotate docs/WAC2016/WAC2016.tex @ 1103:2051868b21f0

Hotfix: Updated schema. <audioelement>, <surveyelement> and <commentquestion> have optional name attribute.
author Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk>
date Wed, 09 Mar 2016 11:29:16 +0000
parents b5bf2f57187c
children 83b439322229
rev   line source
djmoffat@1099 1 \documentclass{sig-alternate}
djmoffat@1099 2 \usepackage{hyperref} % make links (like references, links to Sections, ...) clickable
djmoffat@1099 3 \usepackage{enumitem} % tighten itemize etc by appending '[noitemsep,nolistsep]'
djmoffat@1099 4 \usepackage{cleveref}
djmoffat@1099 5
djmoffat@1099 6 \graphicspath{{img/}} % put the images in this folder
djmoffat@1099 7
djmoffat@1099 8 \begin{document}
djmoffat@1099 9
djmoffat@1099 10 % Copyright
djmoffat@1099 11 \setcopyright{waclicense}
djmoffat@1099 12
n@1102 13 \conferenceinfo{Web Audio Conference WAC-2016,}{April 4--6, 2016, Atlanta, USA.}
n@1102 14 \CopyrightYear{2016} % Allows default copyright year (20XX) to be over-ridden - IF NEED BE.
n@1102 15
djmoffat@1099 16 \newcommand*\rot{\rotatebox{90}}
djmoffat@1099 17
djmoffat@1099 18
n@1102 19 % Make clickable footnote (Brecht)
n@1102 20 \newcommand{\hyperfootnote}[1][]{\def\ArgI{{#1}}\hyperfootnoteRelay}
n@1102 21 % relay to new command to make extra optional command possible
n@1102 22 \newcommand\hyperfootnoteRelay[2][]{\href{#1#2}{\ArgI}\footnote{\href{#1#2}{#2}}}
n@1102 23 % the first optional argument is now in \ArgI, the second is in #1
n@1102 24
n@1102 25 % Takes at most 3 parameters (see http://www.tex.ac.uk/FAQ-twooptarg.html for info on multiple optional parameters)
n@1102 26 % If first parameter isn't given, it's value is '' (empty string in text before footnote reference)
n@1102 27 % If second parameter isn't given, it's value is '' (string before visible URL, e.g. 'http://')
n@1102 28 % Makes a clickable footnote (alternatively: \url{}) with optional reference in the text as well
n@1102 29 % Use 1: \hyperfootnote{www.mywebsite.com}: creates a footnote consisting of a clickable URL
n@1102 30 % Use 2: \hyperfootnote[My website]{www.mywebsite.com}: creates a clickable piece of text in the text ('My website') plus a footnote consisting of a clickable URL
n@1102 31 % Note: requires the hyperref package.
n@1102 32 % Note: using xspace package to add/absorb spaces when necessary (e.g. to avoid a space between the footnote number and a punctuation mark)
n@1102 33
djmoffat@1099 34 %% DOI
djmoffat@1099 35 %\doi{10.475/123_4}
djmoffat@1099 36 %
djmoffat@1099 37 %% ISBN
djmoffat@1099 38 %\isbn{123-4567-24-567/08/06}
djmoffat@1099 39 %
djmoffat@1099 40 %%Conference
djmoffat@1099 41 %\conferenceinfo{PLDI '13}{June 16--19, 2013, Seattle, WA, USA}
djmoffat@1099 42 %
djmoffat@1099 43 %\acmPrice{\$15.00}
djmoffat@1099 44
djmoffat@1099 45 %
djmoffat@1099 46 % --- Author Metadata here ---
djmoffat@1099 47 \conferenceinfo{Web Audio Conference WAC-2016,}{April 4--6, 2016, Atlanta, USA}
djmoffat@1099 48 \CopyrightYear{2016} % Allows default copyright year (20XX) to be over-ridden - IF NEED BE.
djmoffat@1099 49 %\crdata{0-12345-67-8/90/01} % Allows default copyright data (0-89791-88-6/97/05) to be over-ridden - IF NEED BE.
djmoffat@1099 50 % --- End of Author Metadata ---
djmoffat@1099 51
djmoffat@1099 52 \title{Web Audio Evaluation Tool: A framework for subjective assessment of audio}
djmoffat@1099 53 %\subtitle{[Extended Abstract]
djmoffat@1099 54 %\titlenote{A full version of this paper is available as
djmoffat@1099 55 %\textit{Author's Guide to Preparing ACM SIG Proceedings Using
djmoffat@1099 56 %\LaTeX$2_\epsilon$\ and BibTeX} at
djmoffat@1099 57 %\texttt{www.acm.org/eaddress.htm}}}
djmoffat@1099 58 %
djmoffat@1099 59 % You need the command \numberofauthors to handle the 'placement
djmoffat@1099 60 % and alignment' of the authors beneath the title.
djmoffat@1099 61 %
djmoffat@1099 62 % For aesthetic reasons, we recommend 'three authors at a time'
djmoffat@1099 63 % i.e. three 'name/affiliation blocks' be placed beneath the title.
djmoffat@1099 64 %
djmoffat@1099 65 % NOTE: You are NOT restricted in how many 'rows' of
djmoffat@1099 66 % "name/affiliations" may appear. We just ask that you restrict
djmoffat@1099 67 % the number of 'columns' to three.
djmoffat@1099 68 %
djmoffat@1099 69 % Because of the available 'opening page real-estate'
djmoffat@1099 70 % we ask you to refrain from putting more than six authors
djmoffat@1099 71 % (two rows with three columns) beneath the article title.
djmoffat@1099 72 % More than six makes the first-page appear very cluttered indeed.
djmoffat@1099 73 %
djmoffat@1099 74 % Use the \alignauthor commands to handle the names
djmoffat@1099 75 % and affiliations for an 'aesthetic maximum' of six authors.
djmoffat@1099 76 % Add names, affiliations, addresses for
djmoffat@1099 77 % the seventh etc. author(s) as the argument for the
djmoffat@1099 78 % \additionalauthors command.
djmoffat@1099 79 % These 'additional authors' will be output/set for you
djmoffat@1099 80 % without further effort on your part as the last section in
djmoffat@1099 81 % the body of your article BEFORE References or any Appendices.
djmoffat@1099 82
djmoffat@1099 83 % FIVE authors instead of four, to leave space between first two authors.
djmoffat@1099 84 \numberofauthors{6} % in this sample file, there are a *total*
djmoffat@1099 85 % of EIGHT authors. SIX appear on the 'first-page' (for formatting
djmoffat@1099 86 % reasons) and the remaining two appear in the \additionalauthors section.
djmoffat@1099 87 %
djmoffat@1099 88 \author{
djmoffat@1099 89 % You can go ahead and credit any number of authors here,
djmoffat@1099 90 % e.g. one 'row of three' or two rows (consisting of one row of three
djmoffat@1099 91 % and a second row of one, two or three).
djmoffat@1099 92 %
djmoffat@1099 93 % The command \alignauthor (no curly braces needed) should
djmoffat@1099 94 % precede each author name, affiliation/snail-mail address and
djmoffat@1099 95 % e-mail address. Additionally, tag each line of
djmoffat@1099 96 % affiliation/address with \affaddr, and tag the
djmoffat@1099 97 % e-mail address with \email.
djmoffat@1099 98 %
djmoffat@1099 99 % 1st. author
djmoffat@1099 100 \alignauthor Nicholas Jillings\textsuperscript{2}\\
djmoffat@1099 101 \email{nicholas.jillings@mail.bcu.ac.uk}
djmoffat@1099 102 % 2nd. author
djmoffat@1099 103 \alignauthor
djmoffat@1099 104 \alignauthor Brecht De Man\textsuperscript{1}\\
djmoffat@1099 105 \email{b.deman@qmul.ac.uk}
djmoffat@1099 106 \and
djmoffat@1099 107 % use '\and' if you need 'another row' of author names
djmoffat@1099 108 % 3rd. author
djmoffat@1099 109 \alignauthor David Moffat\textsuperscript{1}\\
djmoffat@1099 110 \email{d.j.moffat@qmul.ac.uk}
djmoffat@1099 111 % 4th. author
djmoffat@1099 112 \alignauthor Joshua D. Reiss\textsuperscript{1}\\
djmoffat@1099 113 \email{joshua.reiss@qmul.ac.uk}
djmoffat@1099 114 \alignauthor Ryan Stables\textsuperscript{2}\\
djmoffat@1099 115 \email{ryan.stables@bcu.ac.uk}
djmoffat@1099 116 \and % new line for address
djmoffat@1099 117 \affaddr{Centre for Digital Music, School of Electronic Engineering and Computer Science\textsuperscript{1}}\\
djmoffat@1099 118 \affaddr{Queen Mary University of London}\\
djmoffat@1099 119 \affaddr{Mile End Road,}
djmoffat@1099 120 \affaddr{London E1 4NS}\\
djmoffat@1099 121 \affaddr{United Kingdom}\\
djmoffat@1099 122 \and
djmoffat@1099 123 \affaddr{Digital Media Technology Lab\textsuperscript{2}}\\
djmoffat@1099 124 \affaddr{Birmingham City University}\\
djmoffat@1099 125 \affaddr{Birmingham B4 7XG}\\
djmoffat@1099 126 \affaddr{United Kingdom}\\
djmoffat@1099 127 }
djmoffat@1099 128 %Centre for Digital Music, School of Electronic Engineering and Computer Science, Queen Mary University of London
djmoffat@1099 129 %% 5th. author
djmoffat@1099 130 %\alignauthor Sean Fogarty\\
djmoffat@1099 131 % \affaddr{NASA Ames Research Center}\\
djmoffat@1099 132 % \affaddr{Moffett Field}\\
djmoffat@1099 133 % \email{fogartys@amesres.org}
djmoffat@1099 134 %% 6th. author
djmoffat@1099 135 %\alignauthor Charles Palmer\\
djmoffat@1099 136 % \affaddr{Palmer Research Laboratories}\\
djmoffat@1099 137 % \affaddr{8600 Datapoint Drive}\\
djmoffat@1099 138 % \email{cpalmer@prl.com}
djmoffat@1099 139 %}
djmoffat@1099 140 % There's nothing stopping you putting the seventh, eighth, etc.
djmoffat@1099 141 % author on the opening page (as the 'third row') but we ask,
djmoffat@1099 142 % for aesthetic reasons that you place these 'additional authors'
djmoffat@1099 143 % in the \additional authors block, viz.
djmoffat@1099 144 %\additionalauthors{Additional authors: John Smith (The Th{\o}rv{\"a}ld Group,
djmoffat@1099 145 %email: {\texttt{jsmith@affiliation.org}}) and Julius P.~Kumquat
djmoffat@1099 146 %(The Kumquat Consortium, email: {\texttt{jpkumquat@consortium.net}}).}
djmoffat@1099 147 \date{1 October 2015}
djmoffat@1099 148 % Just remember to make sure that the TOTAL number of authors
djmoffat@1099 149 % is the number that will appear on the first page PLUS the
djmoffat@1099 150 % number that will appear in the \additionalauthors section.
djmoffat@1099 151
djmoffat@1099 152 \maketitle
djmoffat@1099 153 \begin{abstract}
n@1102 154 Perceptual listening tests are commonplace in audio research and a vital form of evaluation. % ?
n@1102 155 While a large number of tools exist to run such tests, many feature just one test type, are platform dependent, run on proprietary software, or require considerable configuration and programming. Using Web Audio, the Web Audio Evaluation Tool (WAET) addresses these concerns by having one toolbox which can be configured to run many different tests, perform it through a web browser and without needing proprietary software or computer programming knowledge. In this paper the role of the Web Audio API in giving WAET key functionalities are shown. The paper also highlights less common features, available to web based tools, such as easy remote testing environment and in-browser analytics.
djmoffat@1099 156 \end{abstract}
djmoffat@1099 157
djmoffat@1099 158
djmoffat@1099 159 \section{Introduction}
djmoffat@1099 160
djmoffat@1099 161 % Listening tests/perceptual audio evaluation: what are they, why are they important
djmoffat@1099 162 % As opposed to limited scope of WAC15 paper: also musical features, realism of sound effects / sound synthesis, performance of source separation and other algorithms...
n@1102 163 Perceptual evaluation of audio, using listening tests, is a powerful way to assess anything from audio codec quality over realism of sound synthesis to the performance of source separation, automated music production and other auditory evaluations.
djmoffat@1099 164 In less technical areas, the framework of a listening test can be used to measure emotional response to music or test cognitive abilities.
djmoffat@1099 165 % maybe some references? If there's space.
djmoffat@1099 166
djmoffat@1099 167 % check out http://link.springer.com/article/10.1007/s10055-015-0270-8 - only paper that cited WAC15 paper
djmoffat@1099 168
djmoffat@1099 169 % Why difficult? Challenges? What constitutes a good interface?
djmoffat@1099 170 % Technical, interfaces, user friendliness, reliability
n@1102 171 Several applications for performing perceptual listening tests currently exist, see~\Cref{tab:toolboxes}. Many rely on proprietary, third party software such as MATLAB and Max, making them less attractive for many. With the exception of the existing JavaScript-based toolboxes, remote deployment (web-based test hosting and result collection) is not possible.
djmoffat@1099 172
n@1102 173 HULTI-GEN~\cite{hultigen} is an example of a toolbox that presents the user with a large number of different test interfaces and customisation, without requiring knowledge of any programming language. The Web Audio Evaluation Toolbox (WAET), presented here, stands out for the same reasons but in addition does not require proprietary software or a specific platform. It also provides a wide range of interface and test types in one user friendly environment. Furthermore, any test based on the default test types can be configured in the browser as well. Note that the design of an effective listening test further poses many challenges unrelated to interface design, which are beyond the scope of this paper \cite{bech}.
djmoffat@1099 174
djmoffat@1099 175 % Why in the browser?
n@1102 176 The Web Audio API provides important features including sample level manipulation of audio streams \cite{schoeffler2015mushra} and synchronous and flexible playback. Operating in the browser allows leveraging the flexible JavaScript language and native support for web documents, such as the extensible markup language (XML) which is used for configuration and test result files. Using the web also reduces deployment requirements to a basic web server with extra functionality, such as test collection and automatic processing, using PHP. As recruiting participants can be very time-consuming, and as for some tests a large number of participants is needed, browser-based tests can enable participants in multiple locations to perform the test simultaneously \cite{schoeffler2015mushra}.
djmoffat@1099 177
n@1102 178 Both BeaqleJS \cite{beaqlejs} and \hyperfootnote[mushraJS][https://]{github.com/akaroice/mushraJS} also operate in the browser. However, BeaqleJS does not make use of the Web Audio API and therefore lacks arbitrary manipulation of audio stream samples, and neither offer an adequately wide choice of test designs for them to be useful to many researchers. %requires programming knowledge?...
djmoffat@1099 179
djmoffat@1099 180 % only browser-based?
djmoffat@1099 181 \begin{table*}[ht]
djmoffat@1099 182 \caption{Table with existing listening test platforms and their features}
djmoffat@1099 183 \small
djmoffat@1099 184 \begin{center}
djmoffat@1099 185 \begin{tabular}{|*{9}{l|}}
djmoffat@1099 186 \hline
djmoffat@1099 187 \textbf{Toolbox} & \rot{\textbf{APE}} & \rot{\textbf{BeaqleJS}} &\rot{\textbf{HULTI-GEN}} & \rot{\textbf{mushraJS}} & \rot{\textbf{MUSHRAM}} & \rot{\textbf{Scale}} & \rot{\textbf{WhisPER}} & \rot{\textbf{WAET}} \\ \hline
djmoffat@1099 188 \textbf{Reference} & \cite{ape} & \cite{beaqlejs} & \cite{hultigen} & & \cite{mushram} & \cite{scale} & \cite{whisper} & \cite{waet} \\ \hline
djmoffat@1099 189 \textbf{Language} & MATLAB & JS & MAX & JS & MATLAB & MATLAB & MATLAB & JS \\ \hline
djmoffat@1099 190 \textbf{Remote} & & (\checkmark) & & \checkmark & & & & \checkmark \\ \hline \hline
djmoffat@1099 191 MUSHRA (ITU-R BS. 1534) & & \checkmark & \checkmark & \checkmark & \checkmark & & & \checkmark \\ \hline
djmoffat@1099 192 APE & \checkmark & & & & & & & \checkmark \\ \hline
djmoffat@1099 193 Rank Scale & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 194 Likert Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
djmoffat@1099 195 ABC/HR (ITU-R BS. 1116) & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 196 -50 to 50 Bipolar with ref. & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 197 Absolute Category Rating Scale & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 198 Degradation Category Rating Scale & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 199 Comparison Category Rating Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
djmoffat@1099 200 9 Point Hedonic Category Rating Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
djmoffat@1099 201 ITU-R 5 Continuous Impairment Scale & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 202 Pairwise / AB Test & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 203 Multi-attribute ratings & & & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 204 ABX Test & & \checkmark & \checkmark & & & & & \checkmark \\ \hline
djmoffat@1099 205 Adaptive psychophysical methods & & & & & & & \checkmark & \\ \hline
djmoffat@1099 206 Repertory Grid Technique & & & & & & & \checkmark & \\ \hline
djmoffat@1099 207 Semantic Differential & & & & & & \checkmark & \checkmark &\checkmark \\ \hline
djmoffat@1099 208 n-Alternative Forced Choice & & & & & & \checkmark & & \\ \hline
djmoffat@1099 209 \end{tabular}
djmoffat@1099 210 \end{center}
n@1102 211 \vspace{-.5cm}
djmoffat@1099 212 \label{tab:toolboxes}
djmoffat@1099 213 \end{table*}
n@1102 214
djmoffat@1099 215 %
djmoffat@1099 216 %Selling points: remote tests, visualisaton, create your own test in the browser, many interfaces, few/no dependencies, flexibility
djmoffat@1099 217
djmoffat@1099 218 %[Talking about what we do in the various sections of this paper. Referring to \cite{waet}. ]
n@1102 219 To meet the need for a cross-platform, versatile and easy-to-use listening test tool, we previously developed the Web Audio Evaluation Tool \cite{waet} which was capable of running a listening test in the browser from an XML configuration file, and storing an XML file as well, with one particular interface. This has now expanded into a tool with which a wide range of listening test types can easily be constructed and set up remotely, without any need for manually altering code or configuration files, and allows visualisation of the collected results in the browser. In this paper, we discuss these different aspects and explore which future improvements would be possible.
djmoffat@1099 220
djmoffat@1099 221 \begin{figure}[tb]
djmoffat@1099 222 \centering
djmoffat@1099 223 \includegraphics[width=.5\textwidth]{interface.png}
djmoffat@1099 224 \caption{A simple example of a multi-stimulus, single attribute, single rating scale test with a reference and comment fields.}
djmoffat@1099 225 \label{fig:interface}
djmoffat@1099 226 \end{figure}
djmoffat@1099 227
djmoffat@1099 228 \begin{comment}
djmoffat@1099 229 % MEETING 8 OCTOBER
djmoffat@1099 230 \subsection{Meeting 8 October}
djmoffat@1099 231 \begin{itemize}
djmoffat@1099 232 \item Do we manipulate audio?\\
djmoffat@1099 233 \begin{itemize}
djmoffat@1099 234 \item Add loudness equalisation? (test\_create.html) Tag with gains.
djmoffat@1099 235 \item Add volume slider?
djmoffat@1099 236 \item Cross-fade (in interface node): default 0, number of seconds
djmoffat@1099 237 \item Also: we use the playback buffer to present metrics of which portion is listened to
djmoffat@1099 238 \end{itemize}
djmoffat@1099 239 \item Logging system information: whichever are possible (justify others)
djmoffat@1099 240 \item Input streams as audioelements
djmoffat@1099 241 \item Capture microphone to estimate loudness (especially Macbook)
djmoffat@1099 242 \item Test page (in-built oscillators): left-right calibration, ramp up test tone until you hear it; optional compensating EQ (future work implementing own filters) --> Highlight issues!
djmoffat@1099 243 \item Record IP address (PHP function, grab and append to XML file)
djmoffat@1099 244 \item Expand anchor/reference options
djmoffat@1099 245 \item AB / ABX
djmoffat@1099 246 \end{itemize}
djmoffat@1099 247
djmoffat@1099 248 \subsubsection{Issues}
djmoffat@1099 249 \begin{itemize}
djmoffat@1099 250 \item Filters not consistent (Nick to test across browsers)
djmoffat@1099 251 \item Playback audiobuffers need to be destroyed and rebuilt each time
djmoffat@1099 252 \item Can't get channel data, hardware input/output...
djmoffat@1099 253 \end{itemize}
djmoffat@1099 254 \end{comment}
djmoffat@1099 255
djmoffat@1099 256 \section{Architecture} % title? 'back end'? % NICK
djmoffat@1099 257 \label{sec:architecture}
djmoffat@1099 258 %A slightly technical overview of the system. Talk about XML, JavaScript, Web Audio API, HTML5.
djmoffat@1099 259
djmoffat@1099 260 Although WAET uses a sparse subset of the Web Audio API functionality, its performance comes directly from it. Listening tests can convey large amounts of information other than obtaining the perceptual relationship between the audio fragments. With WAET it is possible to track which parts of the audio fragments were listened to and when, at what point in the audio stream the participant switched to a different fragment, and how a fragment's rating was adjusted over time within a session, to name a few. Not only does this allow evaluation of a wealth of perceptual aspects, but it also helps detect poor participants whose results are potentially not representative.
djmoffat@1099 261
n@1102 262 One of the key initial design parameters for WAET was to make the tool as open as possible to non-programmers. To this end, all of the user modifiable options are included in a single XML document, referred to as the specification document, that can be written manually (or modifying an existing document or template) or using the included test creator. The test creator can modify existing specification documents or generate new ones in an intuitive yet powerful HTML GUI. This simplifies the creation of elements by visualising the data structure with explanatory text.
djmoffat@1099 263
djmoffat@1099 264 %Describe and/or visualise audioholder-audioelement-... structure.
n@1102 265 The specification document contains the URL of the audio fragments for each test page. These fragments are downloaded asynchronously in the test and decoded offline by the Web Audio offline decoder. The LUFS integrated loudness of the buffers are calculated \cite{loudness201510} and stored to enable on-the-fly loudness normalisation. If the playback uses synchronous looping, the buffers are zero-padded accordingly. Performing these in the browser removes any need for pre-processing. The resulting buffers are assigned to a custom Audio Objects node which tracks the fragment buffer, the Web Audio \textit{bufferSourceNode}, and other specification attributes including its ID, the interface object(s) associated with the fragment and any metric or data collection objects. The Audio Object is controlled by an over-arching custom Audio Engine node allowing for session wide control of the Audio Objects.
djmoffat@1099 266
n@1102 267 The only significant issue with this model is the \textit{bufferNode} in the Web Audio API, implemented in the standard as a `use once' object. Once the node has been played, it must be discarded as it cannot be instructed to play again. Therefore on each play request the \textit{bufferSourceNode} must be created and then linked with the stored \textit{bufferNode}. This is an odd behaviour with no alternative except to use the HTML5 audio element, but they do not have the ability to synchronously start on a given time and therefore not suited.
djmoffat@1099 268
n@1102 269 In the test, each buffer node is connected to a gain node configured by the loudness normalisation and any user specified gain. Therefore it is possible to perform a `Method of Adjustment' test where an interface could directly manipulate these gain nodes. These gain nodes are used for cross-fading between samples when operating in synchronous playback. Cross-fading can either be fade-out followed by a fade-in, or a true cross-fade. This is achieved by using the AudioParam controls to provide linear ramping from 0 to the calculated playback level. There is also an optional `Master Volume' slider which can be shown on the test GUI to modify a gain node before the destination. The control's position is tracked providing extra test use validation. This is not indicative of the final volume exiting the speakers, though, not least because the browser cannot read the system volume. Therefore its use should only be considered in a lab environment to ensure results are representative.
djmoffat@1099 270
djmoffat@1099 271 %Which type of files? WAV, anything else? Perhaps not exhaustive list, but say something along the lines of 'whatever browser supports'. Compatability?
n@1102 272 The media files supported depend on the browser level support for the initial decoding of information and is the same as the browser support for the HTML5 audio element. The most widely supported media file is the wave (.WAV) format which is accepted by every browser supporting the Web Audio API. Most browsers support floating point WAV except Firefox. To resolve this, the tool includes its own wave file decoder to extract the samples. The toolbox works in any browser which supports the Web Audio API and HTML 5.
djmoffat@1099 273
n@1102 274 All collected session data is returned in an XML document structured similarly to the configuration document, where test pages contain the audio elements with their trace collection, results, comments and any interface-specific data points.
djmoffat@1099 275
djmoffat@1099 276 \section{Remote tests} % with previous?
djmoffat@1099 277 \label{sec:remote}
djmoffat@1099 278
n@1102 279 If the experimenter is willing to trade some degree of control for a higher number of participants, the test can be hosted on a public web server. This way, a link can be shared widely in the hope of attracting a large amount of subjects, while listening conditions and subject reliability may be less ideal. However, a sound system calibration page and the range of metrics logged mitigate these problems. In some experiments, it may be preferred that the subject has a `real life', familiar listening set-up, for instance when perceived quality differences on everyday sound systems are investigated.
djmoffat@1099 280 Furthermore, a fully browser-based test, where the collection of the results is automatic, is more efficient and technically reliable even when the test still takes place under lab conditions.
djmoffat@1099 281
djmoffat@1099 282 The following features allow easy and effective remote testing:
n@1102 283 \begin{itemize}[noitemsep,nolistsep] % replaced description list with itemize as it went outside the margins
n@1102 284 \item \textbf{PHP script to collect result XML files} and store on central server.
n@1102 285 \item \textbf{Randomly pick a specified number of pages} to ensure an equal and randomised spread of the different pages across participants.
n@1102 286 \item \textbf{Calibration of the sound system (and participant)} by a perceptual pre-test to gather information about the frequency response and speaker configuration - this can be supplemented with a survey.
djmoffat@1099 287 % In theory calibration could be applied anywhere??
djmoffat@1099 288 % \item Functionality to participate multiple times
djmoffat@1099 289 % \begin{itemize}[noitemsep,nolistsep]
djmoffat@1099 290 % \item Possible to log in with unique ID (no password)
djmoffat@1099 291 % \item Pick `new user' (generates new, unique ID) or `already participated' (need already available ID)
djmoffat@1099 292 % \item Store XML on server with IDs plus which audioholders have already been listened to
djmoffat@1099 293 % \item Don't show `post-test' survey after first time
djmoffat@1099 294 % \item Pick `new' audioholders if available
djmoffat@1099 295 % \item Copy survey information first time to new XMLs
djmoffat@1099 296 % \end{itemize}
n@1102 297 \item \textbf{Intermediate saves} for tests which were interrupted or unfinished.
n@1102 298 \item \textbf{Collect IP address information} for geographic location, through PHP function which grabs address and appends to XML file.
n@1102 299 \item \textbf{Collect browser and display information} to the extent it is available and reliable.
n@1102 300 \end{itemize}
djmoffat@1099 301
djmoffat@1099 302
djmoffat@1099 303 \section{Interfaces} % title? 'Front end'? % Dave
djmoffat@1099 304 \label{sec:interfaces}
djmoffat@1099 305
n@1102 306 The purpose of this listening test framework is to allow any user the maximum flexibility to design a listening test for their exact application with minimum effort. To this end, a large range of standard listening test interfaces have been implemented, including
djmoffat@1099 307 \begin{itemize}[noitemsep,nolistsep]
n@1102 308 \item AB Test~\cite{lipshitz1981great}: Two stimuli presented simultaneously, participant selects a preferred stimulus.
n@1102 309 \item ABC/HR (ITU-R BS. 1116)~\cite{recommendation19971116} (Mean Opinion Score: MOS): each stimulus has a continuous scale (5-1), labeled as Imperceptible, Perceptible but not annoying, Slightly annoying, Annoying, Very annoying.
n@1102 310 \item -50 to 50 Bipolar with Ref: each stimulus has a continuous scale -50 to 50 with default values as 0 in middle and a reference.
n@1102 311 \item Absolute Category Rating (ACR) Scale~\cite{rec1996p}: Likert but labels are Bad, Poor, Fair, Good, Excellent
n@1102 312 \item ABX Test~\cite{clark1982high}: Two stimuli are presented along with a reference and the participant has to select a preferred stimulus, often the closest to the reference.
n@1102 313 \item APE \cite{ape}: Multiple stimuli on one or more axes for inter-sample rating.
n@1102 314 %\item APE style 2D \cite{ape}: Multiple stimuli on a 2D plane for inter-sample rating (e.g. Valence Arousal).
n@1102 315 \item Comparison Category Rating (CCR) Scale~\cite{rec1996p}: ACR \& DCR but 7 point scale, with reference: Much better, Better, Slightly better, About the same, Slightly worse, Worse, Much worse.
n@1102 316 \item Degredation Category Rating (DCR) Scale~\cite{rec1996p}: ABC \& Likert but labels are (5) Inaudible, (4) Audible but not annoying, (3) Slightly annoying, (2) Annoying, (1) Very annoying.
n@1102 317 \item ITU-R 5 Point Continuous Impairment Scale~\cite{rec1997bs}: Same as ABC/HR but with a reference.
n@1102 318 \item Likert scale~\cite{likert1932technique}: each stimulus has a five point scale with values: Strongly agree, Agree, Neutral, Disagree and Strongly disagree.
n@1102 319 \item MUSHRA (ITU-R BS. 1534)~\cite{recommendation20031534}
djmoffat@1099 320 \begin{comment}
djmoffat@1099 321 \begin{itemize}[noitemsep,nolistsep]
djmoffat@1099 322 \item Multiple stimuli are presented and rated on a continuous scale, which includes a reference, hidden reference and hidden anchors.
djmoffat@1099 323 \end{itemize}
djmoffat@1099 324 \end{comment}
n@1102 325 \item Pairwise Comparison (Better/Worse)~\cite{david1963method}: every stimulus is rated as being either better or worse than the reference.
djmoffat@1099 326 \item Rank Scale~\cite{pascoe1983evaluation}: stimuli ranked on single horizontal scale, where they are ordered in preference order.
n@1102 327 \item 9 Point Hedonic Category Rating Scale~\cite{peryam1952advanced}: each stimulus has a seven point scale with values: Like extremely, Like very much, Like moderate, Like slightly, Neither like nor dislike, Dislike extremely, Dislike very much, Dislike moderate, Dislike slightly. There is also a provided reference.
djmoffat@1099 328 \end{itemize}
djmoffat@1099 329
n@1102 330 It is possible to include any number of references, hidden references, hidden anchors and comment fields into all of these listening test formats.
djmoffat@1099 331
n@1102 332 Because of the design to have separate core code and interface modules, it is possible for a third party interface to be built with minimal effort. The repository includes a boilerplate (blank.js) and documentation on which functions must be called and the specific functions they expect your interface to perform. The core includes an `Interface' object which includes object prototypes for the on-page comment boxes (including those with radio or checkbox responses), start and stop buttons and the playhead / transport bars.
djmoffat@1099 333
djmoffat@1099 334 %%%% \begin{itemize}[noitemsep,nolistsep]
djmoffat@1099 335 %%%% \item (APE style) \cite{ape}
djmoffat@1099 336 %%%% \item Multi attribute ratings
djmoffat@1099 337 %%%% \item MUSHRA (ITU-R BS. 1534)~\cite{recommendation20031534}
djmoffat@1099 338 %%%% \item Interval Scale~\cite{zacharov1999round}
djmoffat@1099 339 %%%% \item Rank Scale~\cite{pascoe1983evaluation}
djmoffat@1099 340 %%%%
djmoffat@1099 341 %%%% \item 2D Plane rating - e.g. Valence vs. Arousal~\cite{carroll1969individual}
djmoffat@1099 342 %%%% \item Likert scale~\cite{likert1932technique}
djmoffat@1099 343 %%%%
djmoffat@1099 344 %%%% \item {\bf All the following are the interfaces available in HULTI-GEN~\cite{hultigen} }
djmoffat@1099 345 %%%% \item ABC/HR (ITU-R BS. 1116)~\cite{recommendation19971116}
djmoffat@1099 346 %%%% \begin{itemize}
djmoffat@1099 347 %%%% \item Continuous Scale (5-1) Imperceptible, Perceptible but not annoying, slightly annoying, annoying, very annoying. (default Inaudible?)
djmoffat@1099 348 %%%% \end{itemize}
djmoffat@1099 349 %%%% \item -50 to 50 Bipolar with Ref
djmoffat@1099 350 %%%% \begin{itemize}
djmoffat@1099 351 %%%% \item Scale -50 to 50 on Mushra with default values as 0 in middle and a comparison ``Reference'' to compare to 0 value
djmoffat@1099 352 %%%% \end{itemize}
djmoffat@1099 353 %%%% \item Absolute Category Rating (ACR) Scale~\cite{rec1996p}
djmoffat@1099 354 %%%% \begin{itemize}
djmoffat@1099 355 %%%% \item 5 point Scale - Bad, Poor, Fair, Good, Excellent (Default fair?)
djmoffat@1099 356 %%%% \end{itemize}
djmoffat@1099 357 %%%% \item Degredation Category Rating (DCR) Scale~\cite{rec1996p}
djmoffat@1099 358 %%%% \begin{itemize}
djmoffat@1099 359 %%%% \item 5 point Scale - Inaudible, Audible but not annoying, slightly annoying, annoying, very annoying. (default Inaudible?) - {\it Basically just quantised ABC/HR?}
djmoffat@1099 360 %%%% \end{itemize}
djmoffat@1099 361 %%%% \item Comparison Category Rating (CCR) Scale~\cite{rec1996p}
djmoffat@1099 362 %%%% \begin{itemize}
djmoffat@1099 363 %%%% \item 7 point scale: Much Better, Better, Slightly Better, About the same, slightly worse, worse, much worse - Default about the same with reference to compare to
djmoffat@1099 364 %%%% \end{itemize}
djmoffat@1099 365 %%%% \item 9 Point Hedonic Category Rating Scale~\cite{peryam1952advanced}
djmoffat@1099 366 %%%% \begin{itemize}
djmoffat@1099 367 %%%% \item 9 point scale: Like Extremely, Like Very Much, Like Moderate, Like Slightly, Neither Like nor Dislike, dislike Extremely, dislike Very Much, dislike Moderate, dislike Slightly - Default Neither Like nor Dislike with reference to compare to
djmoffat@1099 368 %%%% \end{itemize}
djmoffat@1099 369 %%%% \item ITU-R 5 Point Continuous Impairment Scale~\cite{rec1997bs}
djmoffat@1099 370 %%%% \begin{itemize}
djmoffat@1099 371 %%%% \item 5 point Scale (5-1) Imperceptible, Perceptible but not annoying, slightly annoying, annoying, very annoying. (default Inaudible?)- {\it Basically just quantised ABC/HR, or Different named DCR}
djmoffat@1099 372 %%%% \end{itemize}
djmoffat@1099 373 %%%% \item Pairwise Comparison (Better/Worse)~\cite{david1963method}
djmoffat@1099 374 %%%% \begin{itemize}
djmoffat@1099 375 %%%% \item 2 point Scale - Better or Worse - (not sure how to default this - they default everything to better, which is an interesting choice)
djmoffat@1099 376 %%%% \end{itemize}
djmoffat@1099 377 %%%% \end{itemize}
djmoffat@1099 378
djmoffat@1099 379 % Build your own test
djmoffat@1099 380
djmoffat@1099 381 \begin{comment}
djmoffat@1099 382 { \bf A screenshot would be nice.
djmoffat@1099 383
djmoffat@1099 384 Established tests (see below) included as `presets' in the build-your-own-test page. }
djmoffat@1099 385 \end{comment}
djmoffat@1099 386
djmoffat@1099 387 \section{Analysis and diagnostics}
djmoffat@1099 388 \label{sec:analysis}
djmoffat@1099 389 % don't mention Python scripts
djmoffat@1099 390 There are several benefits to providing basic analysis tools in the browser: they allow diagnosing problems, with the interface or with the test subject; they may be sufficient for many researchers' purposes; and test subjects may enjoy seeing an overview of their own results and/or results thus far at the end of their tests.
n@1102 391
djmoffat@1099 392 For this reason, we include a proof-of-concept web page with:
djmoffat@1099 393 \begin{itemize}[noitemsep,nolistsep]
n@1102 394 \item All page IDs, file names, subject IDs, audio element IDs, ... in the collected XMLs so far
djmoffat@1099 395 \item Selection of subjects and/or test samples to zoom in on a subset of the data %Check/uncheck each of the above for analysis (e.g. zoom in on a certain song, or exclude a subset of subjects)
djmoffat@1099 396 \item Embedded audio to hear corresponding test samples % (follow path in XML setup file, which is also embedded in the XML result file)
n@1102 397 \item Scatter plot, confidence plot and box plot of rating values (see Figure \ref{fig:boxplot})
djmoffat@1099 398 \item Timeline for a specific subject %(see Figure \ref{fig:timeline})%, perhaps re-playing the experiment in X times realtime. (If actual realtime, you could replay the audio...)
djmoffat@1099 399 \item Distribution plots of any radio button and number questions in pre- and post-test survey %(drop-down menu with `pretest', `posttest', ...; then drop-down menu with question `IDs' like `gender', `age', ...; make pie chart/histogram of these values over selected range of XMLs)
djmoffat@1099 400 \item All `comments' on a specific audioelement
djmoffat@1099 401 \item A `download' function for a CSV of ratings, survey responses and comments% various things (values, survey responses, comments) people might want to use for analysis, e.g. when XML scares them
djmoffat@1099 402 %\item Validation of setup XMLs (easily spot `errors', like duplicate IDs or URLs, missing/dangling tags, ...)
djmoffat@1099 403 \end{itemize}
djmoffat@1099 404
n@1102 405 \begin{figure}[tbh]
n@1102 406 \centering
n@1102 407 \includegraphics[width=.5\textwidth]{boxplot.png}
n@1102 408 %\caption{This timeline of a single subject's listening test shows playback of fragments (red segments) and marker movements on the rating axis in function of time. }
n@1102 409 \caption{Box and whisker plot showing the aggregated numerical ratings of six stimuli by a group of subjects.}
n@1102 410 \label{fig:boxplot}
n@1102 411 \end{figure}
djmoffat@1099 412
djmoffat@1099 413 %A subset of the above would already be nice for this paper.
n@1102 414 \section{Concluding remarks}
djmoffat@1099 415 \label{sec:conclusion}
djmoffat@1099 416
n@1102 417 We have developed a browser-based tool for the design and deployment of listening tests, requiring no programming experience or proprietary software. Following the predictions or guidelines in \cite{schoeffler2015mushra}, it supports remote testing, cross-fading between audio streams, collecting information about the system, among others.
djmoffat@1099 418
n@1102 419 Whereas many other types of interfaces do exist, we felt that supporting e.g.~a range of `method of adjustment' tests would be beyond the scope of a tool that aims to be versatile enough while not claiming to support any custom experiment one might want to set up. Rather, it supports intuitive creation of non-adaptive listening tests up to multi-stimulus, multi-attribute evaluation including references, anchors, text boxes, radio buttons and/or checkboxes, with arbitrary placement of the various UI elements, and many standard test `presets' already available.
djmoffat@1099 420
n@1102 421 The code and documentation can be downloaded from the \hyperfootnote[SoundSoftware repository][https://]{code.soundsoftware.ac.uk/projects/webaudioevaluationtool}.
djmoffat@1099 422 % remote
djmoffat@1099 423 % language support (not explicitly stated)
djmoffat@1099 424 % crossfades
djmoffat@1099 425 % choosing speakers/sound device from within browser? --- NOT POSSIBLE, can only determine channel output counts and its up to the hardware to determine
djmoffat@1099 426 % collect information about software and sound system
djmoffat@1099 427 % buttons, scales, ... UI elements
djmoffat@1099 428 % must be able to load uncompressed PCM
djmoffat@1099 429
djmoffat@1099 430 %
djmoffat@1099 431 % The following two commands are all you need in the
djmoffat@1099 432 % initial runs of your .tex file to
djmoffat@1099 433 % produce the bibliography for the citations in your paper.
djmoffat@1099 434 \bibliographystyle{ieeetr}
djmoffat@1099 435 \small
djmoffat@1099 436 \bibliography{WAC2016} % sigproc.bib is the name of the Bibliography in this case
djmoffat@1099 437 % You must have a proper ".bib" file
djmoffat@1099 438 % and remember to run:
djmoffat@1099 439 % latex bibtex latex latex
djmoffat@1099 440 % to resolve all references
djmoffat@1099 441 %
djmoffat@1099 442 % ACM needs 'a single self-contained file'!
djmoffat@1099 443 %
djmoffat@1099 444 \end{document}