EEGdash›NeMAR›ON008968
Iss. 8968 · 25 subjects · 150 recordings · CC0
Dataset Brief · Spell-IT-Out

ON008968: eeg dataset, 25 subjects#

Spell-IT-Out

Access recordings and metadata through EEGDash.

Citation: Tommaso Cortecchia, Stefano Tortora, Jeff Kiesner, Emanuele Menegatti, Luca Tonin (2019). Spell-IT-Out. 10.82901/nemar.on008968

Modality: eeg Subjects: 25 Recordings: 150 License: CC0 Source: nemar

Metadata: Complete (100%)

25-participant EEG dataset — Spell-IT-Out.

EEG · 62 ch2048 HzBIDS 1.11.12 tasks
Layer 01Study
What was asked
Hypothesis, independent & dependent variables, paradigm, cohort, and the editorial caveats around what the recordings can and cannot answer.
Layer 02Signal · BIDS
What was recorded
Sidecars, channels & electrodes, coordinate system, event semantics, and quality stats from the NEMAR pipeline when available.
Layer 03Training · ML
What you can train on
Recommended access modes — MNE Raw, braindecode windows, PyTorch DataLoader — plus the targets the metadata makes addressable.
§ 01Access · Get started

Quickstart#

Install

pip install eegdash

Access the data

from eegdash.dataset import ON008968

dataset = ON008968(cache_dir="./data")
# Get the raw object of the first recording
raw = dataset.datasets[0].raw
print(raw.info)

Filter by subject

dataset = ON008968(cache_dir="./data", subject="01")

Advanced query

dataset = ON008968(
    cache_dir="./data",
    query={"subject": {"$in": ["01", "02"]}},
)

Iterate recordings

for rec in dataset:
    print(rec.subject, rec.raw.info['sfreq'])

If you use this dataset in your research, please cite the original authors.

BibTeX

@dataset{on008968,
  title = {Spell-IT-Out},
  author = {Tommaso Cortecchia and Stefano Tortora and Jeff Kiesner and Emanuele Menegatti and Luca Tonin},
  doi = {10.82901/nemar.on008968},
  url = {https://doi.org/10.82901/nemar.on008968},
}
§ 02Study · The README

About This Dataset#

EEG recorded while native Italian speakers listened to sentences, repeated

them, and then produced them again syllable by syllable at a fixed pace, either aloud (task-overt) or in their mind without moving (task-covert).

For the overt task, the participants’ speech was recorded and its word and

syllable timing aligned by hand; the timing is released as events, the voice recordings are not. - 25 participants, one session each (about one hour) - 2 tasks × 3 runs × 20 trials = 150 recordings, 3000 trials - 20 sentences, 161 distinct words, 192 distinct syllables - 61 EEG channels + 1 EOG channel at 2048 Hz, BrainVision format

DOI

Spell-IT-OUT

Participants

25 native Italian speakers (14 male, 11 female), aged 22–33. Three were left-handed (2 male, 1 female), the others predominantly right-handed. None reported neurological or psychiatric disorders; all had normal hearing and normal or corrected-to-normal vision. Some had taken part in motor-imagery

View full README

DOI

Spell-IT-OUT

Participants

25 native Italian speakers (14 male, 11 female), aged 22–33. Three were left-handed (2 male, 1 female), the others predominantly right-handed. None reported neurological or psychiatric disorders; all had normal hearing and normal or corrected-to-normal vision. Some had taken part in motor-imagery BCI experiments before. Per-participant demographics are not released.

Participants gave written consent to the collection and dissemination of their data. The study was approved by the Ethics Committee for Psychological Research, Area 17, University of Padova (ref. 1801-a), in accordance with the Declaration of Helsinki. Participant IDs were randomized and recording dates removed.

Protocol

Participants sat in an electrically shielded, acoustically isolated room, 30–50 cm from a screen. Before the recording they read the sentence list to get familiar with the words and the phonetic notation used for the syllables.

The overt block (3 runs) always came first, followed by the covert block (3 runs). Each run lasted about 10 minutes and presented the 20 sentences once, in random order. A trial (about 35 s) went as follows: 1. Fixation (fixation, 2 s): a cross at the centre of the screen. 2. Listening (listening_cue, ~8 s): the sentence is shown and played by a

text-to-speech synthesizer (Google gTTS); a 3 s pause after playback lets participants finish reading.

  1. Repetition (repetition_cue, 5 s): the sentence disappears and participants repeat it aloud (overt) or imagine repeating it (covert).

  2. Syllabification: a three-dot countdown (pre_syllabification_dot, 0.6 s each) sets the pace, then the syllables scroll on screen one every 0.6 s (syllabification_cue), with the current one highlighted. Participants pronounce, or imagine pronouncing, each syllable as it appears.

  3. Trial end: a visual cue, then a 4 s pause.

Covert instructions: *”Imagine that you have something to say, but you cannot say it out loud or show any facial expression. You should feel your jaw, lips, tongue, and vocal cords as if they were about to activate, but in reality, you remain motionless.”* Participants were also asked not to grind their teeth or nod to keep the rhythm. During the overt runs the experimenter noted production errors and gave feedback after each run.

Stimuli

20 handcrafted sentences with a similar structure (subject–verb–complement), 10–13 words and 20–26 syllables each, about 4–4.5 s when spoken. Words were chosen to cover the Italian phonetic inventory with a phoneme distribution close to PhonItalia, which also provided the syllabification and phonetic transcription. stimuli/wordlist.tsv has no header; its columns are sentence id, sentence, and syllabification (syllables separated by ., words by spaces). stimuli/audio/ holds the synthesized sentences with their TextGrids.

Acquisition

  • ANT Neuro waveguard original cap, 64 Ag/AgCl electrodes, extended 10–20 layout; ANT Neuro eego sports amplifier.

  • 2048 Hz, reference CPz, ground AFz, impedances below 10 kΩ.

  • EOG electrode below the left eye.

  • Recorded with ROS-Neuro on Linux. EEG was stored as GDF and audio as ROS bags; the two streams were aligned through the event markers logged in both. The residual synchronization error was not measured.

  • Overt speech was recorded with the computer’s built-in microphone, then resampled to 44112 Hz and saved as mono 16-bit WAV.

  • EEG and audio were cropped from 0.5 s before the first event to 0.5 s after the last one.

Electrode positions are the standard 10–20 template, not digitized positions.

Speech annotations

Speech in the overt runs was segmented with Silero-VAD, aligned to the transcriptions with the Montreal Forced Aligner, and then checked and corrected by hand in Praat at sentence, word and syllable level. Syllables that were skipped or produced incorrectly have no annotation (45 in the syllabification phase). The resulting timings are in the events files (repetition_word, repetition_syllable, syllabification_syllable). The voice recordings themselves are not distributed, to protect the participants’ identity.

Files

sub-XX/ses-01/eeg/              raw EEG (BrainVision), events, channels, electrodes
stimuli/                        sentence list, synthesized sentences and TextGrids
derivatives/preprocessing/      cleaned continuous EEG (see its README)
derivatives/syllable-datasets/  syllable epochs in HDF5, ready for ML (see its README)

Events

*_events.tsv has one row per event:

| Column | Content |
|---|---|
| `onset`, `duration` | seconds |
| `trial_type` | event name (below) |
| `phase` | trial phase the event belongs to |
| `trial_index`, `token_index` | trial and word/syllable position |
| `token` | word or syllable (phonetic notation) |
| `trigger_code` | original trigger, for trigger-based events |
| `event_source` | `gdf_trigger`, `textgrid_word` or `textgrid_syllable` |
| `stimulus_id`, `stim_file` | sentence id and stimulus audio |

Event names: - from triggers: trial_start, fixation, listening_cue, repetition_cue,

pre_syllabification_dot, syllabification_cue, trial_end;

  • from the stimulus alignment: listening_word, listening_syllable;

  • from the participant’s speech (overt only): repetition_word, repetition_syllable, syllabification_syllable.

na is a real syllable. When reading the TSVs with pandas use keep_default_na=False, otherwise it becomes a missing value. Missing values are written as n/a.

Things to keep in mind

  • The overt block always preceded the covert one, so condition comparisons may include practice or fatigue effects.

  • Syllables were shown on screen, so cue-aligned EEG also contains visual responses, in both tasks.

  • Overt recordings contain muscle activity from speaking, also after preprocessing, which was deliberately conservative.

  • Consecutive syllable epochs overlap. For machine learning, split by trial, run or participant rather than by epoch; we suggest training on the first two runs and testing on the third.

Getting started

The spellitout Python package loads the dataset through MNE-BIDS: neurorobotics-iaslab/spell-it-out.

from spellitout import SpellItOutDataset
dataset = SpellItOutDataset("path/to/spellitout")
run = dataset.get_run(subject=1, task="overt", run=1)
run.raw, run.events

License and citation

Released under CC0. If you use this dataset, please cite:

Cortecchia, T., Tortora, S., Kiesner, J., Menegatti, E., Tonin, L. *Spell-It-Out, a speech EEG dataset for overt and covert production of Italian syllables.* TODO: journal and DOI.

Contact: Tommaso Cortecchia (tommaso.cortecchia@polito.it), Luca Tonin (luca.tonin@unipd.it).

References

Appelhoff, S., Sanderson, M., Brooks, T., Vliet, M., Quentin, R., Holdgraf, C., Chaumon, M., Mikulan, E., Tavabi, K., Höchenberger, R., Welke, D., Brunner, C., Rockhill, A., Larson, E., Gramfort, A. and Jas, M. (2019). MNE-BIDS: Organizing electrophysiological data into the BIDS format and facilitating their analysis. Journal of Open Source Software 4: (1896). https://doi.org/10.21105/joss.01896 Pernet, C. R., Appelhoff, S., Gorgolewski, K. J., Flandin, G., Phillips, C., Delorme, A., Oostenveld, R. (2019). EEG-BIDS, an extension to the brain imaging data structure for electroencephalography. Scientific Data, 6, 103. https://doi.org/10.1038/s41597-019-0104-8 Goslin, J., Galluzzi, C. & Romani, C. (2014). PhonItalia: a phonological lexicon for Italian. Behavior Research Methods, 46, 872–886.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Channel counts: 62 ch (n=150 recordings)

Sampling frequencies: 2048.0 Hz (n=150 recordings)

Total recording duration: 29 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 62 ch · EEG · 2048 Hz · 25 subjects, 150 recordings
Live trace viewer — sub-21 · ses-01 · task-covert · run-01

Showing one representative recording out of 25 subjects and 150 recordings in this dataset. Browse the full set on OpenNeuro; drop any other _eeg.{set,edf,bdf,vhdr} file onto the viewer (or pass ?eeg=<url>) to inspect it.

Electrode layout — EEG · 61 sensors — 61 channels

NEMAR Processing Statistics#

The plots below are generated by NEMAR’s automated EEG pipeline. The histogram shows pipeline success for data cleaning and ICA decomposition, the percentage of data frames and EEG channels retained after artefact removal, line noise per channel (RMS, dB), and the age/gender distribution of participants.

HED event descriptors word cloud HED event descriptors word cloud — ON008968
§ 05Manifest · BIDS tree

Manifest#

File Explorer#

Browse the BIDS file structure of this dataset. Records are fetched on demand from the EEGDash catalog the first time you open the explorer.

Recordings—
Files—
Subjects—
Modalities—
Click to load file structure…
Full dataset metadata table

Dataset ID

ON008968

Title

Spell-IT-Out

Author (year)

—

Canonical

—

Importable as

ON008968

Year

2019

Authors

Tommaso Cortecchia, Stefano Tortora, Jeff Kiesner, Emanuele Menegatti, Luca Tonin

License

CC0

Citation / DOI

10.82901/nemar.on008968

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{on008968,
  title = {Spell-IT-Out},
  author = {Tommaso Cortecchia and Stefano Tortora and Jeff Kiesner and Emanuele Menegatti and Luca Tonin},
  doi = {10.82901/nemar.on008968},
  url = {https://doi.org/10.82901/nemar.on008968},
}
§ 06API · Programmatic access

API Reference#

Signature
eegdash.dataset
class
eegdash.dataset.ON008968(cache_dir, query=None, s3_bucket=None, **kwargs)
Bases: EEGDashDataset
Author (year)—
Canonical—
Importable asON008968
Sourceeegdash/dataset/registry.py · [source ↗]
class eegdash.dataset.ON008968(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#

Spell-IT-Out

Study:

on008968 (NeMAR)

Author (year):

—

Canonical:

—

Also importable as: ON008968.

Modality: eeg; Subject type: Unknown. Subjects: 25; recordings: 150; tasks: 2.

Parameters:
  • cache_dir (str | Path) – Directory where data are cached locally.

  • query (dict | None) – Additional MongoDB-style filters to AND with the dataset selection. Must not contain the key dataset.

  • s3_bucket (str | None) – Base S3 bucket used to locate the data.

  • **kwargs (dict) – Additional keyword arguments forwarded to EEGDashDataset.

data_dir#

Local dataset cache directory (cache_dir / dataset_id).

Type:

Path

query#

Merged query with the dataset filter applied.

Type:

dict

records#

Metadata records used to build the dataset, if pre-fetched.

Type:

list[dict] | None

Notes

Each item is a recording; recording-level metadata are available via dataset.description. query supports MongoDB-style filters on fields in ALLOWED_QUERY_FIELDS and is combined with the dataset filter. Dataset-specific caveats are not provided in the summary metadata.

References

OpenNeuro dataset: https://openneuro.org/datasets/on008968 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=on008968 DOI: https://doi.org/10.82901/nemar.on008968

Examples

>>> from eegdash.dataset import ON008968
>>> dataset = ON008968(cache_dir="./data")
>>> recording = dataset[0]
>>> raw = recording.load()
__init__(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
save(path: str, overwrite: bool = False, offset: int = 0)[source]#

Save datasets to files by creating one subdirectory for each dataset:

path/
    0/
        0-raw.fif | 0-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
    1/
        1-raw.fif | 1-epo.fif
        description.json
        raw_preproc_kwargs.json (if raws were preprocessed)
        window_kwargs.json (if this is a windowed dataset)
        window_preproc_kwargs.json  (if windows were preprocessed)
        target_name.json (if target_name is not None and dataset is raw)
Parameters:
  • path (str) –

    Directory in which subdirectories are created to store

    -raw.fif | -epo.fif and .json files to.

  • overwrite (bool) – Whether to delete old subdirectories that will be saved to in this call. If a dataset still reads its data lazily from one of them, a ValueError is raised before anything is deleted: load the data into memory first (preload=True) or save to another directory.

  • offset (int) – If provided, the integer is added to the id of the dataset in the concat. This is useful in the setting of very large datasets, where one dataset has to be processed and saved at a time to account for its original position.

Access modesMNE → braindecode → PyTorch → ML
.rawMNE Raw object — standard tools (filter, epoch, ICA, plot_psd).mne
DataLoaderWraps the windowed dataset into a PyTorch DataLoader; supports parallel workers and on-the-fly augmentations.pytorch
Zarr cacheOptional braindecode Zarr mirror for fast resume; persisted to cache_dir.zarr
Hugging FaceNo per-dataset mirror published yet — browse the EEGDash org listing for sibling datasets. See the datasets loader API.huggingface
Croissant 1.0Machine-readable JSON-LD descriptor — ON008968.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

Swap any load_dataset(...) call for on008968 to reproduce the tutorial on this dataset.

Citation

Tommaso Cortecchia, Stefano Tortora, Jeff Kiesner, Emanuele Menegatti, Luca Tonin (2019). Spell-IT-Out. 10.82901/nemar.on008968

Provenance

¹Contributed to nemar in BIDS format.

²Curated & ingested by the EEGDash catalog; see CITATION.cff for canonical reference.

³Persistent identifier: 10.82901/nemar.on008968.

BIDS
BIDS 1.11.1
Sidecars
events · electrodes · coordsystem
Provenance
Machine-readable
Mirrors

See Also#