To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at git://github.com/rmeddis/MAP.git .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Revision:

root / userProgramsRM / temp.m

History | View | Annotate | Download (3.95 KB)

1 38:c2204b18f4a2 rmeddis
function test_speechInNoise
2
3
leveldBSPL= 60;                  % dB SPL
4
leveldBSPLNoise=-55;
5
6
paramChanges={};
7
% no attenuation
8
paramChanges={'DRNLParams.rateToAttenuationFactorProb = 0.00; '};
9
% fixed attenuation
10
% paramChanges={'DRNLParams.rateToAttenuationFactorProb = -0.04;'};
11
% % dynamic attenuation
12
paramChanges={'DRNLParams.MOCtauProb =.15;', ...
13
    'DRNLParams.rateToAttenuationFactorProb = 0.01; '};
14
%
15
fileName='twister_44kHz';
16
fileName='1o7a_44kHz';
17
18
dbstop if error
19
restorePath=path;
20
addpath (['..' filesep 'MAP'],    ['..' filesep 'wavFileStore'], ...
21
    ['..' filesep 'utilities'])
22
23
%%  #1 parameter file name
24
MAPparamsName='Normal';
25
26
27
%% #2 probability (fast) or spikes (slow) representation
28
AN_spikesOrProbability='spikes';
29
%   or
30
AN_spikesOrProbability='probability';
31
32
33
%% #3  speech file input
34
35
beginSilence=.25;
36
endSilence=0.25;
37
noiseRampDuration=0.01;
38
39
%% #5 number of channels in the model
40
%   21-channel model (log spacing)
41
numChannels=21;
42
lowestBF=300; 	highestBF= 6000;
43
BFlist=round(logspace(log10(lowestBF), log10(highestBF), numChannels));
44
45
%   or specify your own channel BFs
46
% numChannels=1;
47
% BFlist=1000;
48
49
50
51
%% delare 'showMap' options to control graphical output
52
showMapOptions.printModelParameters=1;   % prints all parameters
53
showMapOptions.showModelOutput=1;       % plot of all stages
54
showMapOptions.printFiringRates=1;      % prints stage activity levels
55
showMapOptions.showACF=0;               % shows SACF (probability only)
56
showMapOptions.showEfferent=1;          % tracks of AR and MOC
57
showMapOptions.surfProbability=1;       % 2D plot of HSR response
58
showMapOptions.surfSpikes=0;            % 2D plot of spikes histogram
59
showMapOptions.ICrates=0;               % IC rates by CNtauGk
60
showMapOptions.PSTHbinwidth=0.002;
61
62
% disable certain silly options
63
if strcmp(AN_spikesOrProbability, 'spikes')
64
    % avoid nonsensical options
65
    showMapOptions.surfProbability=0;
66
    showMapOptions.showACF=0;
67
else
68
    showMapOptions.surfSpikes=0;
69
end
70
    % needed for labeling plot
71
    showMapOptions.fileName=fileName;
72
73
%% Generate stimuli
74
75
        %% file input simple or mixed
76
        [inputSignal sampleRate]=wavread(fileName);
77
        dt=1/sampleRate;
78
        inputSignal=inputSignal(:,1);
79
        targetRMS=20e-6*10^(leveldBSPL/20);
80
        rms=(mean(inputSignal.^2))^0.5;
81
        amp=targetRMS/rms;
82
        inputSignal=inputSignal*amp;
83
84
        % add silences
85
        intialSilence= zeros(1,round(beginSilence*sampleRate));
86
        finalSilence= zeros(1,round(endSilence*sampleRate));
87
        inputSignal= [intialSilence inputSignal' finalSilence];
88
89
        [inputNoise sampleRateN]=wavread('babble');
90
        inputNoise=inputNoise(1:length(inputSignal));
91
       inputNoise=inputNoise(:,1);
92
        targetRMS=20e-6*10^(leveldBSPLNoise/20);
93
        rms=(mean(inputNoise.^2))^0.5;
94
        amp=targetRMS/rms;
95
        inputNoise=inputNoise*amp;
96
        time=dt: dt: dt*length(inputNoise);
97
        rampTime=dt:dt:noiseRampDuration;
98
        ramp=[0.5*(1+cos(2*pi*rampTime/(2*noiseRampDuration)+pi)) ...
99
            ones(1,length(time)-length(rampTime))];
100
        inputNoise=inputNoise'.*ramp;
101
        inputSignal=inputSignal+inputNoise;
102
103
104
105
%% run the model
106
tic
107
108
fprintf('\n')
109
disp(['Signal duration= ' num2str(length(inputSignal)/sampleRate)])
110
disp([num2str(numChannels) ' channel model'])
111
disp('Computing ...')
112
113
MAP1_14(inputSignal, sampleRate, BFlist, ...
114
    MAPparamsName, AN_spikesOrProbability, paramChanges);
115
116
117
%% the model run is now complete. Now display the results
118
UTIL_showMAP(showMapOptions, paramChanges)
119
figure(97), view([-3 82])
120
title(['speech/ noise: ' num2str([leveldBSPL leveldBSPLNoise])])
121
122
disp(['level=' num2str(leveldBSPL)])
123
disp(['noise level=' num2str(leveldBSPLNoise)])
124
125
global DRNLParams
126
disp(['attenuation factor =' ...
127
    num2str(DRNLParams.rateToAttenuationFactor, '%5.3f') ])
128
disp(['attenuation factor (probability)=' ...
129
    num2str(DRNLParams.rateToAttenuationFactorProb, '%5.3f') ])
130
disp(AN_spikesOrProbability)
131
disp(paramChanges)
132
toc
133
path(restorePath)