View on GitHub

expe3000

expe3000

A multimedia stimulus delivery system designed for experimental psychology and neuroscience tasks requiring millisecond-accurate timing and low-latency audio.

Stimuli are presented according to a fixed, predefined, schedule. Althought keypress events are saved, with a timestamp, the behavior of the program cannot be modified in real-time, e.g. you cannot provide immediate feedback. There is no notion of “trial”. This approach is suitable for fMRI/MEG/EEG experiments with rigid stimulus presentation schedules.

Features

The software is built with C and SDL3, providing

Note: This project is a work in progress, yet is already functionnal.

Quick Start with Examples

If you downloaded the expe3000 app, you can quickly test it:

Note: you can press Escape any time to interrupt the experiment and exit.

Usage

Interactive GUI Mode

If you run expe3000 without any command-line arguments, or if you use the --gui option, an Interactive Setup Window will open.

This window allows you to:

Command Line

./expe3000 <experiment_csv> [options]

Options

Example Command

./expe3000 experiment.csv --stimuli-dir assets --fullscreen

The input csv file must have four columns: timestamp_ms,duration_ms,type,content

Example (experiment.csv):

# timestamp, duration, type, content
1000,500,IMAGE,target.png
2000,0,SOUND,beep.wav
3000,1500,TEXT,Bye

Possible values for the type column: IMAGE, SOUND, TEXT

Note: Use 0 duration for sounds.

Output

Upon exiting, the program generates a log file (default: results.csv) containing:


Installation

Precompiled Binaries

Pre-compiled binaries for Linux, macOS, and Windows are available in the Releases section of the GitHub project.

The pre-compiled binaries for Windows are self-contained and include all necessary DLLs.

For Linux and macOS, you need to have the SDL3 libraries installed on your system to run the program:

Compiling from scratch

For detailed installation and compilation instructions, please refer to the guide for your operating system:

License

This code was developed by Christophe Pallier

The code is distributed under the GNU LICENSE GPLv3.

The files in the assets folder are NOT public domain. The images were created by Minye Zhan (https://www.linkedin.com/in/minye-zhan-3b414626/) who retains all rights to them. Do not reuse without permission from her.