Package: lexsync 0.1.1

lexsync: Lexical Optimisation and Hardware-Timed Experiment Generation

A cross-platform toolkit that unifies many-language lexical-corpus access, parallel multidimensional stimulus matching, deterministic pseudoword generation, counterbalancing and the automated generation of experiments from a declarative trial-event model, for 'PsychoPy', 'OpenSesame' and the browser ('jsPsych'). The laboratory targets bind electroencephalography onset triggers to the stimulus flip. It is the R member of a dual-language pair; a structurally identical 'Python' package is also provided. Several paradigms (factorial word contrasts, lexical decision, priming, self-paced reading and cued categorisation) are supported, and each design is accompanied by a machine- and human-readable materials datasheet for reproducibility.

Authors:Pablo Bernabeu [aut, cre]

lexsync_0.1.1.tar.gz
lexsync_0.1.1.zip(r-4.7-any)lexsync_0.1.1.zip(r-4.6-any)lexsync_0.1.1.zip(r-4.5-any)
lexsync_0.1.1.tgz(r-4.6-any)lexsync_0.1.1.tgz(r-4.5-any)
lexsync_0.1.1.tar.gz(r-4.7-any)lexsync_0.1.1.tar.gz(r-4.6-any)
lexsync_0.1.1.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
lexsync/json (API)

# Install 'lexsync' in R:
install.packages('lexsync', repos = c('https://pablobernabeu.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/pablobernabeu/lexsync/issues

Pkgdown/docs site:https://pablobernabeu.github.io

On CRAN:

Conda:

3.54 score 43 downloads 48 exports 29 dependencies

Last updated from:c6b751ffcb. Checks:9 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-develOK198
source / vignettesOK219
linux-releaseOK198
macos-releaseOK172
macos-oldrelOK155
windows-develOK144
windows-releaseOK144
windows-oldrelOK127
wasm-releaseOK128

Exports:add_bigram_frequencyadd_neighbourhoodadd_pair_overlapassign_triggersbalance_checkbalance_listsbuild_datasheetbuild_lexdec_stimulibuild_poolcohens_dcohens_d_cicount_syllablescounterbalancedescribe_stimuliexport_experimentsexport_jspsychexport_opensesameexport_psychopyfetch_corpusgenerate_pseudowordslexsync_cache_clearlexsync_cache_dirlist_corporaload_itemsload_lexiconload_poollog_artefactlog_stepmake_pseudowordmatch_reportmatch_report_continuousmatch_stimulimerge_normsmethods_paragraphnew_run_logPARADIGMSparticipant_tablerequired_fieldsresample_stimuliresolve_eventsresolve_trial_timingrun_allrun_pipelineselect_continuous_stimulitost_equivvariance_ratiowrite_datasheetwrite_run_log

Dependencies:bitbit64clicliprcpp11crayondigestgluehmsjsonlitelifecyclemagrittrpillarpkgconfigprettyunitsprogressR6readrrlangstringdiststringitibbletidyselecttzdbutf8vctrsvroomwithryaml

About
Citing lexsync | Citing the corpus | The developer | Licence | Versioning and archival | Contributing and support

Last update: 2026-09-25
Started: 2026-09-22

Experiments, paradigms and EEG triggers
The trial-event model | Content and field references | Triggers on an event | Timing that varies from trial to trial | The paradigm registry | Balanced list assignment | Practice, fillers and feedback | The three presentation targets | Trigger timing and the flip lock | Adding a paradigm | References

Last update: 2026-09-25
Started: 2026-09-22

Getting started with lexsync
Define and run a design | Anatomy of a design file | The keys | Running one | Inspect the match quality | Generate the experiment scripts | Where next

Last update: 2026-09-25
Started: 2026-09-22

Matching, dimensions and designs
The lexical dimensions | Computing dimensions on a pool | Pool filters | Supplied item pools | Relational designs, where the item is a pair | Conditions, the anchor and matched sets | The four matching methods | The parity caveat on two methods | Tolerance windows | Continuous designs | Reading the validation output | Pseudowords | Items as a random factor | References

Last update: 2026-09-25
Started: 2026-09-22

References

Last update: 2026-09-25
Started: 2026-09-22

Reproducibility, parity and the materials datasheet
What is guaranteed | How byte-identical output is achieved | Trial order: a seeded shuffle without a generator | The Unicode input contract | The documented exceptions | The parity test | The materials datasheet | The methods paragraph and the pre-registration template | The run log | Reproducing a run | References

Last update: 2026-09-25
Started: 2026-09-22

The app
Launching it | The sidebar | Describing the design | A factorial word contrast | Lexical decision | Priming and self-paced reading | Running it | Reading the results | What you leave with

Last update: 2026-09-25
Started: 2026-09-22

Readme and manuals

Help Manual

Help pageTopics
Mean bigram probability (type-based, non-positional), a phonotactic-probability proxyadd_bigram_frequency
Compute orthographic-neighbourhood dimensions (Coltheart's N and OLD20)add_neighbourhood
Orthographic overlap between the two members of each pairadd_pair_overlap
Assign EEG trigger codes to stimuliassign_triggers
Check that the levels of given columns occur equally oftenbalance_check
Assign item sets to counterbalancing lists so the lists match on the item dimensionsbalance_lists
Assemble the materials datasheet for one designbuild_datasheet
Assemble a word-vs-pseudoword lexical-decision set from a candidate poolbuild_lexdec_stimuli
Build an experimental candidate pool by filtering a lexiconbuild_pool
Cohen's d (pooled-SD standardised mean difference)cohens_d
Cohen's d with a confidence interval, complementing the TOST verdictcohens_d_ci
Orthographic syllable estimate: the number of maximal vowel runscount_syllables
Assign stimuli to lists and a randomised, reproducible trial ordercounterbalance
Per-group descriptive statistics for several dimensionsdescribe_stimuli
Export all presentation targets (PsychoPy, OpenSesame, jsPsych)export_experiments
Export a browser-runnable jsPsych experimentexport_jspsych
Export a complete plain-text OpenSesame experimentexport_opensesame
Export a runnable PsychoPy script that interprets the event sequenceexport_psychopy
Download a CSV-format registered corpus into the cachefetch_corpus
A length-matched pseudoword for each base word (byte-order processing)generate_pseudowords
Remove fetched corpora from the cachelexsync_cache_clear
Per-user cache directory for fetched corporalexsync_cache_dir
List the corpora known to the registrylist_corpora
Load a paradigm item table (prime-target pairs, sentences, ...)load_items
Load a lexicon from a CSV fileload_lexicon
Load a supplied candidate pool of words and give it the matcher's dimensionsload_pool
Record a written artefact (path, rows, fingerprint) in the loglog_artefact
Append a step to a run loglog_step
The most bigram-plausible legal non-word at the smallest edit distancemake_pseudoword
Build the full match-quality reportmatch_report
Realised-control report for a continuous designmatch_report_continuous
Match stimuli across conditions on several lexical dimensionsmatch_stimuli
Left-join a norm table (e.g. concreteness, age of acquisition, valence)merge_norms
A ready-to-adapt methods paragraph rendered from a datasheetmethods_paragraph
Start a new run lognew_run_log
The paradigm registry: default event sequences and required fieldsPARADIGMS
Build a participant counterbalancing tableparticipant_table
Trial fields a design needs present in its items (paradigm + events)required_fields
Produce several disjoint matched item sets (items as a random factor)resample_stimuli
The design's trial event list: its own 'events', else its paradigm'sresolve_events
Realise per-trial event durations onto the stimuli tableresolve_trial_timing
Run the lexsync pipeline for every design configurationrun_all
Run the lexsync pipeline for one designrun_pipeline
Select a set spanning a continuous predictor, holding controls constantselect_continuous_stimuli
Two one-sided tests (TOST) of equivalence on a Cohen's d boundtost_equiv
Variance ratio: a distributional balance checkvariance_ratio
Write a datasheet to a JSON record and a Markdown renderingwrite_datasheet
Write the run log to Markdown (and optionally JSON Lines)write_run_log