annotate docs/WAC2016/WAC2016.tex @ 578:49d27886aa03 Dev_main

WAC paper final review
author Brecht De Man <b.deman@qmul.ac.uk>
date Mon, 29 Feb 2016 11:45:22 +0100
parents 653c8523e541
children 30ae94f18d3c
rev   line source
b@308 1 \documentclass{sig-alternate}
b@318 2 \usepackage{hyperref} % make links (like references, links to Sections, ...) clickable
b@318 3 \usepackage{enumitem} % tighten itemize etc by appending '[noitemsep,nolistsep]'
d@321 4 \usepackage{cleveref}
b@308 5
b@329 6 \graphicspath{{img/}} % put the images in this folder
b@329 7
b@308 8 \begin{document}
b@308 9
b@308 10 % Copyright
b@308 11 \setcopyright{waclicense}
b@308 12
nicholas@337 13 \newcommand*\rot{\rotatebox{90}}
nicholas@337 14
b@308 15
b@578 16 % Make clickable footnote (Brecht)
b@578 17 \newcommand{\hyperfootnote}[1][]{\def\ArgI{{#1}}\hyperfootnoteRelay}
b@578 18 % relay to new command to make extra optional command possible
b@578 19 \newcommand\hyperfootnoteRelay[2][]{\href{#1#2}{\ArgI}\footnote{\href{#1#2}{#2}}}
b@578 20 % the first optional argument is now in \ArgI, the second is in #1
b@578 21
b@578 22 % Takes at most 3 parameters (see http://www.tex.ac.uk/FAQ-twooptarg.html for info on multiple optional parameters)
b@578 23 % If first parameter isn't given, it's value is '' (empty string in text before footnote reference)
b@578 24 % If second parameter isn't given, it's value is '' (string before visible URL, e.g. 'http://')
b@578 25 % Makes a clickable footnote (alternatively: \url{}) with optional reference in the text as well
b@578 26 % Use 1: \hyperfootnote{www.mywebsite.com}: creates a footnote consisting of a clickable URL
b@578 27 % 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
b@578 28 % Note: requires the hyperref package.
b@578 29 % Note: using xspace package to add/absorb spaces when necessary (e.g. to avoid a space between the footnote number and a punctuation mark)
b@578 30
b@308 31 %% DOI
b@308 32 %\doi{10.475/123_4}
b@308 33 %
b@308 34 %% ISBN
b@308 35 %\isbn{123-4567-24-567/08/06}
b@308 36 %
b@308 37 %%Conference
b@308 38 %\conferenceinfo{PLDI '13}{June 16--19, 2013, Seattle, WA, USA}
b@308 39 %
b@308 40 %\acmPrice{\$15.00}
b@308 41
b@308 42 %
b@308 43 % --- Author Metadata here ---
b@308 44 \conferenceinfo{Web Audio Conference WAC-2016,}{April 4--6, 2016, Atlanta, USA}
b@308 45 \CopyrightYear{2016} % Allows default copyright year (20XX) to be over-ridden - IF NEED BE.
b@308 46 %\crdata{0-12345-67-8/90/01} % Allows default copyright data (0-89791-88-6/97/05) to be over-ridden - IF NEED BE.
b@308 47 % --- End of Author Metadata ---
b@308 48
b@320 49 \title{Web Audio Evaluation Tool: A framework for subjective assessment of audio}
b@308 50 %\subtitle{[Extended Abstract]
b@308 51 %\titlenote{A full version of this paper is available as
b@308 52 %\textit{Author's Guide to Preparing ACM SIG Proceedings Using
b@308 53 %\LaTeX$2_\epsilon$\ and BibTeX} at
b@308 54 %\texttt{www.acm.org/eaddress.htm}}}
b@308 55 %
b@308 56 % You need the command \numberofauthors to handle the 'placement
b@308 57 % and alignment' of the authors beneath the title.
b@308 58 %
b@308 59 % For aesthetic reasons, we recommend 'three authors at a time'
b@308 60 % i.e. three 'name/affiliation blocks' be placed beneath the title.
b@308 61 %
b@308 62 % NOTE: You are NOT restricted in how many 'rows' of
b@308 63 % "name/affiliations" may appear. We just ask that you restrict
b@308 64 % the number of 'columns' to three.
b@308 65 %
b@308 66 % Because of the available 'opening page real-estate'
b@308 67 % we ask you to refrain from putting more than six authors
b@308 68 % (two rows with three columns) beneath the article title.
b@308 69 % More than six makes the first-page appear very cluttered indeed.
b@308 70 %
b@308 71 % Use the \alignauthor commands to handle the names
b@308 72 % and affiliations for an 'aesthetic maximum' of six authors.
b@308 73 % Add names, affiliations, addresses for
b@308 74 % the seventh etc. author(s) as the argument for the
b@308 75 % \additionalauthors command.
b@308 76 % These 'additional authors' will be output/set for you
b@308 77 % without further effort on your part as the last section in
b@308 78 % the body of your article BEFORE References or any Appendices.
b@308 79
b@316 80 % FIVE authors instead of four, to leave space between first two authors.
n@532 81 \numberofauthors{6} % in this sample file, there are a *total*
b@308 82 % of EIGHT authors. SIX appear on the 'first-page' (for formatting
b@308 83 % reasons) and the remaining two appear in the \additionalauthors section.
b@308 84 %
b@308 85 \author{
b@308 86 % You can go ahead and credit any number of authors here,
b@308 87 % e.g. one 'row of three' or two rows (consisting of one row of three
b@308 88 % and a second row of one, two or three).
b@308 89 %
b@308 90 % The command \alignauthor (no curly braces needed) should
b@308 91 % precede each author name, affiliation/snail-mail address and
b@308 92 % e-mail address. Additionally, tag each line of
b@308 93 % affiliation/address with \affaddr, and tag the
b@308 94 % e-mail address with \email.
b@308 95 %
b@308 96 % 1st. author
n@532 97 \alignauthor Nicholas Jillings\textsuperscript{2}\\
n@528 98 \email{nicholas.jillings@mail.bcu.ac.uk}
n@532 99 % 2nd. author
n@528 100 \alignauthor
n@532 101 \alignauthor Brecht De Man\textsuperscript{1}\\
n@532 102 \email{b.deman@qmul.ac.uk}
n@528 103 \and
n@528 104 % use '\and' if you need 'another row' of author names
b@308 105 % 3rd. author
n@532 106 \alignauthor David Moffat\textsuperscript{1}\\
b@308 107 \email{d.j.moffat@qmul.ac.uk}
b@308 108 % 4th. author
n@532 109 \alignauthor Joshua D. Reiss\textsuperscript{1}\\
b@308 110 \email{joshua.reiss@qmul.ac.uk}
n@532 111 \alignauthor Ryan Stables\textsuperscript{2}\\
n@532 112 \email{ryan.stables@bcu.ac.uk}
b@316 113 \and % new line for address
n@532 114 \affaddr{Centre for Digital Music, School of Electronic Engineering and Computer Science\textsuperscript{1}}\\
b@308 115 \affaddr{Queen Mary University of London}\\
b@308 116 \affaddr{Mile End Road,}
b@308 117 \affaddr{London E1 4NS}\\
b@308 118 \affaddr{United Kingdom}\\
n@532 119 \and
n@532 120 \affaddr{Digital Media Technology Lab\textsuperscript{2}}\\
n@532 121 \affaddr{Birmingham City University}\\
n@532 122 \affaddr{Birmingham B4 7XG}\\
n@532 123 \affaddr{United Kingdom}\\
b@308 124 }
b@308 125 %Centre for Digital Music, School of Electronic Engineering and Computer Science, Queen Mary University of London
b@308 126 %% 5th. author
b@308 127 %\alignauthor Sean Fogarty\\
b@308 128 % \affaddr{NASA Ames Research Center}\\
b@308 129 % \affaddr{Moffett Field}\\
b@308 130 % \email{fogartys@amesres.org}
b@308 131 %% 6th. author
b@308 132 %\alignauthor Charles Palmer\\
b@308 133 % \affaddr{Palmer Research Laboratories}\\
b@308 134 % \affaddr{8600 Datapoint Drive}\\
b@308 135 % \email{cpalmer@prl.com}
b@308 136 %}
b@308 137 % There's nothing stopping you putting the seventh, eighth, etc.
b@308 138 % author on the opening page (as the 'third row') but we ask,
b@308 139 % for aesthetic reasons that you place these 'additional authors'
b@308 140 % in the \additional authors block, viz.
b@308 141 %\additionalauthors{Additional authors: John Smith (The Th{\o}rv{\"a}ld Group,
b@308 142 %email: {\texttt{jsmith@affiliation.org}}) and Julius P.~Kumquat
b@308 143 %(The Kumquat Consortium, email: {\texttt{jpkumquat@consortium.net}}).}
b@308 144 \date{1 October 2015}
b@308 145 % Just remember to make sure that the TOTAL number of authors
b@308 146 % is the number that will appear on the first page PLUS the
b@308 147 % number that will appear in the \additionalauthors section.
b@308 148
b@308 149 \maketitle
b@308 150 \begin{abstract}
b@578 151 Perceptual listening tests are commonplace in audio research and a vital form of evaluation. % ?
b@578 152 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.
b@308 153 \end{abstract}
b@308 154
b@308 155
b@308 156 \section{Introduction}
b@317 157
b@317 158 % Listening tests/perceptual audio evaluation: what are they, why are they important
b@317 159 % As opposed to limited scope of WAC15 paper: also musical features, realism of sound effects / sound synthesis, performance of source separation and other algorithms...
b@578 160 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.
b@329 161 In less technical areas, the framework of a listening test can be used to measure emotional response to music or test cognitive abilities.
b@329 162 % maybe some references? If there's space.
b@317 163
b@318 164 % check out http://link.springer.com/article/10.1007/s10055-015-0270-8 - only paper that cited WAC15 paper
b@318 165
nicholas@328 166 % Why difficult? Challenges? What constitutes a good interface?
nicholas@328 167 % Technical, interfaces, user friendliness, reliability
b@578 168 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.
nicholas@342 169
b@578 170 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}.
b@317 171
b@317 172 % Why in the browser?
n@576 173 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}.
b@329 174
b@578 175 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?...
b@316 176
b@316 177 % only browser-based?
d@321 178 \begin{table*}[ht]
n@334 179 \caption{Table with existing listening test platforms and their features}
nicholas@337 180 \small
n@334 181 \begin{center}
nicholas@337 182 \begin{tabular}{|*{9}{l|}}
n@334 183 \hline
nicholas@337 184 \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
nicholas@337 185 \textbf{Reference} & \cite{ape} & \cite{beaqlejs} & \cite{hultigen} & & \cite{mushram} & \cite{scale} & \cite{whisper} & \cite{waet} \\ \hline
nicholas@337 186 \textbf{Language} & MATLAB & JS & MAX & JS & MATLAB & MATLAB & MATLAB & JS \\ \hline
b@341 187 \textbf{Remote} & & (\checkmark) & & \checkmark & & & & \checkmark \\ \hline \hline
nicholas@337 188 MUSHRA (ITU-R BS. 1534) & & \checkmark & \checkmark & \checkmark & \checkmark & & & \checkmark \\ \hline
nicholas@337 189 APE & \checkmark & & & & & & & \checkmark \\ \hline
nicholas@337 190 Rank Scale & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 191 Likert Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
nicholas@337 192 ABC/HR (ITU-R BS. 1116) & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 193 -50 to 50 Bipolar with ref. & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 194 Absolute Category Rating Scale & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@342 195 Degradation Category Rating Scale & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 196 Comparison Category Rating Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
nicholas@337 197 9 Point Hedonic Category Rating Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
nicholas@337 198 ITU-R 5 Continuous Impairment Scale & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 199 Pairwise / AB Test & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 200 Multi-attribute ratings & & & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 201 ABX Test & & \checkmark & \checkmark & & & & & \checkmark \\ \hline
nicholas@337 202 Adaptive psychophysical methods & & & & & & & \checkmark & \\ \hline
nicholas@337 203 Repertory Grid Technique & & & & & & & \checkmark & \\ \hline
b@341 204 Semantic Differential & & & & & & \checkmark & \checkmark &\checkmark \\ \hline
nicholas@337 205 n-Alternative Forced Choice & & & & & & \checkmark & & \\ \hline
n@334 206 \end{tabular}
n@334 207 \end{center}
b@578 208 \vspace{-.5cm}
n@334 209 \label{tab:toolboxes}
nicholas@337 210 \end{table*}
b@578 211
b@316 212 %
nicholas@328 213 %Selling points: remote tests, visualisaton, create your own test in the browser, many interfaces, few/no dependencies, flexibility
b@317 214
nicholas@331 215 %[Talking about what we do in the various sections of this paper. Referring to \cite{waet}. ]
n@576 216 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.
b@341 217
b@336 218 \begin{figure}[tb]
b@336 219 \centering
b@336 220 \includegraphics[width=.5\textwidth]{interface.png}
b@336 221 \caption{A simple example of a multi-stimulus, single attribute, single rating scale test with a reference and comment fields.}
b@336 222 \label{fig:interface}
b@336 223 \end{figure}
b@336 224
nicholas@328 225 \begin{comment}
b@320 226 % MEETING 8 OCTOBER
b@320 227 \subsection{Meeting 8 October}
b@320 228 \begin{itemize}
b@320 229 \item Do we manipulate audio?\\
b@320 230 \begin{itemize}
b@320 231 \item Add loudness equalisation? (test\_create.html) Tag with gains.
b@320 232 \item Add volume slider?
b@320 233 \item Cross-fade (in interface node): default 0, number of seconds
b@320 234 \item Also: we use the playback buffer to present metrics of which portion is listened to
b@320 235 \end{itemize}
b@320 236 \item Logging system information: whichever are possible (justify others)
b@320 237 \item Input streams as audioelements
b@320 238 \item Capture microphone to estimate loudness (especially Macbook)
b@320 239 \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!
b@320 240 \item Record IP address (PHP function, grab and append to XML file)
b@320 241 \item Expand anchor/reference options
b@320 242 \item AB / ABX
b@320 243 \end{itemize}
b@320 244
b@320 245 \subsubsection{Issues}
b@320 246 \begin{itemize}
b@320 247 \item Filters not consistent (Nick to test across browsers)
b@320 248 \item Playback audiobuffers need to be destroyed and rebuilt each time
b@320 249 \item Can't get channel data, hardware input/output...
b@320 250 \end{itemize}
nicholas@328 251 \end{comment}
b@316 252
b@317 253 \section{Architecture} % title? 'back end'? % NICK
n@334 254 \label{sec:architecture}
nicholas@331 255 %A slightly technical overview of the system. Talk about XML, JavaScript, Web Audio API, HTML5.
b@329 256
nicholas@342 257 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.
nicholas@322 258
b@578 259 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.
nicholas@328 260
nicholas@331 261 %Describe and/or visualise audioholder-audioelement-... structure.
b@578 262 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.
nicholas@322 263
b@578 264 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.
nicholas@322 265
b@578 266 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.
nicholas@328 267
nicholas@331 268 %Which type of files? WAV, anything else? Perhaps not exhaustive list, but say something along the lines of 'whatever browser supports'. Compatability?
b@578 269 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.
nicholas@322 270
b@578 271 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.
nicholas@322 272
b@316 273 \section{Remote tests} % with previous?
b@329 274 \label{sec:remote}
b@317 275
n@576 276 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.
b@317 277 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.
b@317 278
b@315 279 The following features allow easy and effective remote testing:
b@578 280 \begin{itemize}[noitemsep,nolistsep] % replaced description list with itemize as it went outside the margins
b@578 281 \item \textbf{PHP script to collect result XML files} and store on central server.
b@578 282 \item \textbf{Randomly pick a specified number of pages} to ensure an equal and randomised spread of the different pages across participants.
b@578 283 \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.
nicholas@322 284 % In theory calibration could be applied anywhere??
b@329 285 % \item Functionality to participate multiple times
b@329 286 % \begin{itemize}[noitemsep,nolistsep]
b@329 287 % \item Possible to log in with unique ID (no password)
b@329 288 % \item Pick `new user' (generates new, unique ID) or `already participated' (need already available ID)
b@329 289 % \item Store XML on server with IDs plus which audioholders have already been listened to
b@329 290 % \item Don't show `post-test' survey after first time
b@329 291 % \item Pick `new' audioholders if available
b@329 292 % \item Copy survey information first time to new XMLs
b@329 293 % \end{itemize}
b@578 294 \item \textbf{Intermediate saves} for tests which were interrupted or unfinished.
b@578 295 \item \textbf{Collect IP address information} for geographic location, through PHP function which grabs address and appends to XML file.
b@578 296 \item \textbf{Collect browser and display information} to the extent it is available and reliable.
b@578 297 \end{itemize}
b@315 298
b@308 299
b@316 300 \section{Interfaces} % title? 'Front end'? % Dave
b@329 301 \label{sec:interfaces}
d@321 302
b@578 303 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
d@321 304 \begin{itemize}[noitemsep,nolistsep]
b@578 305 \item AB Test~\cite{lipshitz1981great}: Two stimuli presented simultaneously, participant selects a preferred stimulus.
b@578 306 \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@576 307 \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@576 308 \item Absolute Category Rating (ACR) Scale~\cite{rec1996p}: Likert but labels are Bad, Poor, Fair, Good, Excellent
n@576 309 \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.
b@578 310 \item APE style \cite{ape}: Multiple stimuli on one or more axes for inter-sample rating.
b@578 311 \item APE style 2D \cite{ape}: Multiple stimuli on a 2D plane for inter-sample rating (e.g. Valence Arousal).
b@578 312 \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.
b@578 313 \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@576 314 \item ITU-R 5 Point Continuous Impairment Scale~\cite{rec1997bs}: Same as ABC/HR but with a reference.
b@578 315 \item Likert scale~\cite{likert1932technique}: each stimulus has a five point scale with values: Strongly agree, Agree, Neutral, Disagree and Strongly disagree.
b@578 316 \item MUSHRA (ITU-R BS. 1534)~\cite{recommendation20031534}
nicholas@342 317 \begin{comment}
nicholas@332 318 \begin{itemize}[noitemsep,nolistsep]
d@321 319 \item Multiple stimuli are presented and rated on a continuous scale, which includes a reference, hidden reference and hidden anchors.
d@321 320 \end{itemize}
nicholas@342 321 \end{comment}
n@576 322 \item Pairwise Comparison (Better/Worse)~\cite{david1963method}: every stimulus is rated as being either better or worse than the reference.
nicholas@342 323 \item Rank Scale~\cite{pascoe1983evaluation}: stimuli ranked on single horizontal scale, where they are ordered in preference order.
b@578 324 \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.
d@321 325 \end{itemize}
d@321 326
b@578 327 It is possible to include any number of references, hidden references, hidden anchors and comment fields into all of these listening test formats.
d@321 328
b@578 329 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.
n@326 330
d@321 331 %%%% \begin{itemize}[noitemsep,nolistsep]
d@321 332 %%%% \item (APE style) \cite{ape}
d@321 333 %%%% \item Multi attribute ratings
d@321 334 %%%% \item MUSHRA (ITU-R BS. 1534)~\cite{recommendation20031534}
d@321 335 %%%% \item Interval Scale~\cite{zacharov1999round}
d@321 336 %%%% \item Rank Scale~\cite{pascoe1983evaluation}
d@321 337 %%%%
d@321 338 %%%% \item 2D Plane rating - e.g. Valence vs. Arousal~\cite{carroll1969individual}
d@321 339 %%%% \item Likert scale~\cite{likert1932technique}
d@321 340 %%%%
d@321 341 %%%% \item {\bf All the following are the interfaces available in HULTI-GEN~\cite{hultigen} }
d@321 342 %%%% \item ABC/HR (ITU-R BS. 1116)~\cite{recommendation19971116}
d@321 343 %%%% \begin{itemize}
d@321 344 %%%% \item Continuous Scale (5-1) Imperceptible, Perceptible but not annoying, slightly annoying, annoying, very annoying. (default Inaudible?)
d@321 345 %%%% \end{itemize}
d@321 346 %%%% \item -50 to 50 Bipolar with Ref
d@321 347 %%%% \begin{itemize}
d@321 348 %%%% \item Scale -50 to 50 on Mushra with default values as 0 in middle and a comparison ``Reference'' to compare to 0 value
d@321 349 %%%% \end{itemize}
d@321 350 %%%% \item Absolute Category Rating (ACR) Scale~\cite{rec1996p}
d@321 351 %%%% \begin{itemize}
d@321 352 %%%% \item 5 point Scale - Bad, Poor, Fair, Good, Excellent (Default fair?)
d@321 353 %%%% \end{itemize}
d@321 354 %%%% \item Degredation Category Rating (DCR) Scale~\cite{rec1996p}
d@321 355 %%%% \begin{itemize}
d@321 356 %%%% \item 5 point Scale - Inaudible, Audible but not annoying, slightly annoying, annoying, very annoying. (default Inaudible?) - {\it Basically just quantised ABC/HR?}
d@321 357 %%%% \end{itemize}
d@321 358 %%%% \item Comparison Category Rating (CCR) Scale~\cite{rec1996p}
d@321 359 %%%% \begin{itemize}
d@321 360 %%%% \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
d@321 361 %%%% \end{itemize}
d@321 362 %%%% \item 9 Point Hedonic Category Rating Scale~\cite{peryam1952advanced}
d@321 363 %%%% \begin{itemize}
d@321 364 %%%% \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
d@321 365 %%%% \end{itemize}
d@321 366 %%%% \item ITU-R 5 Point Continuous Impairment Scale~\cite{rec1997bs}
d@321 367 %%%% \begin{itemize}
d@321 368 %%%% \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}
d@321 369 %%%% \end{itemize}
d@321 370 %%%% \item Pairwise Comparison (Better/Worse)~\cite{david1963method}
d@321 371 %%%% \begin{itemize}
d@321 372 %%%% \item 2 point Scale - Better or Worse - (not sure how to default this - they default everything to better, which is an interesting choice)
d@321 373 %%%% \end{itemize}
d@321 374 %%%% \end{itemize}
d@321 375
n@326 376 % Build your own test
nicholas@340 377
nicholas@328 378 \begin{comment}
d@321 379 { \bf A screenshot would be nice.
d@321 380
d@321 381 Established tests (see below) included as `presets' in the build-your-own-test page. }
nicholas@328 382 \end{comment}
b@308 383
b@308 384 \section{Analysis and diagnostics}
b@329 385 \label{sec:analysis}
b@317 386 % don't mention Python scripts
b@329 387 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.
b@578 388
b@329 389 For this reason, we include a proof-of-concept web page with:
b@318 390 \begin{itemize}[noitemsep,nolistsep]
b@578 391 \item All page IDs, file names, subject IDs, audio element IDs, ... in the collected XMLs so far
b@329 392 \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)
b@329 393 \item Embedded audio to hear corresponding test samples % (follow path in XML setup file, which is also embedded in the XML result file)
b@578 394 \item Scatter plot, confidence plot and box plot of rating values (see Figure \ref{fig:boxplot})
n@334 395 \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...)
n@334 396 \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)
b@312 397 \item All `comments' on a specific audioelement
n@334 398 \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
n@334 399 %\item Validation of setup XMLs (easily spot `errors', like duplicate IDs or URLs, missing/dangling tags, ...)
b@312 400 \end{itemize}
b@312 401
b@578 402 \begin{figure}[tbh]
b@578 403 \centering
b@578 404 \includegraphics[width=.5\textwidth]{boxplot.png}
b@578 405 %\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. }
b@578 406 \caption{Box and whisker plot showing the aggregated numerical ratings of six stimuli by a group of subjects.}
b@578 407 \label{fig:boxplot}
b@578 408 \end{figure}
n@334 409
nicholas@331 410 %A subset of the above would already be nice for this paper.
b@578 411 \section{Concluding remarks}
b@329 412 \label{sec:conclusion}
b@341 413
n@576 414 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.
b@341 415
b@578 416 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.
b@308 417
b@578 418 The code and documentation can be downloaded from the \hyperfootnote[SoundSoftware repository][https://]{code.soundsoftware.ac.uk/projects/webaudioevaluationtool}.
b@317 419 % remote
b@317 420 % language support (not explicitly stated)
b@317 421 % crossfades
n@327 422 % choosing speakers/sound device from within browser? --- NOT POSSIBLE, can only determine channel output counts and its up to the hardware to determine
b@317 423 % collect information about software and sound system
b@317 424 % buttons, scales, ... UI elements
b@317 425 % must be able to load uncompressed PCM
b@317 426
b@308 427 %
b@308 428 % The following two commands are all you need in the
b@308 429 % initial runs of your .tex file to
b@308 430 % produce the bibliography for the citations in your paper.
nicholas@340 431 \bibliographystyle{ieeetr}
nicholas@342 432 \small
b@308 433 \bibliography{WAC2016} % sigproc.bib is the name of the Bibliography in this case
b@308 434 % You must have a proper ".bib" file
b@308 435 % and remember to run:
b@308 436 % latex bibtex latex latex
b@308 437 % to resolve all references
b@308 438 %
b@308 439 % ACM needs 'a single self-contained file'!
b@308 440 %
b@308 441 \end{document}