rmeddis@28: function paradigm_training(handles) rmeddis@28: global stimulusParameters experiment betweenRuns rmeddis@28: rmeddis@28: stimulusParameters.subjectSampleRate=44100; % compatible with file input rmeddis@28: % stimulusParameters.subjectSampleRate=64000; % compatible with file input rmeddis@28: % stimulusParameters.subjectSampleRate=128000; % compatible with file input rmeddis@28: rmeddis@28: % assessment method rmeddis@28: % {'oneIntervalUpDown', 'MaxLikelihood', '2I2AFC++', '2I2AFC+++'} rmeddis@28: experiment.threshEstMethod='oneIntervalUpDown'; rmeddis@28: % {'cued', 'noCue'}; rmeddis@28: stimulusParameters.includeCue=1; rmeddis@28: stimulusParameters.cueTestDifference=10; rmeddis@28: rmeddis@28: experiment.singleIntervalMaxTrials=10; rmeddis@28: experiment.maxTrials=10; rmeddis@28: experiment.allowCatchTrials= 1; rmeddis@28: rmeddis@28: % {'tone','noise', 'pinkNoise','whiteNoise','OHIO'} rmeddis@28: stimulusParameters.WRVname='targetLevel'; rmeddis@28: stimulusParameters.WRVstartValues=20 ; rmeddis@28: stimulusParameters.WRVsteps=[10 2]; rmeddis@28: stimulusParameters.WRVlimits=[-30 110]; rmeddis@28: rmeddis@28: % target variable: slope=1, start going down. rmeddis@28: experiment.psyFunSlope=1; rmeddis@28: withinRuns.direction='down'; rmeddis@28: rmeddis@28: betweenRuns.variableName1='targetFrequency'; rmeddis@28: betweenRuns.variableList1=1000; rmeddis@28: betweenRuns.variableName2='targetDuration'; rmeddis@28: betweenRuns.variableList2=0.1 ; rmeddis@28: % 1='fixed sequence', 2='randomize within blocks', 3='randomize across rmeddis@28: % blocks' rmeddis@28: betweenRuns.randomizeSequence=1; % 'random sequence' rmeddis@28: rmeddis@28: % delay > masker > gap > target rmeddis@28: rmeddis@28: stimulusParameters.stimulusDelay=0.3; rmeddis@28: rmeddis@28: % maskerTypes={'tone','noise', 'pinkNoise','TEN','whiteNoise'}; rmeddis@28: stimulusParameters.maskerType='tone'; rmeddis@28: stimulusParameters.maskerPhase='sin'; rmeddis@28: stimulusParameters.maskerDuration=0.0; rmeddis@28: stimulusParameters.maskerLevel= -50; rmeddis@28: stimulusParameters.maskerRelativeFrequency= 1 ; % not used rmeddis@28: rmeddis@28: stimulusParameters.gapDuration=0.0; rmeddis@28: rmeddis@28: % targetTypes={'tone','noise', 'pinkNoise','whiteNoise','OHIO'}; rmeddis@28: stimulusParameters.targetType='tone'; rmeddis@28: stimulusParameters.targetPhase='sin'; rmeddis@28: stimulusParameters.targetFrequency=1000; rmeddis@28: stimulusParameters.targetDuration=0.1; rmeddis@28: stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1); rmeddis@28: rmeddis@28: stimulusParameters.rampDuration=0.004; rmeddis@28: rmeddis@28: % forced choice window interval rmeddis@28: stimulusParameters.AFCsilenceDuration=0.5; rmeddis@28: rmeddis@28: % {'none','noise', 'pinkNoise', 'TEN','noiseDich', 'pinkNoiseDich','whiteNoise'} rmeddis@28: stimulusParameters.backgroundType='none'; rmeddis@28: stimulusParameters.backgroundLevel=-100; rmeddis@28: rmeddis@28: % instructions to user rmeddis@28: % single interval up/down no cue rmeddis@28: stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}]; rmeddis@28: % single interval up/down with cue rmeddis@28: stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}]; rmeddis@28: rmeddis@28: stimulusParameters.numOHIOtones=1; rmeddis@28: