annotate docs/WAC2016/WAC2016.tex @ 1460:1b81ab727352

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