rmeddis@9: function demoTwisterSpikes rmeddis@9: rmeddis@9: % MAPdemo runs the MATLAB auditory periphery model (MAP1_14) as far as rmeddis@23: % IC (spikes) with graphical output rmeddis@9: rmeddis@24: restorePath=path; rmeddis@24: addpath (['..' filesep 'MAP'], ['..' filesep 'wavFileStore'], ... rmeddis@24: ['..' filesep 'utilities']) rmeddis@24: rmeddis@9: rmeddis@9: %% #1 parameter file name rmeddis@9: MAPparamsName='Normal'; rmeddis@9: rmeddis@9: rmeddis@24: %% #2 spikes (slow) representation rmeddis@9: AN_spikesOrProbability='spikes'; rmeddis@9: rmeddis@9: rmeddis@24: %% #3 speech file input rmeddis@9: fileName='twister_44kHz'; rmeddis@9: rmeddis@9: rmeddis@9: %% #4 rms level rmeddis@9: % signal details rmeddis@9: leveldBSPL=70; % dB SPL rmeddis@9: rmeddis@9: rmeddis@9: %% #5 number of channels in the model rmeddis@9: % 21-channel model (log spacing) rmeddis@38: numChannels=11; rmeddis@35: lowestBF=250; highestBF= 8000; rmeddis@9: BFlist=round(logspace(log10(lowestBF), log10(highestBF), numChannels)); rmeddis@9: rmeddis@9: rmeddis@9: %% #6 change model parameters rmeddis@38: paramChanges={}; rmeddis@9: rmeddis@9: %% delare showMap options rmeddis@9: showMapOptions=[]; % use defaults rmeddis@9: rmeddis@9: % or (example: show everything including an smoothed SACF output rmeddis@35: showMapOptions.printModelParameters=1; rmeddis@35: showMapOptions.showModelOutput=1; rmeddis@35: showMapOptions.printFiringRates=1; rmeddis@35: showMapOptions.showACF=0; rmeddis@35: showMapOptions.showEfferent=0; rmeddis@35: showMapOptions.surfSpikes=0; rmeddis@38: showMapOptions.surfAN=0; % 2D plot of HSR response rmeddis@32: rmeddis@9: %% Generate stimuli rmeddis@35: [inputSignal sampleRate]=wavread(fileName); rmeddis@35: inputSignal(:,1); rmeddis@35: targetRMS=20e-6*10^(leveldBSPL/20); rmeddis@35: rms=(mean(inputSignal.^2))^0.5; rmeddis@35: amp=targetRMS/rms; rmeddis@35: inputSignal=inputSignal*amp; rmeddis@9: rmeddis@9: rmeddis@9: %% run the model rmeddis@9: tic rmeddis@9: rmeddis@9: fprintf('\n') rmeddis@9: disp(['Signal duration= ' num2str(length(inputSignal)/sampleRate)]) rmeddis@9: disp([num2str(numChannels) ' channel model']) rmeddis@9: disp('Computing ...') rmeddis@26: rmeddis@9: MAP1_14(inputSignal, sampleRate, BFlist, ... rmeddis@9: MAPparamsName, AN_spikesOrProbability, paramChanges); rmeddis@26: rmeddis@9: rmeddis@9: % the model run is now complete. Now display the results rmeddis@38: UTIL_showMAP(showMapOptions) rmeddis@9: rmeddis@9: toc rmeddis@9: path(restorePath) rmeddis@9: