Paper is available here via DOI: 10.3758/s13414-017-1361-2.
These instructions require
The sound files to be generated are as follows:
800 ms 200 Hz steady state baseline tone
200 ms 200 Hz Hanning window fade in/out tone
70 dB unaltered (aligned) version [L1]
70 dB inverted version [L2]
64 dB inverted version [Q]
500 ms silent interval
Six (6) combinations for stimuli
First, create a new sound in Praat. To do this, go to New > Sound > Create Sound as pure tone...
Then, create the central steady state portion of the tone. Make sure to create a stereo file (
2 channels), the end time should be
0.8 seconds, and the tone frequency should be
200 Hz. Additionally, I have set the fade-in and fade-out durations to be
0.00001 seconds, to ensure the amplitude is steady throughout the generated tone.
Next, create the fade-in/out tone using the same menu option. This is identical to the previous tone, except that the end time is set to
0.2 rather than
Now you will have two sounds in your Praat Objects window (steady and fade). The next step is to apply a Hanning window to the fade sound file. Select fade in your Objects window and click the Modify button on the righthand menu: Modify > Multiply by window...
A pop-up window will appear. Select "Hanning" and click OK.
Now, when you open the fade sound, you will see a waveform like the one in the image below. Centre your cursor at the precise midpoint (this should happen automatically, but to ensure it, you may want to move your cursor to the nearest zero crossing:
Ctrl + 0 or
Select the first half of the sound file by holding the
Shift key and clicking on the grey/tan area on the left side of the waveform. Cut this section of the waveform using
Ctrl + x or
Immediately open the steady sound file and move the cursor to the very beginning of the file by clicking on the grey/tan area to the left of the waveform.
Paste the fade in selection here using
Ctrl + v or
⌘v. This should create a seamless lead-in to your steady state tone. To check this, make sure the spectrogram has no vertical grey bars, which would indicate clipping or high-frequency components introduced by a misaligned signal.
Return to the fade file, and select the entire remaining waveform. This is the fade out selection. Copy this (you will not be able to cut it) using
Ctrl + c or
Navigate immediately back to the steady file. Move your cursor to the end of the file by clicking on the grey/tan area to the right of the waveform. Paste the fade in selection here using
Ctrl + v or
You can view the entire wave form by clicking the "all" button at the bottom or using
Ctrl + a or
⌘a to ensure the waveform has joined in smoothly, as before.
Create a 500 millisecond silent interval for later use. Navigate to the menu New > Sound > Create Sound from formula..., which is immediate below the pure tone option.
The formula for silence is simply
0 and the end time should be
0.5 seconds, in stereo (
The next steps will create three tones that can be combined into stimuli. If you are continuing directly from the previous instructions, you can perform these steps on the steady sound file, which you have modified. Otherwise, open the saved sound file
Using the righthand menu buttons, highlight the steady file in the Objects window, and click Modify > Scale intensity...
A pop-up window will appear requesting the loudness for the selected file. Enter
70 and press OK.
Repeat Step 4 on the same file, but use the value
64 instead. This creates the quiet tone.
Open the 70 dB file (
200Hz-1000ms-Hanning_window_70dB.wav) in Audacity. You will see that it has two channels. Click the name of the file or open the menu with
Shift + M.
In the menu, select
Make sure to click off of the two mono tracks to deselect them both. Then, click on one of the two tracks, that is, the one you wish to invert or phase shift. Then navigate to the menu option Effect > Invert.
To recombine the two tracks into a stereo file, Shift-click on both tracks to highlight them both. Then, click on one of the track's names, or
Shift + M as before, to open the menu.
Export the stereo track from the File menu (File > Export > Export as WAV).
This section will describe how to create one of the six stimulus files. Repeat with a different order of tones to create the remaining five.
In Praat, open the three saved tone files and the silent interval:
Highlight the silent interval sound file and click the 'Copy...' menu button at the bottom of the Objects window. Create a copy with a name that reflects the order of the tone files for the stimulus. We will be creating the order L1-L2-Q, so name the copy
L1L2Q. Click View & Edit for this sound file and place your cursor at the beginning of the file (by clicking to the left of the waveform).
In addition, open the file for the L1 tone. Select the entire file, copy it (
Ctrl + c or
⌘c), and paste it at the beginning of the L1L2Q waveform (
Ctrl + v or
Next, open the file for the L2 tone. Select the entire file, copy it, and paste it at the end of the L1L2Q file. The file should now be precisely 2.5 seconds in duration.
Open the file that contains only 500 milliseconds of silence (do not try to copy it from the L1L2Q file which you have already edited), and again, paste it at the end of the L1L2Q file.
Finally, open the Q tone. Select and copy the entire sound, and paste it at the end, after the second silence, of the L1L2Q sound file. You have now completed this stimulus file.
Repeat this process for the remaining five stimulus files, using the other five orders.
Gorilla requires a spreadsheet to draw from a pool of stimuli and randomise the orders of them in their presentation. It also requires a template, or task structure, within which to display the stimuli. The following two sections describe how to create this task within Gorilla.
In order to have trials, which are listed in the spreadsheet, and shown your participants, you must first upload the six sound files you created. This can be done in the Stimuli tab in the Gorilla interface.
Then, if you navigate to the Spreadsheet tab, you will see either a blank row (if you have not uploaded your own) or the spreadsheet which you have previously uploaded. The columns you will see by default are
ANSWER. The final column,
Sound will be added once your task is set up, as described in the next subsection. Once this column is created, you should populate it with the exact names of your stimulus files.
To randomise the trials so that they are not in alphabetical order according to the sound file name, nor are they in the same set order for each participant, make sure to indicate that these trials should be randomised. This may look different if you have additional blocks of stimuli (e.g., for the experiment proper). This will be done in the
display column make sure to precisely write the name of the task in six rows, so that each of the six trials are included in the task.
ANSWER column, make sure to precisely copy the names of each of the buttons that correspond to the "correct" answers. This means, when the Q (quiet) trial occurs in the third position, the answer should be
THIRD sound is SOFTEST.
Refer to the official Gorilla documentation and guidance for further information in setting up the spreadsheet and stimuli.
Within the Gorilla task structure interface, the headphone test task will be an individual task. This task will consist of two screens: one to play the tone (with three buttons), and one to separate the trials visually and temporally.
The first screen, here called 'Tone', should follow the basic layout described in Woods et al. (2017). They used a three-way forced choice task to reduce the chance of participants guessing correctly.
The top of the screen consists of a Web Audio zone. The 'Audio' type zone is being deprecated, so make sure to use the current guidance on the Gorilla site when setting this up.
If you click on the gray Web Audio zone, a pop-up overlay will appear. In this pop-up, you can select the tab called Spreadsheet, which will allow you to create and name the column in the spread sheet that contains the stimulus file names. In this example, it is called
Click "OK" and you the window will close with this new column created in your spreadsheet. Back on the righthand side of the screen, you will see the Configuration settings.
In the configuration settings for the Web Audio zone, I recommend specifying that the participant can start the audio manually (
1). This will maintain engagement and make sure the participant is ready to listen when the tones are played, since this is not a timed task. I also recommend only allowing the participant to listen to the sound once (
1), to prevent participants from lingering too long on this task or listening in unnatural ways that will not be reproduced in the experiment proper. Finally, do not set this screen to advance when the media is finished playing (
0), because your participant will likely be paying attention to the buttons and you do not want to distract them from the task as they are listening and deciding what to click.
Under Advanced Settings, make sure to change the setting of Audio format to
.WAV. The default is to play .mp3 files, but we have created and uploaded .wav files, so this change is important.
Returning to the screen layout above, you will need to click on each button to name them. A pop-up overlay will appear. Since we want to keep the buttons in the same order for each trial, we should name each from the Static tab of the pop-up.
The three buttons are labeled as described in Woods et al. (2017):
FIRST sound is SOFTEST
SECOND sound is SOFTEST
THIRD sound is SOFTEST
It is a good idea to keep these in order, rather than randomised, as they are ordered conceptually in the stimuli. This may need to be reversed for languages that are written right to left, to preserve the orthographic-auditory conceptual order.
Click "OK" to return to the configuration settings. All three buttons' settings can be set the same: do not hide the button after press (
1); do not allow unlimited responses (
0); and allow the screen to advance (
Finally, the Active Response configuration requires some information from the spreadsheet which you have uploaded or created within the Gorilla interface. Whatever the name of the column which contains the 'correct' answers, specify this to determine whether the participant has selected the correct sound as softest. In this example, the column is named
Enabling "sudden death" (
1) means that the screen will advance as soon as the participant has clicked one of the three buttons. This setting will prevent participants from second guessing or clicking around before making a decision.
Since "sudden death" is enabled, there is only one answer to score, so the third setting can be skipped.
If you wish to give your participants a time limit to respond, you can set this to a value (recommended no smaller than
5000 milliseconds). In this example, no timeout is set because none was specified in Woods et al. (2017).
Returning to the lefthand task structure, create a second screen for the inter-trial interval, or Pause. This pause will visually and temporally separate the trials so that the participant knows they have moved on to the subsequent trial (rather than thinking they have remained on the previous trial after clicking a button).
In this screen's configuration settings, you can set the time to automatically advance to the next screen to any number of milliseconds, though I recommend a minimum of
500 for it to be perceptually salient. If you wish it to be much longer, you may also wish to add a countdown setting, as seen below the timeout setting.