Custom ERTS Script

Write your own task paradigm with help of the built-in ERTS script language

Cognition Lab is offering a powerful scripting language (ERTS) that can be used by students without coding skills to create or modify cognitive task paradigms. This language has been used by hundreds of academic organizations world-wide to setup cognitive experiments.

Use this script language to define browser-based reaction time tasks with visual and auditory stimulus material, including support for questionnaires, Likert, and VAS-scales. Supported input devices are keyboard, mouse, touch, speech, and joystick.

For creating and sharing scripts, visit Cognition Lib. This web site is a free online community for sharing ERTS Scripts. Use the online text editor to create new scripts or modify an existing script. An instant preview feature helps you to verify the script and immediately see the output . Once your script is ready, copy/paste the script into Cognition Lab as a custom script paradigm and use it just as the pre-packaged test paradigms to start collecting data.


  • Beringer, J. (1993). Entwurf einer Anwendersprache zur Steuerung psychologischer Reaktionszeitexperimente. European University Studies, Series XLI, Informatic, Peter Lang: Frankfurt, Paris, New York.
  • Beringer, J. (1994). CiP94 Abstracts: ERTS-IPL: Tachistoscopic color image displays and accurate response registration on IBM PCs. Psychology Software News, 5(2), 37-38, CTI Centre for Psychology, University of York.
  • Dutta, A. (1995). Experimental RunTime System: Software for Developing and Running Reaction Time Experiments on IBM-compatible PCs. Behavior Research Methods, Instruments, & Computers, 27 (4), 516-519.
  • Iwanek, R. (1994). Review of the Experimental RunTime System. Psychology Software News, 5(2), 65-67, CTI Centre for Psychology, University of York.


Find research which has used the ERTS Scripting Language

Stimulus Material

The ERTS Script language offers a variety of different data types to define the stimulus material of your experiment:

PICTURE Visual stimulus material (including instructions) is defined using the PICTURE data type. This data type supports a variety of different flavors of visual stimuli, e.g. text, graphics, Gabor, and video (mp4, webm, ogg). Pictures can be displayed on any screen location in different rotations.

POSITION The POSITION data type defines screen locations on which a Picture will be displayed. ERTS uses a logical millimeters coordinate system which may be adjusted to actual monitor dimensions. A position definition may consist of multiple screen coordinates to form circles, grids, or lines that may be used to randomly positioning Pictures.

TONE The Tone data type is used to define all types of auditory stimuli. ERTS supports the definition of sine wave tone (CHROME only) and external sound files (mp3, wav, ogg).

COLOR The color data type is used for defining foreground and background colors. Colors can be defined in RGB or HSV color space.

FONT This data type defines fonts for text pictures. What font is exactly available depends on the OS and browser.

SET The set data type is used to group data objects into sets which can be used for random processes. A set definition may consist of a list of data objects like pictures, positions, tones, colors, or fonts. During the experiment you can then randomly draw from a set to realize randomization that goes beyond the permutation of trials.

Response Keys

All standard key names of the PC keyboard are predefined, but they can be grouped and referenced explicitly to activate certain keys and define key sequences:

KEY This data type is used to define the response keys that will be used in an experiment. All standard key names of the PC keyboard are predefined. Adding a ‘^’-symbol to the key name refers to the release event instead of the press event.

Procedural structures

Procedural commands are used to define the event sequence of an experiment. The ERTS script language supports three levels to define the event flow.

Trial A trial definition consists of several trial commands that define the actual events as experienced by the test participant. A trial definition with one or more variable command arguments is called a trial schema. In this case the final values for the trial commands will be defined later at the block level.

Block A block definition lists the trials which should be executed within this block either in fixed or random order. If trials have variable arguments, they must be specified at the block level. The values of a trial specification are captured in the result file to document the independent variables for each trial.

Session A session definition defines the overall structure of an experiment. This structure is a composition of trials and blocks that are executed in the order as defined.