Millisecond Forums

Display single letter of text phrase at a time in a single trial

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

By asnuser - 3/2/2020

I have a series of text phrases, and I would like to present one letter at a time of that phrase in a single trial, and control the speed at which each letter is added on. Is there a way to loop through an item list and do this without building individual letter stimulus sets for each text item? The duration of the trial should therefore be based on the number of letters in the phrase presented.

<text slow>
/ items = slowitems
/ color = black
/ position = (50, 50)
/ txbgcolor = transparent
/ txcolor = black
/ fontstyle = ("Arial", 24pt)
</text>

<item slowitems>
/1 = " slow1 "
/2 = " slow2 "
/3 = " slow3 "
</item>

<trial slowtrial>
/ validresponse = (" ")
/ correctresponse = (" ")
/ posttrialpause = 4000
/ stimulustimes = [1=slow]
</trial>


By Dave - 3/2/2020

asnuser - 3/2/2020
I have a series of text phrases, and I would like to present one letter at a time of that phrase in a single trial, and control the speed at which each letter is added on. Is there a way to loop through an item list and do this without building individual letter stimulus sets for each text item? The duration of the trial should therefore be based on the number of letters in the phrase presented.

<text slow>
/ items = slowitems
/ color = black
/ position = (50, 50)
/ txbgcolor = transparent
/ txcolor = black
/ fontstyle = ("Arial", 24pt)
</text>

<item slowitems>
/1 = " slow1 "
/2 = " slow2 "
/3 = " slow3 "
</item>

<trial slowtrial>
/ validresponse = (" ")
/ correctresponse = (" ")
/ posttrialpause = 4000
/ stimulustimes = [1=slow]
</trial>



This can be done. You'll want to take a look at the self-paced reading script, which you can modify to do this.
By Dave - 3/2/2020

Dave - 3/2/2020
asnuser - 3/2/2020
I have a series of text phrases, and I would like to present one letter at a time of that phrase in a single trial, and control the speed at which each letter is added on. Is there a way to loop through an item list and do this without building individual letter stimulus sets for each text item? The duration of the trial should therefore be based on the number of letters in the phrase presented.

<text slow>
/ items = slowitems
/ color = black
/ position = (50, 50)
/ txbgcolor = transparent
/ txcolor = black
/ fontstyle = ("Arial", 24pt)
</text>

<item slowitems>
/1 = " slow1 "
/2 = " slow2 "
/3 = " slow3 "
</item>

<trial slowtrial>
/ validresponse = (" ")
/ correctresponse = (" ")
/ posttrialpause = 4000
/ stimulustimes = [1=slow]
</trial>



This can be done. You'll want to take a look at the self-paced reading script, which you can modify to do this.

A quick modification of that script to illustrate is attached.
By asnuser - 3/2/2020

Thank you, this was an extremely helpful example!
By asnuser - 3/6/2020

Dave - 3/2/2020
Dave - 3/2/2020
asnuser - 3/2/2020
I have a series of text phrases, and I would like to present one letter at a time of that phrase in a single trial, and control the speed at which each letter is added on. Is there a way to loop through an item list and do this without building individual letter stimulus sets for each text item? The duration of the trial should therefore be based on the number of letters in the phrase presented.

<text slow>
/ items = slowitems
/ color = black
/ position = (50, 50)
/ txbgcolor = transparent
/ txcolor = black
/ fontstyle = ("Arial", 24pt)
</text>

<item slowitems>
/1 = " slow1 "
/2 = " slow2 "
/3 = " slow3 "
</item>

<trial slowtrial>
/ validresponse = (" ")
/ correctresponse = (" ")
/ posttrialpause = 4000
/ stimulustimes = [1=slow]
</trial>



This can be done. You'll want to take a look at the self-paced reading script, which you can modify to do this.

A quick modification of that script to illustrate is attached.

I added an interstimulus trial with a fixed duration by changing endtrial to something like this:
<trial endtrial_Cslow>
/ stimulusframes = [1=background, fixation]
/ validresponse = (0)
/ trialduration = 4000
/ branch = [
    return (trial.getstim_Cslow);
]
</trial>


I want to have participants respond to a likert scale after they see each sentence. How do I build that as trial into the block, after the endtrial?

By Dave - 3/6/2020

asnuser - 3/6/2020
Dave - 3/2/2020
Dave - 3/2/2020
asnuser - 3/2/2020
I have a series of text phrases, and I would like to present one letter at a time of that phrase in a single trial, and control the speed at which each letter is added on. Is there a way to loop through an item list and do this without building individual letter stimulus sets for each text item? The duration of the trial should therefore be based on the number of letters in the phrase presented.

<text slow>
/ items = slowitems
/ color = black
/ position = (50, 50)
/ txbgcolor = transparent
/ txcolor = black
/ fontstyle = ("Arial", 24pt)
</text>

<item slowitems>
/1 = " slow1 "
/2 = " slow2 "
/3 = " slow3 "
</item>

<trial slowtrial>
/ validresponse = (" ")
/ correctresponse = (" ")
/ posttrialpause = 4000
/ stimulustimes = [1=slow]
</trial>



This can be done. You'll want to take a look at the self-paced reading script, which you can modify to do this.

A quick modification of that script to illustrate is attached.

I added an interstimulus trial with a fixed duration by changing endtrial to something like this:
<trial endtrial_Cslow>
/ stimulusframes = [1=background, fixation]
/ validresponse = (0)
/ trialduration = 4000
/ branch = [
    return (trial.getstim_Cslow);
]
</trial>


I want to have participants respond to a likert scale after they see each sentence. How do I build that as trial into the block, after the endtrial?


From the endtrial, /branch to the likert. From the likert then /branch to the getstim_Cslow trial.