Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
trial template with no-response and required-response trials
#1
Hi FF team,

I'm trying to make an experiment in which i play audios and only collect a keypress response after some of them. To that end i've set up my procedure to show the "audio", "response" and "submit" trial templates in this sequence (last one is just a blank screen where the response is submitted). "audio" just plays the audio, and then "response" i'm not sure how to set up because i want to collect a response only on some trials. Here's what i have at the moment, where "blank1" is a blank screen for 1s and bague is an image to which i want the ppt to give a keypress response:
Code:
  "responses1": {
    "type": "basic",
    "stimuli": ["blank1", "bague", "blank1", "bague", "blank1"],
    "responses": ["X","key","X","key","X"],
    "auto_advance": true,
    //"duration": 3,
    "submission_point": false
  },

So i've set up two responses: "X" and "key" the former being a key response which i don't look at and the latter a key response which i've set to be "required": true. However, unless i have my trial duration set, i don't advance from the "response" to the "submit" screen even though i have the "auto_advance":true. The duration of "blank1" is 1s, and the stimulus itself appears for 1s, but then i don't proceed to submit, because there's nothing to tell it that i want to get to the next trial. That's the case even if i press a key to give a response. When i //"responses":["X","key","X","key","X"], i get a smooth running audio presentation, response time, submit time, repeat. So it's something to do with the response, but i can't figure out what. I've tried setting the duration of the response to be the same as the stimulus by using the ,"duration": "%sgroup:group2" feature, but it didn't work.

One option i see is to leave the trial duration set, but then this needs to be overriden by the response "key" which MUST be given before the exp can proceed and i'm not able to find a way to do this (i.e. it's already set to "required":true, but that doesn't do it.)

Thanks for your help!
bissera
Reply
#2
Hello Bissera,
Thank you for your message.

From what I see, you are trying to define two types of stimulus presentation (one linked to an audio response, one automatically advancing).
The issue that I see is that your trial template only allows for one parameter to be set up for the whole set of stimuli. As you said, you also tried the group feature, that did not work.

Would it be possible to separate your stimuli in two different lists presented alternatively, then define the response settings for each template?

Best,

Morgane
Reply
#3
Hi Morgane,

Thanks for your response. Indeed i have two conditions one an audio file followed by a blank screen (no response collected) and one an audio file followed by a picture (response collected; picture should stay on until response).

Unfortunately i don't think separating the stimuli would work, because in the end i would like the conditions to be randomly presented one after the other (i.e. i don't want a block of onecondition followed by a block of the other condition). Additionally, one condition is with many more stimuli than the other condition and i imagine the platform might find this confusing.

So far i'm able to figure out that if i don't have a trial duration my trial doesn't advance, but if i have a trial duration, the trial advances regardless of the durations of the stimuli on the trial and of whether a response was indeed collected (and the response is set to be required). I've also tried linking the duration of stimuli and responses to each other with the group attribute, but that doesn't help as the above issue persists: either i have the same duration for all trials (and responses are not compulsory) or the experiment stalls when the stimulus duration is finished, but there's nothing to tell the trial to continue. Code below:


Code:
  "audios1": {
    "type": "basic",
    "stimuli": [["fix","MV3_adj"], ["fix","V3_adv"], ["fix","MG3_adv"], ["fix","J1_adj_f"], ["fix","G3_adv"]],
    "submission_point": false,
    "auto_advance": true
  },
 
  "responses1": {
    "type": "basic",
    "stimuli": ["blank1", "bague", "blank1", "bague", "blank1"],
    "responses": ["X","key","X","key","X"],
    "auto_advance": true,
    //"duration": 1,
    "submission_point": true
  },

I thought this should be easy to set up as all i want to do is present some audio files one after the other, and have some of them followed by an image that is to be responded to. I hope we can find a way to make it work!

Best,
bissera
Reply
#4
Hi Bissera,

Thank you for this explanation.
I made some investigation and for now it seems that the issue is indeed the response. You actually do not record anything during the "X", so one way around it could be to define it differently, potentially as a stimulus following "blank1" rather than a response.

I am still looking into it and will keep in touch once I have new information.

Best,

Morgane
Reply
#5
Hi Morgane,

Yes, definitely the issue seems to be with the response, but i can't go without "X", without a response, because i need to have the same number of responses in the "response" trial template as number of audios in the "audios" trial template.
Thanks for your help! I feel quite stuck so it's really appreciated (:

Best,
bissera
Reply
#6
Hi Bissera,
Rachel may have found what causes the issue.
You are setting up a property (required:true) that cannot be applied to a key_response.
Could you try to take it off and see if it improves the display?

Best,

Morgane
Reply
#7
Hi Morgane,



I just tried having the stimuli and responses in the same trial template, and the same thing happens. If i have the responses commented out, presentation runs smoothly. If i leave the "responses" in, stimuli are presented within a trial, but since there's nothing to tell the trial to move on, i just get stuck on a blank screen.

Thanks for your help,
bissera

PS: Here the code for the trial template and responses:



Code:
  "audios2": {
    "type": "basic",
    "stimuli": [["fix","MV3_adj", "blank1"], ["fix","V3_adv", "bague"], ["fix","MG3_adv", "blank1"], ["fix","J1_adj_f", "bague"], ["fix","G3_adv", "blank1"]],
    //"responses": ["X","key","X","key","X"],
    "submission_point": false,
    "auto_advance": true
  }
{
  "type": "keypress",
  "multiple": false,
  "whitelist": [
    "y",
    "n"
  ],
  "required": true,
  "duration": "%sgroup:groupI+2.0", -----> "bague" is groupI
  "name": "key"
}
{
  "type": "keypress",
  "duration": "%sgroup:groupB", -----> "blank1" is groupB
  "name": "X"
}
Reply
#8
Hi both,

Thanks for the suggestion. I tried and it doesn't work. Still get a stall after stimuli presentation on the response trial.

Best,
bissera
Reply
#9
Hi Bissera, our team is brainstorming a solution for you. Hang tight for just one more bit! Smile
Reply
#10
Hi Bissera, I may be misreading your design a little bit, but it seems to me that there's in fact a solution using separate trial templates? Each trial template can have its own randomization pattern (defined via "stimulus_pattern": https://help.findingfive.com/api/trial-t...s-patterns), and then they can be interweaved together at the block level using the "alternate" pattern in the block (https://help.findingfive.com/api/procedu...ml#pattern). The end result will be what you are defining in "audios2" - two types of trials in an ABABA order. If you don't want the ABABA pattern but randomized one, there are others for you to choose from as the randomization pattern at the block level (e.g., "randomized_trials").

That gives you the freedom of defining two trial templates independently, which will resolve the duration vs auto advance conundrum? In fact, you don't even need to define responses for one of the trial templates.

Additionally, make sure you are not setting "barrier": false on your audio stimuli, since the auto advance feature will need the barrier to work. Otherwise, it'll just skip trials since the duration of an audio stimulus is treated as 0 if barrier is turned off.

Let us know if these pointers get you anywhere. I do recommend giving the two linked sections a read and see what you think. Those are the powerful randomization methods FindingFive takes extraordinary pain to create, and the interaction between randomization at the trial template level and that at the block level can create beautiful / powerful effects.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)