OS: Win10 PsychoPy version : v3.2.4
**Standard Standalone? ** : yes What are you trying to achieve?:
I’m building my first experiment. It’s a self-paced reading study, measuring keypress response times after reading sentence chunks at the participant’s own pace. I started to create the Flow of my experiment but I want to make sure I’m doing it in the most efficient way, i.e. whether I can simply copy routines instead of creating new ones for each trial.
What did you try to make it work?:
So far, I have a flow that looks like this (picture below)
So I have a first loop “trial” with the self-paced reading task and text (called from an Excel file). This loop is included in a second loop, together with a “break” routine that separates each trial. Some trials also have a third component (comprehension question) after them - I actually have problems with this but will ask them in a different post. I did this for all the trials and filler items (so far only 3 of each but I will end up with 40 stimuli + 60 fillers…), creating new routines and new loops all the time (except the “break” component, which is always the same).
All trials are then grouped in a big loop set to random order so that stimuli and fillers would be mixed.
Of course each trial has to display a different text. Stimuli and fillers come from two different Excel files, but I could merge them if necessary.
Am I doing this right ?
What specifically went wrong when you tried that?:
It works that way but I will end up with 100 different routines, and I’m not sure this is the most efficient way there is.
Whoa there… Do you understand what loops actually do? Their pros is to repeatedly cycle over a routine. So ideally to present 100 trials, you would have a single loop that cycles 100 times over one or more enclosed routines. You certainly didn’t want 100 copies of your routines.
Thanks Michael. I thought so, but then I’m not sure how to structure the input file. It’s not a word-by-word task but segment-by-segment and the sentences are not cut at exactly the same places across trials or at a regular symbol. Here are some examples :
S1 / Mary doesn’t like to live in the city and / Paul wants to move to the country side
S2 / Sue doesn’t go to cheap hotels and / Tom always stays in fancy resorts
Is there a way that I could instruct the loop to move to the second part after a key press?
Grateful for any advice
This is fine. Let’s take this one step at a time. Construct your conditions file with just one column for your sentences, so it will look like this, with a variable name (say, sentence) at the top, and one complete sentence per row below it):
sentence
Mary doesn’t like to live in the city and / Paul wants to move to the country side
Sue doesn’t go to cheap hotels and / Tom always stays in fancy resorts
# etc
In a Builder file with just one loop (connected to that conditions file) containing just one routine (with a text stimulus and a keyboard component), can you get it to cycle through, showing each complete sentence per trial, moving on after a key press?
If this is not straight forward, just work through this 15 minute demo, which explains the basics (and a bit more):
Once you have this going with the complete sentences, I can show you easily how to extend that to split each sentence up at the /, but let’s walk before we can run.
Hi Michael, thanks again for your help. I found a solution close to what you’re suggesting somewhere else on this forum (Keyboard doesn't response in the second added routine), with symbols separating the chunks and a code component to instruct the split. It’s working now! (Not sure how to “close” this topic). Thank you.