___________________________________________________________________________________________________________________ AUDITORY ODDBALL TASK ___________________________________________________________________________________________________________________ last updated: 10-04-2024 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC Script Copyright © 10-04-2024 Millisecond Software ___________________________________________________________________________________________________________________ BACKGROUND INFO ___________________________________________________________________________________________________________________ This script implements the Auditory Oddball Task, an auditory go/nogo task to measure attention and cognitive control. The implemented procedure is based on: Williams, L.M., Simms, E., Clark, C.R., & Paul, R. H. (2005). The test-retest reliability of a standardized neurocognitive and neurophysiological test battery: "neuromarker". International Journal of Neuroscience, 115, 1605-30. The script uses baseline tones of 500hz and oddball tones of 1000hz. There are no markers set in this script. ___________________________________________________________________________________________________________________ TASK DESCRIPTION ___________________________________________________________________________________________________________________ Participants listen to a random sequence of 2 different beeps. They are asked to press the Spacebar whenever they hear the high tone (go trial) and refrain from doing anything if they hear the low tone (nogo trial). ___________________________________________________________________________________________________________________ DURATION ___________________________________________________________________________________________________________________ the default set-up of the script takes appr. 4 minutes to complete ___________________________________________________________________________________________________________________ DATA OUTPUT DICTIONARY ___________________________________________________________________________________________________________________ The fields in the data files are: (1) Raw data file: 'auditoryoddballtask_nomarkers_raw*.iqdat' (a separate file for each participant) build: The specific Inquisit version used (the 'build') that was run computer.platform: the platform the script was run on (win/mac/ios/android) date, time: date and time script was run subject, group: with the current subject/groupnumber session: with the current session id blockCode, blockNum: the name and number of the current block (built-in Inquisit variable) trialCode, trialNum: the name and number of the currently recorded trial (built-in Inquisit variable) Note: trialNum is a built-in Inquisit variable; it counts all trials run; even those that do not store data to the data file such as feedback trials. Thus, trialNum may not reflect the number of main trials run per block. lastTrial: the name of the trial stimulustItem.1: the presented sound file response: the participant's response: scancode of key response 57 = spacebar 0 = no response responseCategory: hit: pressing spacebar for oddball sounds (targets) omission error: not pressing spacebar for oddball sounds (targets) corrReject: not pressing spacebar for baseline sounds (nontargets) commission error: pressing spacebar for baseline sounds (nontargets) correct: the correctness of the response (1 = correct; 0 = incorrect) latency: the response latency (in ms); measured from onset of sound file => for no responses, the latency is the max response timeout = 900ms list.fas.mean: proportion of commission errors (pressing spacebar for a non oddball event) (2) Summary data file: 'auditoryoddballtask_nomarkers_summary*.iqdat' (a separate file for each participant) inquisit.version: Inquisit version run computer.platform: the platform the script was run on (win/mac/ios/android) startDate: date script was run startTime: time script was started subjectId: assigned subject id number groupId: assigned group id number sessionId: assigned session id number elapsedTime: time it took to run script (in ms); measured from onset to offset of script completed: 0 = script was not completed (prematurely aborted); 1 = script was completed (all conditions run) list.acc.mean: the overall proportion correct numberGoTrials: number of Go trials ('oddball') in the test block numberNoGoTrials: number of Nogo trials ('baseline') in the test block list.hitRTs.mean: mean hit latency (in ms) *Adjustments to z-scores as recommended by: Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility: Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148) hitRate: calculates the hitrate (proportion of correctly hitting the spacebar for oddball-trials) missRate: the calculated missrate (1-hitrate) faRate: calculates the commission error rate (proportion of incorrectly hitting the spacebar for baseline-trials) corrRejectRate: the calculated correct rejection rate (1-commission rate) z_hitrate*: calculates the z-score for the hitrate. Adjustments are made if the hitrate = 0 (increased to 0.005) or 1 (decreased to 0.995)* z_FArate*: calculates the z-score for the false alarm rate. Adjustments are made if the FArate = 0 (increased to 0.005) or 1 (decreased to 0.995)* dPrime: Computes d' (parametric measure of discriminability btw. signals and noise) => Range (in this script): -5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance) => The higher the value, the better signals (oddballs) were overall distinguished from noise (baseline) (d' = 0: chance performance; negative d-primes: participant treated nontargets as targets and targets as nontargets) c: c-criterion in signal detection:The absolute value of c provides an indication of the strength of the response bias/response style negative: participant more likely to report that signal (go stims) is present (liberal response style); may favor faster responding in speed-accuracy trade-off response paradigms positive: favoring caution (conservative response style) ___________________________________________________________________________________________________________________ EXPERIMENTAL SET-UP ___________________________________________________________________________________________________________________ 1 Testblock of 200 trials: 24 oddball signals (go trials), 176 baseline (nogo trials) -> order is randomized (constraint: no consecutive oddball trials, if at all possible) -> trials last 1000ms (default, editable value) with 100ms of that time dedicated to trialCleanUp (default, editable value) (thus the effective response timeout is: 1000ms-100ms = 900ms) ___________________________________________________________________________________________________________________ STIMULI ___________________________________________________________________________________________________________________ oddball signal: 1000Hz sound baseline signal: 500Hz sound sound files can be edited under section Editable Stimuli ___________________________________________________________________________________________________________________ INSTRUCTIONS ___________________________________________________________________________________________________________________ can be edited under section Editable Instructions ___________________________________________________________________________________________________________________ EDITABLE CODE ___________________________________________________________________________________________________________________ check below for (relatively) easily editable parameters, stimuli, instructions etc. Keep in mind that you can use this script as a template and therefore always "mess" with the entire code to further customize your experiment. The parameters you can change are: /trialDuration: the trial duration in ms (default: 1000ms) => every 1s, a new sound file is started /trialCleanupTime: the duration at the end of the trial duration (in ms) explicitly allocated to stimulus clean-up etc. (default: 100ms) => the effective response timeout is = trialduration - trialCleanupTime = 1000ms - 100ms = 900ms