Web-based perception experiments

From Phonlab
Revision as of 17:23, 8 February 2018 by Keithjohnson (talk | contribs)
Jump to navigationJump to search

Experiments can be hosted on the Department of Linguistics server, and then distributed to listeners by email link, or via Amazon Mechanical Turk.

An example is here: example experiment

A Javascript library audexp.js makes it realatively easy to implement the following four kinds of typical experiment:

  • Identification (id) - a single audio file is played, and a two-alternative forced choice (2AFC) is given.
  • Discrimination (ax) - two audio files are played, and a 2AFC is given.
  • Rating (r) - a single audio file is played, and a rating number (from 1 to 7) is given.
  • Contrast Rating (cr) - two audio files are played, and a rating number is given.


Your html code must have three features:

  • source a javascript file that defines
    • an array (or two arrays) of filenames that will be presented.
    • a variable called 'block'
    • here's an example of such a file
    • this .js file was created with a small perl script from a .csv spreadsheet.
    • the html header contains these two lines to get the audexp.js library and the experiment-specific list of sound files.
<script src="js/blocktest_list.js"></script>
<script src="js/blocktest_list.js"></script>
  • a call to load the experiment when the page is loaded
<body onload="load('id',false,500,2000);">
    • this call specifies the type of experiment (in this case 'id')
    • whether to randomize the order of presentation of the list of sound files
    • the interstimulus interval for 'ax' and 'cr' types
    • and the intertrial interval for all experiments.