Skip to content

jfo222/MemoryTasks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memory Tasks

A set of working memory tasks in a triad of standalone desktop applications.
Built with a Rust backend and an HTML, CSS, and JavaScript frontend.


Looking for the web apps instead?

https://github.com/jfo222/jfo222.github.io


1. Limited Hold

Based on S. Inoue and T. Matsuzawa's 2007 documentation.

Config Description Value
alphanumeric Sets characters of stimuli "alpha", "numeric"
limitMax/limitMin Stimuli range Integer
nightMode Enables night mode Boolean
randomize arrow Randomized within the arc span Boolean
randomize char Randomized instead of sequential Boolean
reverse arrow/char Reverses the order Boolean, "alternate"
sound Enables sound Boolean
time 0/1/2 Stimuli hold time Milliseconds, 0 = unlimited

2. Dual N-back

Based on S. Jaeggi and M. Buschkuehl's 2008 documentation.

Map Key
Visual target A
Aural target L
Buttons on/off B
Run block/end task Space

QWERTY keyboard layout.


Config Description Value
aural Auditory stimuli Array (8 unique consonants)
autoDown/autoUp (session) Mistakes > or < to decrement/increment N Integer
base Length of sequence equals base + N Integer
blocks (session) Number of blocks in a session Integer
buttons Enables onscreen buttons Boolean
limitMax/limitMin N-back range Integer
nightMode Enables night mode Boolean
overlap Number of simultaneous targets Integer
overlapCtrl Enables controlled overlap Boolean
sound Enables sound Boolean
targets Number of targets (single stream) Integer
timeRate/timeStimulus Sets time Milliseconds
piper_model Path to voice model String
piper_sample_rate Voice model sample rate String

3. Backwards

A backwards memory span task.

Config Description Value
alphanumeric Sets characters of stimuli Boolean
autoDown/autoUp Successive rounds to set level Integer
columns Number of panel columns Integer
limitMin Minimum sequence length Integer
nightMode Enables night mode Boolean
qty char/color Number of stimuli Integer
sound Enables sound Boolean
timeRate/timeStimulus Sets time Milliseconds
piper_model Path to voice model String
piper_sample_rate Voice model sample rate String

How-to

Download the binaries and launch.
Keep the optional config.json in the same folder to override default values.


Dependencies, (Ubuntu 26.04 LTS+):

libwebkit2gtk-4.1-0
speech-dispatcher
espeak-ng

sudo apt install libwebkit2gtk-4.1-0 speech-dispatcher espeak-ng

To install Piper TTS:

sudo apt install pipx
pipx ensurepath
pipx install piper-tts

Voice models can be downloaded at: https://huggingface.co/rhasspy/piper-voices/tree/main


Build dependencies:

libwebkit2gtk-4.1-dev
libasound2-dev

sudo apt install libwebkit2gtk-4.1-dev libasound2-dev

To build, you need Rust installed.

cd to directory and cargo build --release