Skip to content

Goxpyriment Example Experiments

Psychological Experiments

Attention-Posner-Task

Arrow cue directs covert attention; measure cost/benefit on reaction time to a peripheral target

Posner (1980)

▶ Run in browser
Attentional-Blink

RSVP stream; participant detects two targets embedded in a stream of distractors — the second target is often missed within ~500 ms of the first

Raymond et al. (1992)

▶ Run in browser
Change-Blindness

Flicker paradigm: alternating original and modified scenes separated by blanks; participant detects what changed

Rensink et al. (1997)

▶ Run in browser
Classification-Posner-Mitchell

Classify letter pairs at three levels (physical, name, rule identity); RT increases with depth of processing required

Posner & Mitchell (1967)

▶ Run in browser
Contrast-Detection-QUEST

2-IFC adaptive staircase estimating the contrast detection threshold for a Gabor patch; converges on the 82 % correct point

Watson & Pelli (1983)

▶ Run in browser
Finger-Tapping

Patterned finger-tapping: memorise a key sequence then reproduce it 6 times consecutively as fast as possible; only error-free runs recorded

Povel & Collard (1982)

▶ Run in browser
Finger-Tracking

Number-to-position task: drag the finger (or mouse, button held) from a bottom box up to an unmarked 0-40 number line, aiming at a target number; the full trajectory, endpoint, bias, and movement time are recorded

Dotan & Dehaene (2013)

▶ Run in browser
Geometry-consistency

Two concurrent streams of geometric figures test 7-month-olds' detection of shape changes (relative length, angle) over variation in size, position, orientation and sense; experimenter codes looking direction in real time

Dillon, Izard & Spelke (2020)

▶ Run in browser
Geometry-LoT1

Geometric intruder task — click the odd one out among six quadrilaterals (five copies of one of 11 shapes from square to irregular, plus one with a displaced vertex); error rates track geometric regularity

Sablé-Meyer, Fagot, Caparos, van Kerkoerle, Amalric & Dehaene (2021), Experiment 2

▶ Run in browser
Geometry-Triangle-Completion

Two-task study of intuitive Euclidean geometry — verbal judgements about the missing corner of a fragmented triangle, then mouse localization of that corner; yields the scaling exponent of visual extrapolation

Hart, Mahadevan & Dillon (2022)

▶ Run in browser
Go-NoGo

Stop-signal task: respond to letters on go-trials; withhold response when a stop-signal tone is played at variable delays

Logan et al. (1984)

▶ Run in browser
Hemispheric-differences-word-processing

Continuous recognition memory with lateralised study words (LVF/RVF) and central old/new probes, at nine study-test lags

Federmeier & Benjamin (2005)

▶ Run in browser
Language-Localizer

Bilingual auditory language localizer for fMRI; spoken sentences in French, Mandarin, and Wolof are played on a fixed onset schedule started by the scanner trigger, while the participant fixates and listens

Lin, E. (2016), after Pallier et al. (2011) auditory language localizer

▶ Run in browser
Language-Localizer-French-audio

auditory language localizer; spoken sentences in French, and their temporally reversed versions, are played on a fixed onset schedule started by the scanner trigger, while the participant fixates and listens

Pallier C. (unpublished)
Language-Localizer-Reading-English

EvLab visual language localizer for fMRI: the participant reads 12-word sentences and matched nonword sequences presented word by word (RSVP, 450 ms per word, no gap) on a fixed onset schedule started by the scanner ('t') trigger. 48 trials in 16 blocks of 3 (8 sentence, 8 nonword), separated by five 14 s fixation periods; a disc at the end of each trial prompts a button press that keeps the participant alert. The sentences > nonwords contrast localizes the high-level language network. Port of the Psychtoolbox evlab_langloc_2conds.m, using its stimulus tables unchanged (2 runs x 5 sets, selected with -run and -set).

Fedorenko, E., Hsieh, P.-J., Nieto-Castañón, A., Whitfield-Gabrieli, S., & Kanwisher, N. (2010). New method for fMRI investigations of language: defining ROIs functionally in individual subjects. Journal of Neurophysiology, 104(2), 1177-1194. Psychtoolbox implementation by T. Scott (MIT, 2013).

▶ Run in browser
Letter-size-illusion

Compare heights of letters vs. mirror/pseudo-letters; replicates the letter height superiority illusion (two experiments)

New et al. (2015)

▶ Run in browser
lexical_decision

Decide whether a letter string is a word or a non-word (F / J keys); stimuli loaded from a CSV file

▶ Run in browser
LoT-geometry

Comprehension of geometric primitives and rules; reproduces Amalric et al. (2017)

Amalric et al. (2017)

▶ Run in browser
Magnitude-Estimation-Luminosity

Stevens' magnitude estimation of luminance: assign a number to perceived brightness of grey disks

Stevens (1957)

▶ Run in browser
MEG-localizer

Multimodal MEG localizer — table-driven RSVP of faces, houses, words, consonant strings, equations, retinotopic wedges/rings/disks, and natural sounds

▶ Run in browser
MEG-localizer2

Finger and tone MEG localizer — 4 hand pictures with one finger coloured red, an empty (fixation-only) trial, and 5 tones one octave apart, one trial per second (SOA jittered ±100 ms), 160 trials

▶ Run in browser
Memory-for-binary-sequences

Memory and reproduction of auditory binary sequences of varying complexity

Planton et al. (2021)

▶ Run in browser
Memory-Iconic-Sperling

Partial-report procedure measuring capacity and duration of iconic (visual sensory) memory

Sperling (1960)

▶ Run in browser
Memory-Scanning

Hold a set of digits in memory; decide whether a probe was in the set — RT scales with set size

Sternberg (1966)

▶ Run in browser
Memory_span

Adaptive staircase measuring immediate serial recall span for digits, letters, or words

▶ Run in browser
Mental-Logic-Card-Game

Mental logic and inference task using a card-game paradigm

▶ Run in browser
Mental-Rotation-2D

Decide whether two 3-D figures are identical or mirror images; RT increases linearly with angular disparity

Shepard & Metzler (1971)

▶ Run in browser
Mental-Rotation-3D

Decide whether two 3D figures (procedurally generated assemblies of cubes) are identical or mirror images; RT increases linearly with angular disparity.

Shepard & Metzler (1971)
Mouse-tracking

Mouse-trajectory paradigm (written-word adaptation of Spivey et al.): click the labelled box matching a written target word that appears 500 ms after onset, while the cursor path is sampled at ~36 Hz, revealing continuous attraction toward phonological cohort competitors

Spivey et al. (2005)

▶ Run in browser
Multiple-Object-Tracking

Track a subset of identical moving targets among distractors; evidence for a parallel tracking mechanism

Pylyshyn & Storm (1988)

▶ Run in browser
Naming-Stroop

Vocal-response Stroop task — a colour word is named aloud while a microphone voice key measures RT from word onset; per-trial WAV files are saved for offline verification

Stroop (1935)

▶ Run in browser
Number-Change-Detection

Two concurrent dot-array streams (5 vs 20 dots) test infants' preference for numerosity change; experimenter codes looking direction in real time

Decarli, Piazza & Izard (2023)

▶ Run in browser
Number-Comparison

Compare numerical magnitudes of digits and dot patterns; stimulus group (digits / regular / irregular / random) selected via GetParticipantInfo UI

Buckley & Gillman (1974)

▶ Run in browser
Number-Double-Digits-Comparison

Compare two-digit numbers against a fixed standard (55 or 65); two experiments with different response-key mappings

Dehaene et al. (1990)

▶ Run in browser
parity_decision

Classify single digits (0–9) as even or odd (F / J keys)

▶ Run in browser
Perception-of-Temporal-Patterns

Reproduction of isochronous and non-isochronous rhythmic patterns; tests internal clock induction and coding complexity

Povel & Essens (1985)

▶ Run in browser
picture_naming

Vocal naming-latency task: a picture is named aloud while a microphone voice key measures RT from image onset; per-trial WAV files are saved for offline verification

▶ Run in browser
Posner-ANT

Attention Network Task (vertical variant): flanker arrows above/below fixation measure alerting, orienting, and executive attention networks

Fan et al. (2009)

▶ Run in browser
Psychological-Refractory-Period

Two tasks presented in rapid succession; the second response is delayed when the SOA is short

Welford (1952)

▶ Run in browser
Reading-1

Lexical decision on a 5-letter string flashed for 200 ms in four 50 ms windows, with each letter's contrast sampled independently in every window (5 positions x 4 windows = 20 randomised visibility values per trial)

▶ Run in browser
Reasoning-ConceptARC

ConceptARC (the concept-organised ARC benchmark) as a self-paced grid-editing task: each trial shows the demonstrations of one ARC task and a test input, and the participant paints the output grid with the mouse — palette, click/drag, resize, copy-input, reset — and submits it, three attempts per test input. The default session follows the paper's human study (2 training + 3 minimal attention-check + 12 corpus tasks drawn from 12 concept groups, one random test input each, seeded by subject ID); -concept runs one whole concept group, -tests 3 presents all three test inputs, -explain asks for a typed explanation after each task. Every palette choice, cell edit, resize and submission is logged with the full grid, so each answer's editing history can be replayed. The 176 tasks (16 concepts x 10 + 16 minimal) are embedded

Moskvichev, Odouard & Mitchell (2023), The ConceptARC Benchmark, arXiv:2305.07141

▶ Run in browser
Retinotopy

HCP retinotopic mapping paradigm (ported from Python); flickering wedge/ring/bar stimuli for visual cortex mapping; run type selected via GetParticipantInfo UI

▶ Run in browser
Retinotopy-multifocal

Multifocal retinotopic mapping — 24 visual-field regions driven by orthogonal quadratic-residue sequences, pattern-onset with a linear contrast fade; MEG/fMRI sync by flag

Kurki, Hyvärinen, Henriksson & Vanni (2022), NeuroImage 263:119643

▶ Run in browser
RSVP-Images

RSVP oddball-detection task replicating Hebart et al. (2023, THINGS-data). Object images are shown in rapid serial visual presentation on a mid-gray background with a central black fixation dot; the participant presses SPACE whenever a pixelated oddball appears. Timings are read from a design CSV (onset,duration,trial_type,file_path); companion tool cmd/gen-design produces the MEG (SOA 1500±200 ms) and fMRI (SOA 4.5 s) designs. Oddballs are pixelated at runtime; results add a reaction_time column.

Hebart, M. N. et al. (2023). THINGS-data, a multimodal collection of large-scale datasets for investigating object representations in human brain and behavior. eLife 12:e82580.
RSVP-Images-OneBack

One-back RSVP picture task: images from images/ flash by in random order (200 ms on, 100 ms blank); ~10% are immediate repeats and the participant presses SPACE on repeats, with a buzzer on misses. VSYNC-locked, with per-image onset/offset, response, and hit/false-alarm logging
RSVP-MathLang

MathLang RSVP paradigm for fMRI: sentences are presented word by word (300 ms per word, no blank between words) on a fixed onset schedule started by the scanner ('t') trigger. Nine sentence types (pseudoword lists, word lists, meaningless sentences, factual/contextual knowledge, theory of mind, arithmetic principles, calculation, geometry) in true and false variants contrast the language and mathematical reasoning networks. The participant judges each statement's veracity (1 = vrai, 2 = faux); percent correct and median RT are reported per condition at the end of the bloc. Onsets are read from the per-subject table stim_lists/sub-NNN_task-MathLang.csv; each of the 5 blocs is a separate run, selected with -b.

Amalric, M. & Dehaene, S. (2016). Origins of the brain networks for advanced mathematics in expert mathematicians. PNAS 113(18), 4909-4917.

▶ Run in browser
RSVP-multimodal

Multimodal fMRI localizer driven by a stimulus table: rapid serial visual presentation of words, flashing checkerboards, and spoken sentences are presented on a fixed absolute onset schedule started by the scanner ('t') trigger. The bundled protocols implement the French Pinel functional localizer — reading/listening to sentences, reading/listening to mentally-solved subtractions, reading/hearing an instruction to press the left or right button three times, and passively viewing horizontal/vertical checkerboards — contrasting the language, number, motor and visual networks in one five-minute run. The schedule is not hardcoded: protocols/.tsv give onset_time, duration, type (TEXT, BOX, IMAGE, SOUND, TEXT_STREAM, IMAGE_STREAM, SOUND_STREAM), cond and stimuli, so the same program plays any multimodal script. Select a run with -p (instructions, run1..run4). Scheduled and achieved onsets are both written to the data file.

Pinel, P., Thirion, B., Meriaux, S., Jobert, A., Serres, J., Le Bihan, D., Poline, J.-B., & Dehaene, S. (2007). Fast reproducible identification and large-scale databasing of individual functional cognitive networks. BMC Neuroscience, 8, 91.*

▶ Run in browser
Rush-Hour

Rush Hour sliding-block puzzle as a problem-solving task: on each trial the participant frees the red car from a 6x6 traffic jam by clicking the blocking vehicles one cell at a time, and every mouse click is logged, so the whole solution path — moves, dead ends, and latencies — can be reconstructed offline. The embedded library holds 49 boards ordered from 3 to 51 moves, each carrying the exact length of its shortest solution, so excess moves over the optimum is a per-trial measure; -n limits a session to the first N puzzles

Fogleman (2018), Rush Hour puzzle database; ThinkFun "Rush Hour" (Nob Yoshigahara, 1996)

▶ Run in browser
Sensory-Threshold-Estimation-Auditory

1-up/2-down adaptive staircase with 2-IFC to estimate pure-tone hearing thresholds across multiple frequencies

Levitt (1971)

▶ Run in browser
shadowing

Vocal shadowing-latency task: repeat a played sound aloud while a microphone voice key measures the delay between audio onset and speech onset

▶ Run in browser
Simon_task

Identify colour of a square regardless of its screen position; congruent trials are faster

Simon (1969)

▶ Run in browser
simple_reaction_times

20-trial simple RT task: press any key as quickly as possible when a target appears

▶ Run in browser
SNARC-effect

Parity judgment on digits 0–9 with reversed key mappings across blocks; demonstrates the SNARC effect

Dehaene, Bossini & Giraux (1993)

▶ Run in browser
Statistical-Learning-Auditory

Statistical learning of tone sequences: exposure to a continuous tone stream with structured transitional probabilities, probed with 2AFC or head-turn preference

Saffran et al. (1999)

▶ Run in browser
Statistical-Learning-Community-Structure

Implicit learning of community structure in a continuous visual sequence, with random-walk exposure and spacebar-based event segmentation

Schapiro et al. (2013)

▶ Run in browser
Statistical-Learning-Visual

Implicit learning of statistical regularities in a shape stream, probed with forced-choice and RT tests

Turk-Browne et al. (2005)

▶ Run in browser
Stroop_task

Name the ink colour of colour words; incongruent trials (e.g. RED in blue ink) are slower

Stroop (1935)

▶ Run in browser
Subliminal-Priming

Masked word priming: words rendered invisible by surrounding masks still influence processing

Dehaene et al. (2004)

▶ Run in browser
Temporal-Integration-Word-Recognition

Alternating odd/even letter components at variable SOA; Exp 1 (subjective report: 0/1/2 words perceived) and Exp 2 (lexical decision with RT); experiment selected via GetParticipantInfo UI

Forget et al. (2010)

▶ Run in browser
Trubutschek_Unconscious_Working_Memory

Probe access to briefly presented stimuli below and above the threshold of consciousness

Trübutschek et al. (2017)

▶ Run in browser
Typing-Speed

Typing-performance task: on each trial a target sentence is shown and the participant copies it into a framed input box below (with a blinking cursor). Every keystroke onset is recorded with a hardware-precision timestamp — its time from target onset, the interval since the previous key, and one of three categories (correct character, incorrect character, or movement/editing key). A trial advances only on an exact copy followed by ENTER. At the end, percent correct keystrokes and typing speed in characters/second (mean, P10, P50, P90) for correct keystrokes are reported. Built-in sentences can be overridden with -file.

▶ Run in browser
Visual-Illusion-Lilac-Chaser

Lilac chaser illusion: a ring of disappearing disks produces a rotating green afterimage

▶ Run in browser
Visual-Search

Feature vs. conjunction visual search across set sizes (4/12/24), measuring how reaction time scales with the number of distractors

Treisman & Gelade (1980)

▶ Run in browser

Programs that open a GetParticipantInfo dialog collect all setup interactively (subject ID, monitor dimensions, fullscreen toggle, and any experiment-specific options). Pass -headless on the command line to skip the dialog and use field defaults — useful for scripted runs and automated testing. Programs that do not use the dialog still accept -w for windowed mode, -d N to select a monitor, and -s <id> for a subject ID.

Note: These experiments record and save behavioural data to an .csv file in goxpy_data/.


Demonstrations

Visual illusions, interactive showcases, and minimal templates. Most do not write a data file.

demo_bouncing_gv_movies

Two .gv movies bounce around the screen, additively blend on overlap, fire beep tones at frame markers, and log full state to the data file on every key press; demonstrates every runtime mutator media.Movie exposes (Pause, PauseWithLoop, SetRate, SeekFrame, SetPosition, SetSize, SetBlendMode) with the multi-movie synchrony invariant preserved via BeginBurst/EndBurst
demo_canvas

Drawing on an off-screen Canvas surface before presenting it in one frame

▶ Run in browser
demo_follow_mouse

A white dot follows the mouse cursor every frame — minimal real-time input loop

▶ Run in browser
demo_getinfo

Demonstrates the GetParticipantInfo dialog: collects participant demographics and monitor characteristics before the experiment window opens

▶ Run in browser
demo_hello_world

Simplest possible goxpyriment program — good starting point for new users

▶ Run in browser
demo_images

Loads every PNG file in the current directory and displays each one centered for one second
demo_images_embedded

Displays embeded images sequentially, each one centered for one second

▶ Run in browser
demo_joystick

Move a cursor with a controller's analog stick (gamepad API with raw-joystick fallback, dead zone, live axis readout) — analog input handling

▶ Run in browser
demo_keyboard

Demonstrates every keyboard input method provided by the framework, section by section

▶ Run in browser
demo_menu

Demonstrates the stimuli.Menu widget

▶ Run in browser
demo_Motion-Blur

Motion blur vs. phantom array demo: animated bar demonstrates retinal blur and the strobe effect at 60 Hz

▶ Run in browser
demo_mouse_audio_feedback

Left/right mouse clicks trigger ping/buzzer audio; useful for testing sound output

▶ Run in browser
demo_MovingGrating

Presents 10 drifting sinusoidal gratings, orientation +45°/-45° in random order

▶ Run in browser
demo_naming

Vocal digit-naming task ("one".."ten") with a live VU-meter microphone calibration screen that auto-sets the voice-key threshold from observed min/max levels

▶ Run in browser
demo_play_gv_videos

Plays a single .gv video through the control facade
demo_play_two_gvvideos

Plays two .gv videos side by side, synchronised, logging keypresses with their time relative to video onset
demo_play_two_videos

Plays two MPEG videos side by side, synchronised, logging keypresses with their time relative to video onset
demo_play_videos

Plays a sequence of MPEG video files found in the assets folder
demo_random-dot-stereogram

Random-dot stereogram that reveals a 3-D shape when fused binocularly

▶ Run in browser
demo_simple-rt-example

Minimal 10-trial reaction-time loop using ShowTS / GetKeyEventTS for hardware-timestamped RT

▶ Run in browser
demo_simple_audio_visual_stim

Simultaneous tone and rectangle with a keypress response — shows audio preloading and the silent-tone sink warm-up

▶ Run in browser
demo_spritesheet

Cut one image into a grid of stimuli sharing a single GPU texture, drawn by source rectangle (Psychtoolbox's DrawTexture sourceRect)

▶ Run in browser
demo_stimuli_extras

Showcase of advanced stimuli: visual mask, Gabor patch, dot cloud, stimulus circle, thermometer

▶ Run in browser
demo_stream_callback

Per-frame FrameCallback for stream overlays and real-time feedback (PresentStreamOfStimuliFunc)

▶ Run in browser
demo_stream_images

High-precision RSVP loop streaming a sequence of images (PresentStreamOfImages)
demo_stream_mixed

Heterogeneous stream mixing visual and audio stimuli via PresentStreamOfStimuli

▶ Run in browser
demo_stream_text

High-precision RSVP loop streaming a sequence of text strings

▶ Run in browser
demo_stream_tones

Sequential auditory stream playing a regular sequence of pure tones with timing logs

▶ Run in browser
demo_sync_two_gv_movies

Two .gv movies played side by side under a shared MasterClock; demonstrates media.MovieManager multi-movie sync, burst-pause, Movie[At]/Movie[AtDisplay], and Display[Onset/Offset] events with optional TTL-trigger wiring
demo_text_input

Demonstration of the TextInput stimulus collecting free-text keyboard input

▶ Run in browser
demo_Visual-Angle-Calibration

Draws concentric rings at 2°, 5°, and 10° of visual angle for a quick sanity-check of the units.Monitor calibration

▶ Run in browser
demo_Visual-Illusion-Ebbginghaus

Animated Ebbinghaus (Titchener circles) size-contrast illusion

▶ Run in browser
demo_Visual-Illusion-Kanizsa

Kanizsa illusory-contour square: a square is perceived where none is drawn

▶ Run in browser
demo_Visual-Persistence

Persistence-of-vision illusion: an image seen only through moving vertical slits integrates into a whole when the eyes track a moving dot

▶ Run in browser

Technical Tests

Hardware, timing, and feature tests live in the tests/ directory at the repository root (separate Go module). Build them with make tests.

GvFiles

Plays sequences of .gv movies while flashing a white square and pulsing DLP-IO8 line 0 at frame markers, for photodiode+oscilloscope display/TTL synchrony checks (port of PsyScope WhiteSquareSync)
set_fullscreen

Minimal SDL program that toggles exclusive fullscreen mode — sanity check for the fullscreen video path
test_audio_drift

Measures the audio clock's rate error against the system clock in ppm, by regressing frames consumed on monotonic time over a long tone
test_av_sync

Verifies PlaySyncedWithFlip aligns audio onset with the VSYNC flip (icon flash + 1 kHz tone each second)
test_clear_only_frames

Presents frames whose only content is a clear (no draw calls) to verify the library defence against the compositor clear-only presentation bug
test_dlpio20

Exercises a DLP-IO20 as an 8-bit TTL trigger device (output + input loopback), with static hold/set modes for multimeter probing
test_dlpio8

Square-wave output on a DLP-IO8-G pin with rising/falling edge jitter statistics; characterises the trigger box against an oscilloscope
test_eyelink

Checks an SR Research EyeLink through the Python bridge, and measures what a bridge message costs against a TTL fired at the same flip
test_ft232h

Exercises an Adafruit FT232H breakout as an 8-bit TTL trigger device (output + input loopback)
test_fullscreen

Sanity check for fullscreen rendering through the control facade
test_gv_sync

Plays a synthesised .gv flash train with a TTL pulse at each bright onset; measures whether PlayGvFunc puts frames on screen when it claims to
test_labjackt4

Exercises a LabJack T4 as an 8-bit TTL trigger device (output + input loopback)
test_linuxgpio

Exercises a Linux GPIO character-device (v2) trigger as an 8-bit TTL device (output + input loopback)
test_megttlbox

Exercises the NeuroSpin Arduino Mega TTL box — firmware identification, TTL outputs on D30–D37, response inputs on D22–D29, and an optional jumpered loopback check.
test_mmbts

Exercises a NEUROSPEC MMBT-S interface box as an 8-bit TTL trigger device over USB-CDC serial — whole-port patterns, per-line writes, pulses, and a square wave.
test_netstation

Exercises an EGI/NetStation EEG host over TCP/IP (ECI) — connect, synchronize, record, and send event markers
test_parallel_port

Reads and writes a Linux LPT parallel port via the ppdev kernel interface
test_photodiode_latency

Measures the delay between the timestamp ShowTS returns and light actually leaving the screen, by firing a DLP-IO8 TTL synchronously on the flip thread and letting an AD3 or BBTK time the TTL against a photodiode
test_stream_trigger

Post-flip onset hooks fire a per-stimulus TTL aligned to TimingLog.OnsetNS (PresentStreamOfStimuliHooks + PlayStreamOfSoundsHook)
test_tearing

Full-height white bar sweeping horizontally to reveal screen tearing; prints frame-interval statistics on exit
test_tobii

Checks a Tobii Pro tracker through the Python bridge, and measures the coordinate origin, sample rate and clock offset
test_triggers

Fires the same pulse train on two or more TTL output devices at once, on one absolute schedule, so an oscilloscope (or a MEG TTL box acting as witness) can measure the skew between their edges
test_vblank_drift

Measures whether Screen.FlipTS drifts against the display, using the kernel's DRM vblank timestamps as a reference instead of a photodiode
test_videorecorder

Exercises the BEL_video networked video recorder over TCP/IP — start/stop recording and send overlay labels
test_vsync_blocking

Reports nominal, unaided and paced frame periods to show whether the platform/driver blocks on VSYNC or drops frames
Timing-Tests

Hardware timing verification suite: six sub-tests selected with -test ; av (visual+audio+TTL, five photodiode squares) is the default

Binaries

If you have followed the installation instructions, running the script build-all.sh has created binaries for all examples in the subfolder _build. You can just open this folder and launch the executables.

Else, you can download pre-built executable programs for all examples.

Alternatively, you can read the next section if you want to compile these experiments on your computer.

Building from source

If you have installed go on your computer, you can run any example directly from a local clone of the goxpyriment repository:

go run ./examples/parity_decision/ -w -s 1

Or build and run from inside the example directory:

cd examples/hello_world
go run .            # fullscreen by default
go run . -w         # windowed 1024×768
go run . -w -s 1    # windowed, subject ID = 1
go run . -d 1       # fullscreen on monitor 1
go run . -w -d 1    # windowed on monitor 1
go build .          # build a standalone binary

To build all examples (and tests) at once (binaries go to _build/):

./build-all.sh      # from the repo root — works on Linux, macOS, and Windows (Git Bash)

(On Linux/macOS you can also use make examples or make all.)