DS003570#
EEG: Improvisation and Musical Structures
Access recordings and metadata through EEGDash.
Citation: Andrew Goldman, Tyreek Jackson, Paul Sajda (2021). EEG: Improvisation and Musical Structures. 10.18112/openneuro.ds003570.v1.0.0
Modality: eeg Subjects: 40 Recordings: 323 License: CC0 Source: openneuro Citations: 1.0
Metadata: Complete (100%)
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},
}
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.
Dataset Information#
Dataset ID |
|
Title |
EEG: Improvisation and Musical Structures |
Year |
2021 |
Authors |
Andrew Goldman, Tyreek Jackson, Paul Sajda |
License |
CC0 |
Citation / DOI |
|
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},
}
Found an issue with this dataset?
If you encounter any problems with this dataset (missing files, incorrect metadata, loading errors, etc.), please let us know!
Technical Details#
Subjects: 40
Recordings: 323
Tasks: 1
Channels: 64
Sampling rate (Hz): 2048.0
Duration (hours): 0.0
Pathology: Not specified
Modality: —
Type: —
Size on disk: 47.6 GB
File count: 323
Format: BIDS
License: CC0
DOI: 10.18112/openneuro.ds003570.v1.0.0
API Reference#
Use the DS003570 class to access this dataset programmatically.
- class eegdash.dataset.DS003570(cache_dir: str, query: dict | None = None, s3_bucket: str | None = None, **kwargs)[source]#
Bases:
EEGDashDatasetOpenNeuro dataset
ds003570. Modality:eeg; Experiment type:Decision-making; Subject type:Healthy. 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.querysupports MongoDB-style filters on fields inALLOWED_QUERY_FIELDSand 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
Examples
>>> from eegdash.dataset import DS003570 >>> dataset = DS003570(cache_dir="./data") >>> recording = dataset[0] >>> raw = recording.load()
See Also#
eegdash.dataset.EEGDashDataseteegdash.dataset