rmeddis@0
|
1 function paradigm_training(handles)
|
rmeddis@0
|
2 global stimulusParameters experiment betweenRuns
|
rmeddis@0
|
3
|
rmeddis@38
|
4 paradigmBase(handles) % default
|
rmeddis@38
|
5
|
rmeddis@38
|
6 % rest may be unnecessary
|
rmeddis@38
|
7
|
rmeddis@9
|
8 % stimulusParameters.subjectSampleRate=128000; % compatible with file input
|
rmeddis@0
|
9
|
rmeddis@0
|
10 % assessment method
|
rmeddis@0
|
11 % {'oneIntervalUpDown', 'MaxLikelihood', '2I2AFC++', '2I2AFC+++'}
|
rmeddis@0
|
12 experiment.threshEstMethod='oneIntervalUpDown';
|
rmeddis@0
|
13 % {'cued', 'noCue'};
|
rmeddis@0
|
14 stimulusParameters.includeCue=1;
|
rmeddis@0
|
15 stimulusParameters.cueTestDifference=10;
|
rmeddis@0
|
16
|
rmeddis@0
|
17 experiment.singleIntervalMaxTrials=10;
|
rmeddis@0
|
18 experiment.maxTrials=10;
|
rmeddis@0
|
19 experiment.allowCatchTrials= 1;
|
rmeddis@0
|
20
|
rmeddis@0
|
21 % {'tone','noise', 'pinkNoise','whiteNoise','OHIO'}
|
rmeddis@0
|
22 stimulusParameters.WRVname='targetLevel';
|
rmeddis@35
|
23 stimulusParameters.WRVstartValues=30 ;
|
rmeddis@0
|
24 stimulusParameters.WRVsteps=[10 2];
|
rmeddis@0
|
25 stimulusParameters.WRVlimits=[-30 110];
|
rmeddis@0
|
26
|
rmeddis@0
|
27 % target variable: slope=1, start going down.
|
rmeddis@0
|
28 experiment.psyFunSlope=1;
|
rmeddis@0
|
29 withinRuns.direction='down';
|
rmeddis@0
|
30
|
rmeddis@0
|
31 betweenRuns.variableName1='targetFrequency';
|
rmeddis@0
|
32 betweenRuns.variableList1=1000;
|
rmeddis@0
|
33 betweenRuns.variableName2='targetDuration';
|
rmeddis@0
|
34 betweenRuns.variableList2=0.1 ;
|
rmeddis@30
|
35 % 'randomize within blocks', 'fixed sequence', 'randomize across blocks'
|
rmeddis@30
|
36 betweenRuns.randomizeSequence='randomize within blocks';
|
rmeddis@0
|
37
|
rmeddis@0
|
38 % delay > masker > gap > target
|
rmeddis@0
|
39
|
rmeddis@0
|
40 stimulusParameters.stimulusDelay=0.3;
|
rmeddis@0
|
41
|
rmeddis@0
|
42 % maskerTypes={'tone','noise', 'pinkNoise','TEN','whiteNoise'};
|
rmeddis@30
|
43 experiment.maskerInUse=0;
|
rmeddis@0
|
44 stimulusParameters.maskerType='tone';
|
rmeddis@30
|
45 stimulusParameters.maskerPhase='cos';
|
rmeddis@0
|
46 stimulusParameters.maskerDuration=0.0;
|
rmeddis@0
|
47 stimulusParameters.maskerLevel= -50;
|
rmeddis@30
|
48 stimulusParameters.maskerRelativeFrequency= 1 ;
|
rmeddis@0
|
49
|
rmeddis@0
|
50 stimulusParameters.gapDuration=0.0;
|
rmeddis@0
|
51
|
rmeddis@0
|
52 % targetTypes={'tone','noise', 'pinkNoise','whiteNoise','OHIO'};
|
rmeddis@0
|
53 stimulusParameters.targetType='tone';
|
rmeddis@30
|
54 stimulusParameters.targetPhase='cos'; %{'sin','cos','alt','rand'}
|
rmeddis@0
|
55 stimulusParameters.targetFrequency=1000;
|
rmeddis@0
|
56 stimulusParameters.targetDuration=0.1;
|
rmeddis@0
|
57 stimulusParameters.targetLevel=stimulusParameters.WRVstartValues(1);
|
rmeddis@0
|
58
|
rmeddis@0
|
59 stimulusParameters.rampDuration=0.004;
|
rmeddis@0
|
60
|
rmeddis@0
|
61 % forced choice window interval
|
rmeddis@0
|
62 stimulusParameters.AFCsilenceDuration=0.5;
|
rmeddis@0
|
63
|
rmeddis@0
|
64 % {'none','noise', 'pinkNoise', 'TEN','noiseDich', 'pinkNoiseDich','whiteNoise'}
|
rmeddis@0
|
65 stimulusParameters.backgroundType='none';
|
rmeddis@0
|
66 stimulusParameters.backgroundLevel=-100;
|
rmeddis@0
|
67
|
rmeddis@0
|
68 % instructions to user
|
rmeddis@0
|
69 % single interval up/down no cue
|
rmeddis@0
|
70 stimulusParameters.instructions{1}= [{'YES if you hear the tone clearly'}, { }, { 'NO if not (or you are uncertain'}];
|
rmeddis@0
|
71 % single interval up/down with cue
|
rmeddis@0
|
72 stimulusParameters.instructions{2}= [{'count the tones you hear clearly'}, { }, { 'ignore indistinct tones'}];
|
rmeddis@0
|
73
|
rmeddis@0
|
74 stimulusParameters.numOHIOtones=1;
|
rmeddis@0
|
75
|