files = dir('*.not.mat'); k = 1; clear resampledTrace clear resampledTraceNorm currTraceMax = 0; for i=1:length(files) fn = files(i).name; load(fn) dashes = strfind(fn, '_'); fileTimeStamp = fn(dashes(2)+(-2:5)); audioDataFile = dir(['*Audio*' fileTimeStamp '*.csv']); signalDataFile = dir(['*signal*' fileTimeStamp '*.csv']); audioFile = dir([fn(1:end-12) '.wav']); [song,fs ] =audioread(audioFile.name); if isempty(signalDataFile) fileTimeStamp(end-1:end) = num2str(str2double(fileTimeStamp(end-1:end))-1,'%02.f'); signalDataFile = dir(['*signal*' fileTimeStamp '*.csv']); audioDataFile = dir(['*Audio*' fileTimeStamp '*.csv']); end %Choose inner == 1 or outer == 2 data = importFPfile(signalDataFile(1).name); audiodata = importFPfile(audioDataFile.name, [1, Inf]); [greenAdjusted, greenTime, firstTimeSig, blueOnly, fs] = extractFPdata(data,3); [audioTime,firstTimeAudio]= extractFPAudioTime(audiodata); alignLetter = 'i'; introNote = strfind(labels,alignLetter); sigFS = round(1/mean(diff(greenTime))); beforeTime = 10; afterTime = 10; timeSpan = -beforeTime:1/sigFS:afterTime; frameSpan = timeSpan*sigFS; ts = onsets(introNote); timeLag = firstTimeAudio - firstTimeSig; if ~isempty(ts) inds_i = [1; find(diff(ts)/1000>2)+1]; ts = ts(inds_i); if strcmp(alignLetter,'i') motifLetter = 'a'; refineFlag = 1; elseif strcmp(alignLetter,'j') motifLetter = 'b'; refineFlag = 1; end for j = 1:length(ts) onset = ts(j)/1000; sigOnset = find(abs(onset-(greenTime+timeLag))==min(abs(onset-(greenTime+timeLag)))); baseline = mean(greenAdjusted(round(sigOnset+(-2.5:1/sigFS:-2)*sigFS))); currTrace = greenAdjusted(round(sigOnset+frameSpan)); currTime = greenTime(round(sigOnset+frameSpan))-greenTime(sigOnset); currTraceNorm = greenAdjusted(round(sigOnset+frameSpan))-baseline; currTraceNorm = currTraceNorm/max(currTraceNorm(140:end)); resampledTrace(k,:) = interp1(currTime,currTrace,-beforeTime:0.01:afterTime,'PCHIP'); resampledTraceNorm(k,:) = interp1(currTime,currTraceNorm,-beforeTime:0.01:afterTime,'PCHIP'); inds = [onset-beforeTime onset+afterTime]*fs; k = k+1; end end end