If you use STEP, please cite:
Lee, H., Çelen, E., Harrison, P. M. C., Anglada-Tort, M., Rijn, P. van, Park, M., et al. (2025). GlobalMood: A cross-cultural benchmark for music emotion recognition. In Proceedings of the International Society for Music Information Retrieval Conference (ISMIR). https://doi.org/10.48550/arXiv.2505.09539
STEP is a PsyNet plugin for running sequential transmission evaluation experiments online. Participants view stimuli (images, audio, video), rate existing tags with stars, flag irrelevant tags, and add new ones. Tags accumulate and converge across participants through an imitation-chain design.
The package ships with:
step: the core Python module (trial makers, pages, controls, stimulus classes, i18n support for 36 languages)demos/STEP-Tag: a working PsyNet demo experiment
pip install psynet-stepThe Python import name is step:
from step import StepTag, urls_to_start_nodesgit clone https://github.com/pmcharrison/STEP.git
cd STEP
pip install -e .psynet— pulls in PsyNet and Dallinger (required at runtime; already present in any PsyNet experiment environment)dev— pytestpublish— build, twine
Install an extra with, e.g.:
pip install -e ".[dev]"from step import StepTag, urls_to_start_nodes
import psynet.experiment
from psynet.timeline import Timeline
class Exp(psynet.experiment.Experiment):
timeline = Timeline(
StepTag(
start_nodes=urls_to_start_nodes(
[
"https://mini-kinetics-psy.s3.amazonaws.com/emotional_prosody/03-01-08-02-02-02-24.wav",
"https://s3.amazonaws.com/generalization-datasets/vegetables/images/thaieggplant3.jpg",
"https://mini-kinetics-psy.s3.amazonaws.com/mini-kinetics-validation/cut_videos/[zumba]_dLE5YOEqBGs.mp4",
]
),
expected_trials_per_participant=2,
max_iterations=5,
),
)In your experiment's requirements.txt:
psynet-step==0.1.0
cd demos/STEP-Tag
pip install -r constraints.txt
psynet debug localMIT License