comparison docs/WAC2016/WAC2016.tex @ 341:cccb3387d375 WAC2016

Paper: merge, started conclusion. edits
author Brecht De Man <b.deman@qmul.ac.uk>
date Thu, 15 Oct 2015 21:30:19 +0100
parents 90b9b077475a
children c7997d5cf96d
comparison
equal deleted inserted replaced
340:90b9b077475a 341:cccb3387d375
142 142
143 % check out http://link.springer.com/article/10.1007/s10055-015-0270-8 - only paper that cited WAC15 paper 143 % check out http://link.springer.com/article/10.1007/s10055-015-0270-8 - only paper that cited WAC15 paper
144 144
145 % Why difficult? Challenges? What constitutes a good interface? 145 % Why difficult? Challenges? What constitutes a good interface?
146 % Technical, interfaces, user friendliness, reliability 146 % Technical, interfaces, user friendliness, reliability
147 Several applications for performing perceptual listening tests currently exist, as can be seen in Table \ref{tab:toolboxes}. A review of existing listening test frameworks was undertaken and presented in~\Cref{tab:toolboxes}. 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) 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, it does not require any progamming experience as 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}. 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.
148 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, it does not require any progamming experience as 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}.
148 149
149 % Why in the browser? 150 % Why in the browser?
150 The Web Audio API provides important features for performing perceptual tests including sample level manipulation of audio streams \cite{schoeffler2015mushra} and the ability for 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 advanced 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 \cite{schoeffler2015mushra} can enable participants in multiple locations to perform the test. However, to our knowledge, no tool currently exists that allows the creation of a remotely accessible listening test. 151 The Web Audio API provides important features for performing perceptual tests 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 some 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}. However, to our knowledge, no tool currently exists that allows the creation of a remotely accessible listening test.
151 152
152 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?... 153 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?...
153 154
154 % only browser-based? 155 % only browser-based?
155 \begin{table*}[ht] 156 \begin{table*}[ht]
156 \caption{Table with existing listening test platforms and their features} 157 \caption{Table with existing listening test platforms and their features}
157 \small 158 \small
159 \begin{tabular}{|*{9}{l|}} 160 \begin{tabular}{|*{9}{l|}}
160 \hline 161 \hline
161 \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 162 \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
162 \textbf{Reference} & \cite{ape} & \cite{beaqlejs} & \cite{hultigen} & & \cite{mushram} & \cite{scale} & \cite{whisper} & \cite{waet} \\ \hline 163 \textbf{Reference} & \cite{ape} & \cite{beaqlejs} & \cite{hultigen} & & \cite{mushram} & \cite{scale} & \cite{whisper} & \cite{waet} \\ \hline
163 \textbf{Language} & MATLAB & JS & MAX & JS & MATLAB & MATLAB & MATLAB & JS \\ \hline 164 \textbf{Language} & MATLAB & JS & MAX & JS & MATLAB & MATLAB & MATLAB & JS \\ \hline
164 \textbf{Remote} & & (not native) & & \checkmark & & & & \checkmark \\ \hline \hline 165 \textbf{Remote} & & (\checkmark) & & \checkmark & & & & \checkmark \\ \hline \hline
165 MUSHRA (ITU-R BS. 1534) & & \checkmark & \checkmark & \checkmark & \checkmark & & & \checkmark \\ \hline 166 MUSHRA (ITU-R BS. 1534) & & \checkmark & \checkmark & \checkmark & \checkmark & & & \checkmark \\ \hline
166 APE & \checkmark & & & & & & & \checkmark \\ \hline 167 APE & \checkmark & & & & & & & \checkmark \\ \hline
167 Rank Scale & & & \checkmark & & & & & \checkmark \\ \hline 168 Rank Scale & & & \checkmark & & & & & \checkmark \\ \hline
168 Likert Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline 169 Likert Scale & & & \checkmark & & & & \checkmark & \checkmark \\ \hline
169 ABC/HR (ITU-R BS. 1116) & & & \checkmark & & & & & \checkmark \\ \hline 170 ABC/HR (ITU-R BS. 1116) & & & \checkmark & & & & & \checkmark \\ \hline
176 Pairwise / AB Test & & & \checkmark & & & & & \checkmark \\ \hline 177 Pairwise / AB Test & & & \checkmark & & & & & \checkmark \\ \hline
177 Multi-attribute ratings & & & \checkmark & & & & & \checkmark \\ \hline 178 Multi-attribute ratings & & & \checkmark & & & & & \checkmark \\ \hline
178 ABX Test & & \checkmark & \checkmark & & & & & \checkmark \\ \hline 179 ABX Test & & \checkmark & \checkmark & & & & & \checkmark \\ \hline
179 Adaptive psychophysical methods & & & & & & & \checkmark & \\ \hline 180 Adaptive psychophysical methods & & & & & & & \checkmark & \\ \hline
180 Repertory Grid Technique & & & & & & & \checkmark & \\ \hline 181 Repertory Grid Technique & & & & & & & \checkmark & \\ \hline
181 Semantic Differential & & & & & & \checkmark & \checkmark & \\ \hline 182 Semantic Differential & & & & & & \checkmark & \checkmark &\checkmark \\ \hline
182 n-Alternative Forced Choice & & & & & & \checkmark & & \\ \hline 183 n-Alternative Forced Choice & & & & & & \checkmark & & \\ \hline
183 \end{tabular} 184 \end{tabular}
184 \end{center} 185 \end{center}
185 \label{tab:toolboxes} 186 \label{tab:toolboxes}
186 \end{table*} 187 \end{table*}
187 % 188 %
188 %Selling points: remote tests, visualisaton, create your own test in the browser, many interfaces, few/no dependencies, flexibility 189 %Selling points: remote tests, visualisaton, create your own test in the browser, many interfaces, few/no dependencies, flexibility
189 190
190 %[Talking about what we do in the various sections of this paper. Referring to \cite{waet}. ] 191 %[Talking about what we do in the various sections of this paper. Referring to \cite{waet}. ]
191 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. We have now expanded this 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 which 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. 192 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. We have now expanded this 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 which 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.
193
194 In this paper, we discuss these different aspects and explore which future improvements would be possible. Specifically, in Section \ref{sec:architecture} we cover the general implementation aspects, with a focus on the Web Audio API, followed by a discussion of the requirements for successful remote tests in Section \ref{sec:remote}. Section \ref{sec:interfaces} describes the various interfaces the tool supports, as well as how to keep this manageable. Finally, in Section \ref{sec:analysis} we provide an overview of the analysis capabilities in the browser, before summarising our findings and listing future directions in Section \ref{sec:conclusion}.
192 195
193 \begin{figure}[tb] 196 \begin{figure}[tb]
194 \centering 197 \centering
195 \includegraphics[width=.5\textwidth]{interface.png} 198 \includegraphics[width=.5\textwidth]{interface.png}
196 \caption{A simple example of a multi-stimulus, single attribute, single rating scale test with a reference and comment fields.} 199 \caption{A simple example of a multi-stimulus, single attribute, single rating scale test with a reference and comment fields.}
227 230
228 \section{Architecture} % title? 'back end'? % NICK 231 \section{Architecture} % title? 'back end'? % NICK
229 \label{sec:architecture} 232 \label{sec:architecture}
230 %A slightly technical overview of the system. Talk about XML, JavaScript, Web Audio API, HTML5. 233 %A slightly technical overview of the system. Talk about XML, JavaScript, Web Audio API, HTML5.
231 234
232 Although WAET uses a sparse subset of the Web Audio API functionality, its performance comes directly from using 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 obtain 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 helps detect poor participants whose results are potentially not representative. 235 Although WAET uses a sparse subset of the Web Audio API functionality, its performance comes directly from using 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.
233 236
234 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 called the specification document and can be designed either by manually writing the XML (or modifying an existing document or template) or using our included test creator. These are standalone HTML pages which do not require any server or internet connection and help a build the test specification document. The first (test\_create.html) is for simpler tests and operates step-by-step to guide the user. It supports media through drag and drop and a clutter free interface. The advanced version is for more advanced tests where raw XML manipulation is not wanted but the same freedom is required (whilst keeping a safety net). 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. 237 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 called 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 are standalone HTML pages which do not require any server or internet connection and help a build the test specification document. The first (test\_create.html) is for simpler tests and operates step-by-step to guide the user. It supports media through drag and drop and a clutter free interface. The advanced version is for more advanced tests where raw XML manipulation is not wanted but the same freedom is required (whilst keeping a safety net). 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.
235 238
236 The basic test creator, Figre \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. This is used in the test to perform loudness normalisation without needing to edit any audio files. Equally the gain can be modified in either editor using an HTML5 slider or number box. 239 The basic test creator, Figre \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. This is used in the test to perform loudness normalisation without needing to edit any audio files. Equally the gain can be modified in either editor using an HTML5 slider or number box.
237 240
238 \begin{figure}[h!] 241 \begin{figure}[h!]
239 \centering 242 \centering
243 \end{figure} 246 \end{figure}
244 247
245 %Describe and/or visualise audioholder-audioelement-... structure. 248 %Describe and/or visualise audioholder-audioelement-... structure.
246 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 bufferSourceNode, the XML information 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. 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 bufferSourceNode, the XML information 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.
247 250
248 The only issue with this model is the bufferNode in the Web Audio API, which is implemented in the standard as a `use once' object. Once the bufferNode has been played, the bufferNode must be discarded as it cannot be instructed to play the same bufferSourceNode again. Therefore on each start request the buffer object must be created and then linked with the stored 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. 251 The only issue with this model is the bufferNode in the Web Audio API, which is implemented in the standard as a `use once' object. Once the bufferNode has been played, the bufferNode must be discarded as it cannot be instructed to play the same bufferSourceNode again. Therefore on each start request the buffer object must be created and then linked with the stored 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.
249 252
250 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. 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 slider is not indicative of the final volume exiting the speakers and therefore its use should only be considered in a lab condition environment to ensure proper behaviour. Finally the gain nodes allow for cross-fading between samples when operating in synchronous playback. Cross-fading can either be fade-out fade-in or a true cross-fade. 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. 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 slider is not indicative of the final volume exiting the speakers and therefore its use should only be considered in a lab condition environment to ensure proper behaviour. Finally, the gain nodes allow for cross-fading between samples when operating in synchronous playback. Cross-fading can either be fade-out fade-in or a true cross-fade.
251 254
252 %Which type of files? WAV, anything else? Perhaps not exhaustive list, but say something along the lines of 'whatever browser supports'. Compatability? 255 %Which type of files? WAV, anything else? Perhaps not exhaustive list, but say something along the lines of 'whatever browser supports'. Compatability?
253 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 accpeted by every browser supporting the Web Audio API. The toolbox will work in any browser which supports the Web Audio API. 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 accpeted by every browser supporting the Web Audio API. The toolbox will work in any browser which supports the Web Audio API.
254 257
255 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. 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.
430 %\item Validation of setup XMLs (easily spot `errors', like duplicate IDs or URLs, missing/dangling tags, ...) 433 %\item Validation of setup XMLs (easily spot `errors', like duplicate IDs or URLs, missing/dangling tags, ...)
431 \end{itemize} 434 \end{itemize}
432 435
433 436
434 %A subset of the above would already be nice for this paper. 437 %A subset of the above would already be nice for this paper.
435 [Some pictures here please.]
436 \section{Concluding remarks and future work} 438 \section{Concluding remarks and future work}
437 \label{sec:conclusion} 439 \label{sec:conclusion}
440
441 We have developed a browser-based tool for the design and deployment of listening tests, essentially requiring no programming experience and third party software.
442
443 Following the predictions or guidelines in \cite{schoeffler2015mushra}, it supports remote testing, cross-fading between audio streams, collecting information about the system, among others.
444
445 Whereas many other types of interfaces do exist, we felt that supporting e.g. a range of `method of adjusment' 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.
438 446
439 The code and documentation can be pulled or downloaded from our online repository available at \url{code.soundsoftware.ac.uk/projects/webaudioevaluationtool}. 447 The code and documentation can be pulled or downloaded from our online repository available at \url{code.soundsoftware.ac.uk/projects/webaudioevaluationtool}.
440 448
441 \cite{schoeffler2015mushra} gives a `checklist' for subjective evaluation of audio systems. The Web Audio Evaluation Toolbox meets most of its given requirements including remote testing, crossfading between audio streams, collecting browser information, utilising UI elements and working with various audio formats including uncompressed PCM or WAV format. 449 \cite{schoeffler2015mushra} gives a `checklist' for subjective evaluation of audio systems. The Web Audio Evaluation Toolbox meets most of its given requirements including remote testing, crossfading between audio streams, collecting browser information, utilising UI elements and working with various audio formats including uncompressed PCM or WAV format.
442 % remote 450 % remote