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.
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:
|
![]() |
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: 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!)
|
![]() |
| 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. |
![]() |
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...
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:
|
![]() |
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:
|
![]() |
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:
| 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
|
![]() |
| 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 |
![]() |
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 |
![]() |
Back to the top of this example...
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...