PSL TOOLSv1.0
TUTORIAL

This document will guide you in creating some perceptual experiments using the PSL Tools. Built within the Rapid Application Developer (RAD), the PSL Tools consist of three objects, "Expcontrol" "Stimulus" and "Response". You should be able to find these objects in the object palette which is along the left-hand side of the RAD window. Following is a short description of what each object can be used for:

Expcontrol: This object is the control center for the experiment. Here the experimenter can specify the details of the experiment, such as what stimuli will be used, how many times each will be presented, and where to store the results. (these will be explained in more detail below)

Stimulus: This object is used to present the stimuli to the subject. Here the experimenter can specify how the stimuli should be spoken by Baldi, our computer animated talking head.. Baldi can present independent stimuli for audio and visual speech, as well as audio speech with noise mixed in, or pre-recorded natural speech.

Response: This object is used to collect responses from the subject. The experimenter can choose how the responses will be collected, from keystrokes to typed words to clicks of the mouse to spoken responses.


CONTENTS


EXAMPLE 1: McGurk Effect Perception Study

This example will guide you through the development of an experiment in which the subject receives audio-visual speech (which is mismatched in some trials), and makes judgments about what they perceive.

Step 1: Start the RAD, if you haven’t already.

Step 2: Drag the following objects onto the canvas from the object palette on the left-hand side of the screen: Audio, Expcontrol, Stimulus, Response, Goodbye

Step 3:

Rename the objects by clicking the right mouse button on them and selecting "rename" from the pop-up menu.

Now connect them as in the picture below. A connection is made from a "start" object to an "end" object as follows: Click and hold the mouse button on one of the triangles below the "start" object, then move the mouse until it is positioned over the "end" object. Release the button, and the line should remain, connecting the two objects.

Notice that the red output of the Expcontrol object is connected to the stimulus object, while the blue port is connected to the goodbye object. The red output on the Expcontrol object is the route which the experiment will follow as long as there are more stimuli to present. As soon as all stimuli has been presented, the program will exit the stimulus/response loop through Expcontrol’s the blue port.
 
 
Step 4:  Setting up Expcontrol:
Right click on Expcontrol, and select “Define”.  This will bring up the control panel for the experiment. 

Expcontrol Checklist: 

1)
Give it a name 
2)
Specify the logfile (it’s a good idea to use a complete pathname here, such as: “c:/data/mylog.log”.  Note that forward slashes are required) 
3)
Increase the number of variables to 2.  (click on the ‘+’ to increase, click the  ‘-‘ to decrease) 
4)
Increase the number of blocks to 6.  (click on the ‘+’ to increase, click the  ‘-‘ to decrease) 
5)
Set Design to “expanded factorial”. To see how this setting differs from “factorial”, click the “View as Matrix” button for each alternative after you complete step 6 below. 
6)
Set Randomization to “shuffle w/o replacement”.  This means that within each block, all test stimulus combinations will be presented once before any are repeated. 
7)
Give names and values to the 2 variables 
Click “OK” when you’re done. 

A block is a group of stimuli presentations. Usually when stimuli are shuffled without replacement, the experiment is divided into blocks. In such a case, a single block would be one complete cycle through the stimulus set. To increase the number of these cycles through the entire stimulus set, click on the '+' next to the "Nr. Blocks" entry, or type a new number into that entry.
 
Step 5: Now to set up the stimulus object: Right-click the stimuli object, then select "define." In this example, we will be sending (potentially) different audio and visual stimuli be presented as test stimuli. 

Make sure the radio button for AV-prompt is selected. (This is what it looks like: ) In the entry box labeled "Auditory" enter "$___" where ___ is what you called your variable for auditory speech. In this example, we enter "$a" in the Auditory box. Now do the same thing with the "Visual" input box, using the name you used for visual speech. In this example, we enter "$v" into the Visual box. 

The dollar-sign is the way to tell the program to use the values of that particular variable, rather than to use the actual word typed in the entry box. (for example, if we were to enter simply "a" in the Auditory box, the subject would hear the sound "a" in every trial, rather than your carefully chosen values!) 
Click "OK" when you are finished 

Step 6:

Last we set up the response object. Right-click it, and select "define", as above. Make sure the radio button labeled "buttons" is clicked. This means that during the experiment areas will be defined on the screen corresponding to each response. A left mouse click signifies the choice of the response by the subject. In the entry box labeled "Button List:", type in your desired response alternatives, separated by spaces. For example, we will enter "ba da ga" into this box (without the quotes). You can leave the entry labeled "Response Variable:" as it is. 

[Put a screen shot of baldi and run-time buttons here..]

That’s it! Click "Build" at the top of the tools palette, then when the button changes to "Run", click again.

Back to the top of this example...

  Back to the top...
 

EXAMPLE 2: Production Training Study


This example will guide you through the development of an experiment in which the subject is asked to pronounce a series of test words presented in Audio and Audio-Visual form. There will be three types of prompts:

1. just auditory speech
2. auditory speech aligned with an animated face
3. auditory speech aligned with a transparent animated face that shows the tongue and hard palate

Each word will be tested under each of the three presentation conditions, and the responses will be recorded and can be analyzed off line for quality and intelligibility.
 
 

Step 1: Start the RAD, if you haven’t already.
 
Step 2:
Drag the following objects onto the canvas from the object palette on the left-hand side of the screen: 
  • Audio 
  • Expcontrol 
  • Conditional 
  • Stimuli (3 of these) 
  • Response 
  • Goodbye 
Step 3: Add an output port to the Conditional object. Just right-click the object, and select "Add Output Port".
 
 

Step 4: Rename and connect the objects:

Rename the objects by right-clicking them and selecting "rename" from the pop-up menu. Now connect them as shown in the picture below.


 
 
Step 5: Setting up Expcontrol: Right click on Expcontrol, and select "Define". This will bring up the control panel for the experiment. This is where we will configure the stimuli and other details. 

Expcontrol Checklist:

1)
Give it a name
2)
Specify the logfile (it's a good idea to use a complete pathname here, such as: "c:/data/mylog.log". Note that forward slashes are required) 
3)
Increase the number of variables to 2. (click on the '+' to increase, click the '-' to decrease)
4)
Increase the number of blocks to 6. (click on the '+' to increase, click the '-' to decrease)
5)
Set Design to " factorial". This means that each stimuli for a variable will appear with every other stimuli from the other variables. 
6)
Set Randomization to "shuffle w/o replacement". This means that within each block, each stimuli combination will be presented before any are repeated.
7)
Give both variables names. Use a file to supply the values for the independent variable by clicking on the buton labeled "..." and selecting an appropriate file. This file should be plain text, and have 1 item per line, with no blank lines. The other independent variable should have values which indicate the different possibilities for the animated face (a, av, avt)
Click "OK" when you're done. 
Step 6: Configure the branching from the Conditional Object.

By right-clicking each output port on the conditional object, and selecting "Open", you can specify the condition that must hold for the program to travel down that particular route. In our example, we will enter expressions like:

$face = = "a"

This means that the progam will travel down this route on a particular trial if the "face" variable has the value a. Enter one expression into each output port of the Conditional object.

In our example, the following expressions would go in the other two output ports, respectively:
$face = = "av"
$face = = "avt"

(a, av, and avt are the values we used for the variable "face" in Expcontrol setup)

  Step 7:Setup the animated face for each Stimuli object.

Right-click a stimulus object and select "Define" from the pop-up menu. Here you can define 2 things for each Stimuli object:

1)
The word to be spoken
2)
The orientation/configuration of the animated face
First, configure the Stimulus object which corresponds to Audio only. Make sure the AV-Prompt radio button is clicked, and in the entry box underneath, enter the variable name for the stimulus (word to be spoken), preceded by the dollar symbol. In our example, we enter the following into the entry box: 

$word
Click OK when you are done defining the Audio Stimulus object. 

The AV, and AVT Stimuli objects are just as easy to configure. Again, make sure that the radio button for "AV-Prompt" is depressed. This time, enter the name of the stimulus variable (preceded by the dollar sign) into both the Auditory and Visual entry boxes. 

See the next step for further instructions about configuring these objects 

The last thing to do within the AV and AVT Stimulus objects is to specify the face settings for them. This is done by clicking on the button labeled "Face" in the Text-to-Speech area of the Stimulus define box above.


 
 

You can see the already-existing face settings by clicking on the down-arrow in this box. If there are no already-made settings, you will have to create 2 settings (one for normal AV speech, one for the transparent mode) by configuring Baldi how you want him displayed, typing a name into the entry box, and clicking OK for each.
 
 
Step 8: Configure the response object 

Last we set up the response object. Right-click it, and select "define", as above. Make sure the radio button labeled "Voice" is clicked. This means that during the experiment the subject will speak their response into a microphone. In the entry box labeled "Folder to store sound files in:", type in your the path to a folder where the subject's speech will be stored for each trial. 

Click OK when you're done 

That’s it! Click "Build" at the top of the tools palette, then when the button changes to "Run", click again.

Back to the top of this example...
 
 

EXAMPLE 3: What do the data files look like?

You can specify what format the data files for these experiments will be written in. There are two basic formats. The first is more traditional, and is a tab-delimited structure with the first two columns giving trial and block information, and each column to the right of those giving information about stimulus and response for different variables.

There is one line of the file per trial in this format.

The second format features multiple lines per trial, with each varibable occupying its own line.

Following is an example of what this format looks like:

The one-line-per-trial format has the advantage that it is readily importable into MS Excel.

Back to the top of this example...


Home | Reference Manual | Tutorial | Download

By David Merrill, December, 1998