DOI: 10.5281/zenodo.4470135
title: Bipolar EEG dataset - music

description: Dataset setting out to investigate neural responses to continuous musical pieces with bipolar EEG. Analysis code (and usage instructions) to derive neural responses to the temporal fine structure of the stimuli is on Github. The EEG data processed to this end is provided here, as well as the raw data to enable different analyses (e.g. slower cortical responses). <strong># Introduction</strong> This dataset contains bipolar scalp EEG responses of 17 subjects listening to continuous musical pieces (Bach's Two-Part Inventions), and performing a vibrato detection task. Naming conventions: - The subject IDs are <code>EBIP01, EBIP02 ... EBIP17</code>.<br> - The different conditions are labelled to indicate the instrument that was being attended: <code>fG</code> and <code>fP</code> for the Guitar and Piano in quiet (Single Instrument (SI) conditions), respectively; and <code>fGc</code> and <code>fPc</code> for Competing conditions where both the instruments are playing together, but where the subjects should be selectively attending to the Guitar or Piano, respectively (Competing Instrument (CI) conditions).<br> - An appended index from 2 to 7 designates the invention that was played (index 1 corresponds to the training block for which no EEG data was recorded). Note that this index does not necessarily corresponds to the order in which the stimuli were played (order was pseudo-randomised).<br> <br> For example, the EEG file named <code>EBIP08_fGc_4</code> contains EEG data from subject <code>EBIP08</code> performing the competing instrument task (CI condition), attending to the guitar (ignoring the piano), and the stimulus that was played was the invention #4. <strong># Content</strong> The general organisation of the dataset is as follow:<br> <br> <code>data</code><br> <code>├─── behav</code> <em>folder containing the behavioural data</em><br> <code>├─── EEG</code> <em>folder containing the EEG data</em><br> <code>│ ├─── processed</code><br> <code>│ └─── raw</code><br> <code>├─── linearModelResults</code> <em>folder containing the results from the analysis code</em><br> <code>└─── stimuli</code> <em>folder containing the stimuli</em><br> <code>├─── features</code><br> <code>├─── processedInventions</code><br> <code>└─── rawInventions</code> This general organisation is the one expected by the code. The location of the <code>data</code> folder and/or these main folders can be personalised in the <code>functions/+EEGmusic2020/getPath.m</code> function in the Github repository. The architecture of the sub-folders in each of these folders is specified by the functions <code>makePathEEGFolder</code>, <code>makePathFeatureFiles</code> and <code>makePathSaveResults</code>. The naming of the files within them is implemented by <code>makeNameEEGDataFile</code> and <code>makeNameEEGDataFile</code> (all these functions being in <code>functions/+EEGmusic2020</code>). - The <code>behav</code> folder is structured as follow:<br> <br> <code>behav</code><br> <code>├─── EBIP02</code><br> <code>│ ├─── EBIP02_keyboardInputs_fGc_2.mat</code> <em>file containing variables:</em><br> <code>│ │ ├─── timePressed</code> <em>key press time (in seconds, relative to stimulus onset)</em><br> <code>│ │ └─── keyCode</code> <em>ID of the keys that were pressed</em><br> <code>│ └─── ...</code><br> <code>├─── ...</code><br> <code>├─── vibTime </code><br> <code>│ ├─── vibTime_2.mat</code> <em>file containing variables:</em><br> <code>│ │ ├─── idxNoteVib</code> <em>index (in the MIDI files) of the notes in which vibratos were inserted</em><br> <code>│ │ ├─── instrumentOrder</code> <em>order of the instruments in <code>idxNoteVib</code> and <code>vibTiming</code> variables</em><br> <code>│ │ └─── vibTiming</code> <em>timing of vibrato onsets in the track (in s)</em><br> <code>│ ├─── ...</code><br> <code>└─── clickPerformance_RT_2.0.mat</code> <em>file containing behavioural results for all subjects (FPR, TPR, etc.):</em> <code>instrumentOrder</code> indicates to what instrument each column of <code>idxNoteVib</code> and <code>vibTiming</code> refers to. The data for <code>EBIP01</code> missing due to a technical error. - The <code>EEG/raw</code> folder contains unprocessed EEG data for all subjects, and files indicating the order in which the inventions were played. It is structured as follow:<br> <br> <code>EEG</code><br> <code>├─── raw</code><br> <code>│ ├─── EBIP01</code><br> <code>│ │ ├─── EBIP01_EEGExpParam.mat</code> <em>file containing variables:</em><br> <code>│ │ │ ├─── conditionOrder </code> <em>whether this subject started by listening to the guitar or piano</em><br> <code>│ │ │ └─── partsOrder </code> <em>order in which the inventions were presented to this subject</em><br> <code>│ │ ├─── EBIP01_fGc_2.[eeg/vhdr/vmrbk]</code> <em>raw EEG data files</em><br> <code>│ │ ├─── ...</code><br> <code>│ ├─── ...</code> The <code>conditionOrder</code> variable can assume two values: either <code>{'fG','fP'}</code> indicating the subject started by listening to the guitar or <code>{'fP','fG'}</code> indicating the subject started by listening to the piano. The <code>partsOrder</code> variable is a 2 x 6 matrix containing the indices (2 to 7) of the inventions that were played, ordered in the presentation order. During the first block, the instrument <code>conditionOrder{1}</code> was attended, and the invention # <code>partsOrder(1,1)</code> was played. During the second block, the instrument <code>conditionOrder{2}</code> was attended, and the invention <code>#partsOrder(2,1)</code> was played, etc. Each EEG files contains 3 channels: 2 are the bipolar electrophysiological channels, and one (labelled <code>Sound</code>) contains a recording of the stimuli that were played and that was simultaneously recorded at the same sampling rate as the EEG data (5 kHz) by the amplifier through an acoustic adapter. The files also contain triggers that indicate the beginning and end of the stimuli (labelled <code>S 1</code> and <code>S 2</code> respectively). The sound channel and triggers can be used to temporally align the EEG data and stimuli. The <code>EEG/processed</code> folder contains processed EEG data for all subjects, as required for the analyses carried out in the code. It is organised as follow:<br> <br> <code>EEG</code><br> <code>├─── processed</code><br> <code>│ └─── Fs-5000</code> <em>sampling rate</em><br> <code>│ └─── HP-130</code> <em>processing that was applied</em><br> <code>│ │ ├─── EBIP01</code><br> <code>│ │ │ ├─── ...</code> <em>processed EEG data files</em><br> <code>│ │ ├─── ...</code><br> <code>│ └─── noProc</code><br> <code>│ ├─── ...</code> This structure is specified by the <code>makePathEEGFolder</code> function, and the file names by <code>makeNameEEGDataFile</code>. In the files in the <code>noProc</code> folder, the EEG data was simply aligned with the stimuli, but is otherwise unprocessed. Events were added to mark stimulus onset and offset (labelled <code>stimBegin</code> and <code>stimEnd</code>). In the other folders, the EEG data was furthermore high-pass filtered at 130 Hz (HP-130). - The <em>linearModelResults</em> folder contains the results from the linear model analyses:<br> <br> <code>linearModelResults</code><br> <code>└─── Fs-5000</code> <em>sampling rate</em><br> <code>│ └─── HP-130</code> <em>processing of the EEG data</em><br> <code>│ │ └─── LP-2000</code> <em>processing of the stimulus feature</em><br> <code>│ │ ├─── ...</code> <em>result files</em><br> <code>│ ├─── ...</code> This structure and file names are specified by the <code>makePathSaveResults</code> function. - The <code>rawInventions</code> folder contains the orignal data that was used to construct the stimuli:<br> <br> <code>rawInventions</code><br> <code>├─── invent1</code> <em>invention index</em><br> <code>│ ├─── invent1_60bpm.mid</code> <em>MIDI file</em><br> <code>│ ├─── invent1_60bpm_guitar.wav </code> <em>guitar track</em><br> <code>│ └─── invent1_60bpm_piano.wav </code> <em>piano track</em><br> <code>│</code><br> <code>├─── ...</code> In this folder (and <strong>only </strong>in this folder), the numbering of the inventions differs from the one otherwise used throughout. The correspondence is as shown below:<br> Raw invention # | Feature, etc. #<br> 1, 2, 3, 4 -&gt; 1, 2, 3, 4<br> 7, 8, 9 -&gt; 5, 6,7 - The <code>processedInventions</code> contains invention waveforms that have been transformed. The instrument and invention index are indicated by a suffix in the file names ('G': guitar, 'P': piano). 'zv' indicates that the vibratos were replaced by zeros. 'noOnset30ms' indicates that the onset of the notes was suppressed in a 30 ms window. - The <code>features</code> folder contains specific features of the stimuli for use in the models:<br> <br> <code>features</code><br> <code>└─── Fs-5000</code> <em>sampling rate of the feature</em><br> <code> └─── LP-2000</code> <em>processing of the feature </em><br> <code> ├─── waveform </code> <em>feature name (here: stimulus waveform)</em><br> <code> │ ├─── ... </code> <em>feature files</em><br> <code> └─── WNO</code> <em>Waveform No Onset (stimulus waveform with note onsets removed)</em><br> <code> ├─── ... </code> The naming convention is as highlighted above for the <code>processedInventions</code> folder. SI conditions correspond to 'G' & 'P' files, and CI conditions to 'PG' files. In the latter case, 'fG' indicates the attended instrument is the guitar and 'fP' the piano.<br> These files notably contain the variables <code>attended</code> and <code>ignored</code> that contains the feature for the attended and ignored instruments (the <code>ignored</code> field is only present in the CI conditions).<br> Note that a pair of two files corresponding to the same invention in a CI condition ('PGfG' & 'PGfP') effectively contain the same information with the <code>attended</code> and <code>ignored</code> variables flipped.