Skip to content

Self-Paced Reading Block

The selfpacedreading block can present the participant with a self-paced reading task. In this task, subsequent parts of a sentence are shown one fragment at a time, by generating a trial block for each display (called sub-trials). The structure of the block is summarised below.

Inheritance

A selfpacedreading block has the same parameters as a trial block. This means that you can specify any parameter as you are able to in a trial, except a stimulus text since this will be generated for you. Furthermore, the response options include a keyboard by default. If you like, you can change this behaviour by specifying a response block yourself, see the examples.

Because the selfpacedreading block uses a keyboard response by default, you can advance a trial using the spacebar.

Furthermore, a selfpacedreading block has a specific behaviour on its font. As only block in the ROLEG DSL, its default font-face is 'Courier'. Because the Courier font-face is monospaced, as opposed to the otherwise default font-face, no horizontal shifts occur when the hidden part of the sentence is displayed as a different character. If desired, you can specify another font-face to be used by doing so in a font block, with its usual placement and inheritance rules.

Parameters

A selfpacedreading block also includes three additional parameters.

text

Conditionally required, if text_list is not specified.
String or list of Strings that defines the text to be displayed across sub-trials.
If specified as String, the text will be broken into parts around the spaces it contains. If specified as a list of Strings, the list elements denote the parts in order with each element automatically visually wrapped with a space.

Example:
text = "This is an example sentence" will generate 5 sub-trials, each showing one word at a time. text = ["This", "is an example", "sentence"] will generate 3 sub-trials, with the list elements defining the parts in order.

text_list

Conditionally required, if text is not specified.
List of Strings or lists of Strings that could be used as a value for text. This allows you to specify multiple sentences and mix specification styles. Each element will have its own initial trial display, according to the mask parameter.

Example:

text_list = [
    ["Nothin is for sure,", "nothin is for certain,", "nothin lasts forever"],
    "But until they close the curtain, it is him and I: Aquemini"
]

mask

Optional, defaults to DASHES_WITH_PUNCTUATION. Keyword that defines how the hidden parts of the sentence are displayed. The available Keywords are DASHES_WITH_PUNCTUATION, DASHES_WITHOUT_PUNCTUATION, SPACES and CENTERED.

  • DASHES_WITH_PUNCTUATION replaces the hidden parts of the sentence with dashes. Punctuation will always remain visible. The first trial will hide the entire sentence.
  • DASHES_WITHOUT_PUNCTUATION is similar to DASHES_WITH_PUNCTUATION but also replaces punctuation in hidden parts with dashes.
  • SPACES is similar to DASHES_WITH_PUNCTUATION but instead replaces hidden parts with whitespace.
  • CENTERED shows only one part at a time, centered in the screen. The first trial will present a fixation cross.

Example usage

Breaking texts in different ways
experiment {
    selfpacedreading {
        // Parts divided around spaces
        text = "Even the sun goes down, heroes eventually die"
    }

    selfpacedreading {
        // Parts divided manually
        text = ["Horoscopes often lie,", "and sometimes y"]
    }

    selfpacedreading {
        // A combination of both
        text_list = [
            ["Nothin is for sure,", "nothin is for certain,", "nothin lasts forever"],
            "But until they close the curtain, it is him and I: Aquemini"
        ]
    }
}
Customising text appearance
experiment {
    selfpacedreading {
        font {
            face = "Monaco" //(1)
            color = "red"
        }

        text = "Even the sun goes down, heroes eventually die"
        mask = SPACES
    }
}
  1. 'Monaco' is a monospaced font-face, which will prevent the displayed text from shifting horizontally across sub-trials.
Customising response options
experiment {
    selfpacedreading {
        text = "Even the sun goes down, heroes eventually die"
        response {
            keyboard = [ARROW_RIGHT]
        }
    }
}
Back to top