Same-different task

Hi, I am brand new at SuperLab. I’ve searched the forums for a similar question, but I can’t seem to find one. Apologies if a similar question has already been asked.

In my experiment, I am trying to set up a same-different task. I have 4 events, as follows:

*English word sound
*English word text
*Spanish word sound
*Spanish word text

Text and sound are always presented simultaneously and must match within each language, but must be presented randomly between ss. In half of the trials, I would like the English and Spanish sound/text to match (i.e., correct translation), but in some, I would like them to be different (i.e., incorrect translation). The participant will respond indicating whether the pairs of words have the same meaning (match) or mean different things (nonmatch).

Right now, what I have done is to set up two types of trials (match, nonmatch) within one block, and have randomized at the block level. However, I am unclear on how to randomize the lists in the manner described above. I am also unclear on how the responses should be collected for best results. Would I want to just use two different types of ISIs (match, nonmatch) for each trial type, or would I want to create a conditional branch or macro to encode this information?

I hope I have been clear enough here. Please let me know if any more information is needed, or if there is a solution. Thank you!

You will have to use a Pseudo Randomization. Meaning, you will need to pair the sounds and words at the Stimulus List level. Then, SuperLab can randomize the pairings. You won’t need to use any macros to accomplish this.

Stimulus list name must be unique

I went to the Event editor and attempted to give the stimulus lists for the sound and text events the same title. However, I receive an error message in a dialog box that says the following:

“The stimulus name, “ES_list,” already exists. The name must be unique.”

Even though the same words are present for both events, they are audio files for the sound event and plain text for the text event. I do not see a way that I can use exactly the same stimuli in a single list for both events, since the .wav extension is necessary for audio files. I looked through the other tabs but don’t see an obvious work around.

You will need to make two separate Stimulus Lists. One for your audio events and the other for your text events. Here, you will pair them in the order you want them to be presented. For more information on how to set this up, please see Presenting a Sound and Visual Stimulus at the Same Time on page 58 from the Cedrus manual.

Okay, I was able to create 2 lists, one for audio files and one for the plain text words. They seem to be paired correctly, given that when I run the experiment, the text that appears on the screen matches the spoken word.

However, I am now running into another problem, which I had noticed earlier. When I try to create 3rd and 4th lists for the English words, SL allows me to create them, and then changes my 1st and 2nd lists (containing Spanish words) to match the 3rd and 4th lists. When I run the script, I get text/speech of an English word followed by text/speech of the same English word, since all of the text and audio lists match one another. If I try to change lists 1 & 2 back to Spanish, then lists 3 & 4 are also changed to Spanish, and I get Spanish text/speech followed by Spanish text/speech.

For the purposes of my experiment, the 1st and 2nd lists need to display Spanish words, and then the 3rd and 4th lists need to display their English translations. Thus, I would get Spanish text/speech followed by the corresponding English text/speech. Is there any way that I can decouple lists 1 & 2 from lists 3 & 4, such that only list 1 audio is paired with list 2 text, and only list 3 audio is paired with list 4 text?

Found solution, but encountering new problems

I found the solution for pairing the English and Spanish text and audio lists with one another. Turns out I needed to create all the lists in the stimulus lists editor (Experiment>Stimulus lists…), and ensure that all of the English and Spanish words were in order of translation. Once I did that, I could assign the various lists to the different event types, and the lists were paired successfully upon running.

Now, what I am trying to do is to have the experiment display some trials in which the English and Spanish words match, and some in which the words do not match. I created a script modeled after the “Choosing words from different lists” demo (including all macros, feedback, codes, etc.), but with the enhancement of displaying text and audio simultaneously, which is a must for this experiment. At first glance, this extrapolation seemed to work okay, but as I continued running the script, I noticed some major flaws:

1.) In some trials, words of one language appear, but no words of the other language appear
2.) Sometimes, after several words have appeared, the audio files cease playing (though the text still appears on screen)

There are also some design flaws that I need to solve as well:

1.) If I use the “choosing words from different lists” paradigm, I need to figure out a way to randomly select blocks, such that match and mismatch blocks (trials) are randomly interspersed with one another
2.) I’d like to present half the words as matched pairs and half the words as mismatched pairs (I am guessing this can be done by using a single macro for both match and mismatch trials?)
3.) I’d ideally like to exclude the word that is the correct translation in the other language from the list for random selection for mismatch trials, so that I can be assured that they are indeed mismatches in all cases and not simply randomly selected with a 95% chance that a mismatching word in the other language will be selected (though if this can’t be done, I could live with it).

I am attaching my SL script and stimuli files. If I can get these problems solved and get the same-different task working, I should be on my way to piloting.

mismatch_test.sl4 (32.5 KB) (2.71 MB)

SuperLab is able to randomize paired words, but cannot cross them.

Okay, I found a way to do it through external randomization. Thanks.