Audio playing in a loop while stimuli is visually being presented

Hi Folks,
I am new to Superlab and have several experiments to develop. One that I have to do might not be possible? I will need to play an audio file in a loop (eg the words cow, pig, dog, cat, chicken and hen), while the user is presented with 5 letters on the screen (individually) at random. The audio starts exactly as the first letter is displayed and stops after the 5th letter is displayed (when the user is then asked for input). Is this possible in superlab? I am using Superlab 4.0 for Macs.
Any suggestions greatly appreciated.

New question

Hello all,
I haven’t received a reply to this question (yet), so I can assume that it’s either an extremely difficult question to answer - or an extremely stupid question to ask? :eek: I am unsure myself, as I am completely new to SL.

I have spent several days now making test experiments and I am losing faith in SL I have to admit. Without a user manual, it makes for a lot of ad hoc testing. I only purchased this product (€2500.00), as I replaced another programmer in the University and he used SL 2. I possibly should have researched it more as I cannot see this product doing the projects I have been asked to do by staff and students (with the exception of possibly simple stroop exercises that require a “y” “n” response from a list of words?). I may be better off programming my own (VB, C++ etc)? I would appreciate a call from Hisham or Hank to reassure me as a consumer.:cool:

I have a new question. I have been reading all the questions on the blogg and I downloaded the unofficial help files (as I do not have a user manual?) and am unable to find the answer.

I need to randomize a list of stimuli, present this image, blank screen, randomize another list of stimuli, receive input (from mic), blank screen and continue until the first list of stimuli is exhausted.

I know there are issues with two stimuli lists, but I am confused as to work around this? I have read about “trial variables”, but these will not do what I need as far as I can see?

The project spec:

(a) An asterisk appears centre screen for 300ms
(b) This is followed by a blank screen for 500ms
© One of three Prime stimuli (CUP, TREE, and the character string XXX) then appears and remains onscreen for 950ms.
(d) This is followed by a blank screen for 50ms
(e) This will be followed by one of 2 Target stimulus (e.g., DOG, BOOK) in one of a range of 4 colors (RED, GREEN, BLUE, YELLOW) to make 3 primes by 2 targets by 4 colors for 24 practice trials in random order.
(f) Participant speaks the name of the colour of the target word into a microphone
(g) Blank screen for 1000 ms (triggered by the voice activation from previous) then next practice trial follows.

This is a small project with only 24 trials. These can be done individually because the size is manageable. What happens when there are 100+ trials?

A response (no matter what the contents) would be most appreciated.:slight_smile:


Both of your requests are tricky but not necessarily impossible.

In response to the first question: SuperLab won’t play an audio file in a loop, but it can play it asynchronously–while the experiment continues. You’ll need to work out how long you need the audio file to be and loop it yourself in an audio editing program. The displaying of the five letters randomly is a bit tricky; there are some limitations. In order to randomize the letters within the trial, you’ll need take advantage of the trial’s ability to randomize events within the trial. Other than this, there are two constants within the trial: the audio file is played first, and you look for input last, so you want to randomize all events in the trial except the first and the last. Now, you need to create an event that comes at the end of the trial and looks for input. As far as the letters, there are multiple approaches, and the proper approach depends on your priorities. The most straightforward would be to simply create five text events, each with one of the letters.

In response to the second question:

Stimulus lists currently cannot be randomized. Given your example, though, this shouldn’t be a problem–regardless of the number of stimuli. The difficulty is that certain details are tricky (but never impossible) to change after the experiment has been created.

Before creating any blocks, trials, or events, figure out what your stimuli are going to be. Create two stimulus lists–one for the prime and the other for the target. Create a trial variable with your various colors.

Next, create the structure of your block, trial, and events without actually selecting the stimulus lists. At this point, you’ll want to set up the block to repeat until the proper number of trials have been presented. In the block editor under the “When to Run” tab, select “While the condition expression is true” and “After all trials in the block have been presented.” The expression you want is “Number of Trials Presented in This Block Is Less Than [x],” where [x] is the number of trials you want presented (e.g. the product of the number of primes, targets, and colors).

You’ll want to save a copy of the experiment at this point. For one of the events that uses a stimulus list, select the appropriate list. Then, in the main experiment window, select “Expand Events That Use Lists…” from the “Experiment” menu. This creates a copy of your experiment with the trial and event expanded into multiple trials and events–one for each stimulus in the list you just selected.

Now, select the stimulus list for your other event. At this point, your two stimulus lists have been multiplied out. Assuming everything else has been set up properly, you should be able to run your experiment at this point. If you need to make changes, you can make changes to this copy, but changes to the first stimulus list don’t apply to what gets run. It will probably be easier to revert to the copy I recommended you save and then redo the manual multiplication of the lists.

Note that I laid this out based on your project spec–which seemed to be in contradiction to where you mentioned continuing until the first list is exhausted. In the above, you will have duplicates from both lists, but in a single loop through the block, you will have no duplicate pairings. After all pairings have been presented, the block will repeat. The colors will be randomized based on the settings for the trial variable.

I hope this helps!