annotate docs/WAC2016/WAC2016.tex @ 1194:585eb138ee52

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