alice@0: %Script to run analysis of 20 audio samples. GCC-PHAT is calculated for alice@0: %each audio sample using all framesizes in frameSizeVec and windows in alice@0: %winShapes alice@0: alice@0: alice@0: % Developer: - Alice Clifford (alice.clifford@eecs.qmul.ac.uk) alice@0: alice@0: alice@0: close all alice@0: clear all alice@0: alice@0: Fs=44100; alice@0: alice@0: alice@0: frameSizeVec=[128 256 512 1024 2048 4096 8192]; %framesizes to test alice@0: alice@0: winShapes={ %window shapes to test alice@0: 'blackman', alice@0: 'blackmanharris', alice@0: 'flattopwin', alice@0: 'gausswin', alice@0: 'hamming', alice@0: 'hann', alice@0: 'rectwin', alice@0: }; alice@0: alice@0: ds=50; %actual delay derived from visual analysis alice@0: alice@0: PATH='audio/'; alice@0: fid=fopen('analysisFileNames_041112.txt'); alice@0: tempNames=textscan(fid,'%s'); alice@0: alice@0: numFiles=length(tempNames{1}); alice@0: alice@0: fileNames=cell(numFiles,1); alice@0: alice@0: alice@0: for f=1:length(frameSizeVec) alice@0: f alice@0: frameSize=frameSizeVec(f); alice@0: hopSize=frameSize/4; alice@0: alice@0: for n=1:numFiles alice@0: n alice@0: fileNames{n}=tempNames{1}{n}; alice@0: fullPath=strcat(PATH,fileNames{n}); alice@0: alice@0: alice@0: alice@0: [x,Fs]=wavread(fullPath); alice@0: alice@0: for w=1:length(winShapes) alice@0: w alice@0: alice@0: delayVec(:,n,w)=gccPHATFunc_win(x,frameSize,hopSize,winShapes{w}); alice@0: percHitsMat(n,w)=percCorr(delayVec(:,n,w),ds,2); %estimate percentage correct alice@0: end alice@0: alice@0: alice@0: alice@0: alice@0: end alice@0: alice@0: alice@0: % save(strcat('Results/accuracyData_240512_framesize',int2str(frameSize))) alice@0: % %uncomment to save results alice@0: alice@0: clear delayVec percHitsMat mseMat euclidMat alice@0: alice@0: alice@0: alice@0: alice@0: alice@0: alice@0: alice@0: end alice@0: alice@0: display('Instrument audio analysis complete')