Millisecond Forums

Reducing number of trials in auditory stroop task

https://forums.millisecond.com/Topic35033.aspx

By CLB - 12/15/2022

Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks
By Dave - 12/15/2022

CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.
By CLB - 12/15/2022

Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.
By Dave - 12/15/2022

CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.

You cannot *half* the number of experimental trials. As explained in the script, there are three repetitions of each stimulus.

There are 6 accoustic dimensions. Each accoustic dimensions has 3 levels. There are 6 stimuli per dimension. And, finally, in the default configuration, each stimulus is repeated 3 times. So: 6 x 3 x 6 x 3 = 324 trials.

The only thing you can reasonably cut down on is the number of repetions, e.g. by going down to 2 repetions of each stimulus. That would yield 6 x 3 x 6 x 2 = 216 trials.

Going for no repetition would yield 108 trials.


By CLB - 12/15/2022

Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.

You cannot *half* the number of experimental trials. As explained in the script, there are three repetitions of each stimulus.

There are 6 accoustic dimensions. Each accoustic dimensions has 3 levels. There are 6 stimuli per dimension. And, finally, in the default configuration, each stimulus is repeated 3 times. So: 6 x 3 x 6 x 3 = 324 trials.

The only thing you can reasonably cut down on is the number of repetions, e.g. by going down to 2 repetions of each stimulus. That would yield 6 x 3 x 6 x 2 = 216 trials.

Going for no repetition would yield 108 trials.



Thank you for explaining. I'm dealing with a large volume of inquiries about different Inquisit scripts so your knowledge on this is really appreciated.

Could you explain how to manipulate the script to reduce to 2 repetitions or no repetitions?

Thank you.
By Dave - 12/15/2022

CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.

You cannot *half* the number of experimental trials. As explained in the script, there are three repetitions of each stimulus.

There are 6 accoustic dimensions. Each accoustic dimensions has 3 levels. There are 6 stimuli per dimension. And, finally, in the default configuration, each stimulus is repeated 3 times. So: 6 x 3 x 6 x 3 = 324 trials.

The only thing you can reasonably cut down on is the number of repetions, e.g. by going down to 2 repetions of each stimulus. That would yield 6 x 3 x 6 x 2 = 216 trials.

Going for no repetition would yield 108 trials.



Thank you for explaining. I'm dealing with a large volume of inquiries about different Inquisit scripts so your knowledge on this is really appreciated.

Could you explain how to manipulate the script to reduce to 2 repetitions or no repetitions?

Thank you.

First, you'll have to edit "stimordergeneration.iqx":

<list conditions>
/items = (1, 2, 3, 4, 5, 6)
/ poolsize = 324 // change to 216 for 2 repetitions
/not = (values.notselect1, values.notselect2)
/replace = false
/ selectionrate = always
</list>

// below change all the bolded 54 to 36 for two repetitions
<trial dimensionsequence>
/ontrialbegin = [
    if (values.condition == 1) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 2) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 3) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    } else if (values.condition == 4) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 5) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 6) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    };

    values.condition = list.conditions.nextvalue;
    values.dimensionsequence = concat(values.dimensionsequence, values.condition);
    list.dimensionsequence.insertitem(values.condition, (list.dimensionsequence.itemcount + 1));
    if (values.condition == 1) {
        values.count1 += 1;
    } else if (values.condition == 2) {
        values.count2 += 1;
    } else if (values.condition == 3) {
        values.count3 += 1;
    } else if (values.condition == 4) {
        values.count4 += 1;
    } else if (values.condition == 5) {
        values.count5 += 1;
    } else if (values.condition == 6) {
        values.count6 += 1;
    };
]
/ontrialend = [
    if (values.count1 > 54 || values.count2 > 54 || values.count3 > 54 || values.count4 > 54 ||
    values.count5 > 54 || values.count6 > 54) {
        values.dimensionsequence ="";
        list.dimensionsequence.reset();
        list.conditions.reset();
        values.count1 = 0;
        values.count2 = 0;
        values.count3 = 0;
        values.count4 = 0;
        values.count5 = 0;
        values.count6 = 0;
    };
]
/branch = [
    if (values.count1 < 54 || values.count2 < 54 || values.count3 < 54 ||
    values.count4 < 54 || values.count5 < 54 || values.count6 < 54){
        return trial.dimensionsequence;
    };
]
/trialduration = 0
/recorddata = false
</trial>

Then you need to adjust the main script.

<block AuditoryStroop>
/ preinstructions = (taskintro1, taskintro2, taskintro3)
/ onblockbegin = [
    list.control_durationlevels.reset();
    list.control_loudnesslevels.reset();
    list.control_pitchlevels.reset();
    list.durationlevels.reset();
    list.index_control_duration_level1.reset();
    list.index_control_duration_level2.reset();
    list.index_control_duration_level3.reset();
    list.index_control_loudness_level1.reset();
    list.index_control_loudness_level2.reset();
    list.index_control_loudness_level3.reset();
    list.index_control_pitch_level1.reset();
    list.index_control_pitch_level2.reset();
    list.index_control_pitch_level3.reset();
    list.index_duration_level1.reset();
    list.index_duration_level2.reset();
    list.index_duration_level3.reset();
    list.index_loudness_level1.reset();
    list.index_loudness_level2.reset();
    list.index_loudness_level3.reset();
    list.index_pitch_level1.reset();
    list.index_pitch_level2.reset();
    list.index_pitch_level3.reset();
    list.loudnesslevels.reset();
    list.pitchlevels.reset();
]
/ trials = [
    1 = getReady;
    2-325 = dimensionselectiontrial; // change to  2-217 = dimensionselectiontrial; for two repetitions
]
</block>


By Dave - 12/15/2022

Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.

You cannot *half* the number of experimental trials. As explained in the script, there are three repetitions of each stimulus.

There are 6 accoustic dimensions. Each accoustic dimensions has 3 levels. There are 6 stimuli per dimension. And, finally, in the default configuration, each stimulus is repeated 3 times. So: 6 x 3 x 6 x 3 = 324 trials.

The only thing you can reasonably cut down on is the number of repetions, e.g. by going down to 2 repetions of each stimulus. That would yield 6 x 3 x 6 x 2 = 216 trials.

Going for no repetition would yield 108 trials.



Thank you for explaining. I'm dealing with a large volume of inquiries about different Inquisit scripts so your knowledge on this is really appreciated.

Could you explain how to manipulate the script to reduce to 2 repetitions or no repetitions?

Thank you.

First, you'll have to edit "stimordergeneration.iqx":

<list conditions>
/items = (1, 2, 3, 4, 5, 6)
/ poolsize = 324 // change to 216 for 2 repetitions
/not = (values.notselect1, values.notselect2)
/replace = false
/ selectionrate = always
</list>

// below change all the bolded 54 to 36 for two repetitions
<trial dimensionsequence>
/ontrialbegin = [
    if (values.condition == 1) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 2) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 3) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    } else if (values.condition == 4) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 5) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 6) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    };

    values.condition = list.conditions.nextvalue;
    values.dimensionsequence = concat(values.dimensionsequence, values.condition);
    list.dimensionsequence.insertitem(values.condition, (list.dimensionsequence.itemcount + 1));
    if (values.condition == 1) {
        values.count1 += 1;
    } else if (values.condition == 2) {
        values.count2 += 1;
    } else if (values.condition == 3) {
        values.count3 += 1;
    } else if (values.condition == 4) {
        values.count4 += 1;
    } else if (values.condition == 5) {
        values.count5 += 1;
    } else if (values.condition == 6) {
        values.count6 += 1;
    };
]
/ontrialend = [
    if (values.count1 > 54 || values.count2 > 54 || values.count3 > 54 || values.count4 > 54 ||
    values.count5 > 54 || values.count6 > 54) {
        values.dimensionsequence ="";
        list.dimensionsequence.reset();
        list.conditions.reset();
        values.count1 = 0;
        values.count2 = 0;
        values.count3 = 0;
        values.count4 = 0;
        values.count5 = 0;
        values.count6 = 0;
    };
]
/branch = [
    if (values.count1 < 54 || values.count2 < 54 || values.count3 < 54 ||
    values.count4 < 54 || values.count5 < 54 || values.count6 < 54){
        return trial.dimensionsequence;
    };
]
/trialduration = 0
/recorddata = false
</trial>

Then you need to adjust the main script.

<block AuditoryStroop>
/ preinstructions = (taskintro1, taskintro2, taskintro3)
/ onblockbegin = [
    list.control_durationlevels.reset();
    list.control_loudnesslevels.reset();
    list.control_pitchlevels.reset();
    list.durationlevels.reset();
    list.index_control_duration_level1.reset();
    list.index_control_duration_level2.reset();
    list.index_control_duration_level3.reset();
    list.index_control_loudness_level1.reset();
    list.index_control_loudness_level2.reset();
    list.index_control_loudness_level3.reset();
    list.index_control_pitch_level1.reset();
    list.index_control_pitch_level2.reset();
    list.index_control_pitch_level3.reset();
    list.index_duration_level1.reset();
    list.index_duration_level2.reset();
    list.index_duration_level3.reset();
    list.index_loudness_level1.reset();
    list.index_loudness_level2.reset();
    list.index_loudness_level3.reset();
    list.index_pitch_level1.reset();
    list.index_pitch_level2.reset();
    list.index_pitch_level3.reset();
    list.loudnesslevels.reset();
    list.pitchlevels.reset();
]
/ trials = [
    1 = getReady;
    2-325 = dimensionselectiontrial; // change to  2-217 = dimensionselectiontrial; for two repetitions
]
</block>



Oh, forgot one thing; In the main script,

<list control_pitchlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list control_loudnesslevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list control_durationlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list pitchlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list loudnesslevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

and

<list durationlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

also need to be changed.
By CLB - 12/15/2022

Dave - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Dave - 12/15/2022
CLB - 12/15/2022
Hi guys,

I am trying to reduce the number of trials in the experimental block of the auditory stroop acoustic dimensions task on Inquisit Web. 
Would really appreciate any help on how to do this as I have been trying to hours and cannot get the script to run with the changes I am trying.

Thanks

At a minimum, you need to explain (1) how many trials you want to run ("I am trying to reduce the number of trials" is exceedingly vague and not actionable) and (2) the changes you already made and why.

Thanks for replying. From what I understand there are 324 experimental block trials. We would like to half this as we want to reduce the time it takes to complete the task by approximately half. The only changes I have made already are removing the familiarization and stabilization blocks, also to reduce the total time it takes to undertake the task, and as they are not necessary for what we want to measure. The script runs fine with those removed; now I just want to reduce the experimental trials. 
Thank you.

You cannot *half* the number of experimental trials. As explained in the script, there are three repetitions of each stimulus.

There are 6 accoustic dimensions. Each accoustic dimensions has 3 levels. There are 6 stimuli per dimension. And, finally, in the default configuration, each stimulus is repeated 3 times. So: 6 x 3 x 6 x 3 = 324 trials.

The only thing you can reasonably cut down on is the number of repetions, e.g. by going down to 2 repetions of each stimulus. That would yield 6 x 3 x 6 x 2 = 216 trials.

Going for no repetition would yield 108 trials.



Thank you for explaining. I'm dealing with a large volume of inquiries about different Inquisit scripts so your knowledge on this is really appreciated.

Could you explain how to manipulate the script to reduce to 2 repetitions or no repetitions?

Thank you.

First, you'll have to edit "stimordergeneration.iqx":

<list conditions>
/items = (1, 2, 3, 4, 5, 6)
/ poolsize = 324 // change to 216 for 2 repetitions
/not = (values.notselect1, values.notselect2)
/replace = false
/ selectionrate = always
</list>

// below change all the bolded 54 to 36 for two repetitions
<trial dimensionsequence>
/ontrialbegin = [
    if (values.condition == 1) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 2) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 3) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    } else if (values.condition == 4) {
        values.notselect1 = 1;
        values.notselect2 = 4;
    } else if (values.condition == 5) {
        values.notselect1 = 2;
        values.notselect2 = 5;
    } else if (values.condition == 6) {
        values.notselect1 = 3;
        values.notselect2 = 6;
    };

    values.condition = list.conditions.nextvalue;
    values.dimensionsequence = concat(values.dimensionsequence, values.condition);
    list.dimensionsequence.insertitem(values.condition, (list.dimensionsequence.itemcount + 1));
    if (values.condition == 1) {
        values.count1 += 1;
    } else if (values.condition == 2) {
        values.count2 += 1;
    } else if (values.condition == 3) {
        values.count3 += 1;
    } else if (values.condition == 4) {
        values.count4 += 1;
    } else if (values.condition == 5) {
        values.count5 += 1;
    } else if (values.condition == 6) {
        values.count6 += 1;
    };
]
/ontrialend = [
    if (values.count1 > 54 || values.count2 > 54 || values.count3 > 54 || values.count4 > 54 ||
    values.count5 > 54 || values.count6 > 54) {
        values.dimensionsequence ="";
        list.dimensionsequence.reset();
        list.conditions.reset();
        values.count1 = 0;
        values.count2 = 0;
        values.count3 = 0;
        values.count4 = 0;
        values.count5 = 0;
        values.count6 = 0;
    };
]
/branch = [
    if (values.count1 < 54 || values.count2 < 54 || values.count3 < 54 ||
    values.count4 < 54 || values.count5 < 54 || values.count6 < 54){
        return trial.dimensionsequence;
    };
]
/trialduration = 0
/recorddata = false
</trial>

Then you need to adjust the main script.

<block AuditoryStroop>
/ preinstructions = (taskintro1, taskintro2, taskintro3)
/ onblockbegin = [
    list.control_durationlevels.reset();
    list.control_loudnesslevels.reset();
    list.control_pitchlevels.reset();
    list.durationlevels.reset();
    list.index_control_duration_level1.reset();
    list.index_control_duration_level2.reset();
    list.index_control_duration_level3.reset();
    list.index_control_loudness_level1.reset();
    list.index_control_loudness_level2.reset();
    list.index_control_loudness_level3.reset();
    list.index_control_pitch_level1.reset();
    list.index_control_pitch_level2.reset();
    list.index_control_pitch_level3.reset();
    list.index_duration_level1.reset();
    list.index_duration_level2.reset();
    list.index_duration_level3.reset();
    list.index_loudness_level1.reset();
    list.index_loudness_level2.reset();
    list.index_loudness_level3.reset();
    list.index_pitch_level1.reset();
    list.index_pitch_level2.reset();
    list.index_pitch_level3.reset();
    list.loudnesslevels.reset();
    list.pitchlevels.reset();
]
/ trials = [
    1 = getReady;
    2-325 = dimensionselectiontrial; // change to  2-217 = dimensionselectiontrial; for two repetitions
]
</block>



Oh, forgot one thing; In the main script,

<list control_pitchlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list control_loudnesslevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list control_durationlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list pitchlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

<list loudnesslevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

and

<list durationlevels>
/ items = (1, 2, 3)
/ poolsize = 54 // change to 36 for two repetitions
</list>

also need to be changed.

Thank you! Really appreciate it