EEGdashOpenNeuroDS003570
Iss. 3570 · 40 subjects · 40 recordings · CC0
Dataset Brief · EEG

DS003570: eeg dataset, 40 subjects#

EEG: Improvisation and Musical Structures

Citation: Andrew Goldman, Tyreek Jackson, Paul Sajda (—). EEG: Improvisation and Musical Structures. 10.18112/openneuro.ds003570.v1.0.0

40-participant EEG dataset — EEG: Improvisation and Musical Structures.

EEG · 64 ch2048 HzBIDS 1.1.1Task · AuditoryOddballChordsHealthyAuditoryDecision-making
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 DS003570

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

Filter by subject

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

Advanced query

dataset = DS003570(
    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{ds003570,
  title = {EEG: Improvisation and Musical Structures},
  author = {Andrew Goldman and Tyreek Jackson and Paul Sajda},
  doi = {10.18112/openneuro.ds003570.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds003570.v1.0.0},
}
§ 02Study · The README

About This Dataset#

The musicians were instructed to listen to chord progressions, that each consisted of three chords. We refer to one instance of such a progression in the recording as a trial. Every one of the three chords in one trial sounded in sequence, each for 400 ms in piano timbre, after which each trial ended with another 400 ms silence. This resulted in a fixed, total trial length of 1600 ms. The only progressions used in the experiment were ii-IV-I, ii-V-I, ii-IV6-I and ii-V6-I. Each experimental block consisted of 180 trials. For each such block one of the four aforementioned progressions were chosen as “standard”, resulting in four types of blocks. These “block types” were used to counterbalance the effect of other features of the individual progressions such as intervallic content that may have been in themselves salient. An experimental block always started with at least eight “standard” trials for the purpose of allowing participants to learn what type of progression would be the standard for the current block. There were two types of deviant trials that each occurred at a probability of 7.5% (in total 15%). Every deviant trial was followed by at least three standard trials. Deviant trials only differed from standard trials in terms of the middle chord: (1) Exemplar deviants, where the middle chord was replaced with a chord of identical notes but different inversion. For example, if the middle chord for a standard trial in that experimental block was V then the middle chord for the exemplar deviant in that block would be V6. For (2) function deviants, the middle chord was replaced by a chord from a different functional class. For example, if the middle chord for a standard was again V, then the middle chord for the corresponding function deviant in that block would be IV. Importantly, the key for each trial’’s chord progression was picked at random. This meant that musicians needed to examine the second chord of every trial relative to the first and/or third to identify whether the trial was a standard or deviant. The order of standards and deviants within every one of the four types of experimental blocks was generated once only, and was thus identical across subjects within these block types. For the experiment, every one of the block types occurred twice, thus resulting in a total of eight blocks per subject. The order of the eight blocks was shuffled for every subject. In total, there were 1440 trials per subject of which 222 were functional and 218 were exemplar deviants.

§ 03Cohort · Participants

Cohort#

Dataset Statistics#

Age distribution by gender (n=40, range 18–42 yr, mean 25.3 yr)

152025303540
Other · 40

Sex composition

40
subjects
Female
16
Male
24
F : M ratio
0.67 : 1
40% female · n = 40 subjects with reported sex.
HandednessRight · 31Left · 4Ambidextrous · 5

Channel counts: 64 ch (n=40 recordings)

Sampling frequencies: 2048.0 Hz (n=40 recordings)

Total recording duration: 24 h

§ 04Signal · Electrodes & trace

Signal · Electrodes & live trace#

Fig. 01 Signal & montage 64 ch · EEG · 2048 Hz · 40 subjects, 40 recordings
Live trace viewer — sub-021 · task-AuditoryOddballChords

Showing one representative recording out of 40 subjects and 40 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 · 64 sensors — 64 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 — DS003570
§ 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

DS003570

Title

EEG: Improvisation and Musical Structures

Author (year)

Goldman2021

Canonical

Importable as

DS003570, Goldman2021

Year

Authors

Andrew Goldman, Tyreek Jackson, Paul Sajda

License

CC0

Citation / DOI

10.18112/openneuro.ds003570.v1.0.0

Source links

OpenNeuro | NeMAR | Source URL

Copy-paste BibTeX
@dataset{ds003570,
  title = {EEG: Improvisation and Musical Structures},
  author = {Andrew Goldman and Tyreek Jackson and Paul Sajda},
  doi = {10.18112/openneuro.ds003570.v1.0.0},
  url = {https://doi.org/10.18112/openneuro.ds003570.v1.0.0},
}
§ 06API · Programmatic access

API Reference#

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

EEG: Improvisation and Musical Structures

Study:

ds003570 (OpenNeuro)

Author (year):

Goldman2021

Canonical:

Also importable as: DS003570, Goldman2021.

Modality: eeg. Subjects: 40; recordings: 40; tasks: 1.

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/ds003570 NeMAR dataset: https://nemar.org/dataexplorer/detail?dataset_id=ds003570 DOI: https://doi.org/10.18112/openneuro.ds003570.v1.0.0 NEMAR citation count: 1

Examples

>>> from eegdash.dataset import DS003570
>>> dataset = DS003570(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.

  • 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 FacePre-bundled mirror at EEGDash/ds003570 · pull with datasets.load_dataset("EEGDash/ds003570").huggingface
Croissant 1.0Machine-readable JSON-LD descriptorDS003570.croissant.json (MLCommons schema, ingestible by PyTorch / TensorFlow / JAX).mlcommons
Examples using EEGDashcurated · start here

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

Citation

Andrew Goldman, Tyreek Jackson, Paul Sajda (n.d.). EEG: Improvisation and Musical Structures. 10.18112/openneuro.ds003570.v1.0.0

Provenance

¹Contributed to openneuro in BIDS format.

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

³Persistent identifier: 10.18112/openneuro.ds003570.v1.0.0.

BIDS
BIDS 1.1.1
Sidecars
events · events.json · channels · electrodes · coordsystem · eeg.json
Machine-readable

See Also#