d@0: function songDataSet = plotPitchData(globalPlot, songTypeIndex, intPattern) d@0: d@0: pitchDataInput = 1:22; d@0: d@0: % globalPlot = 0; d@0: % pitchDataInput(11) = []; d@0: % pitchDataInput(7) = []; d@0: % pitchDataInput(6) = []; d@0: % pitchDataInput(5) = []; d@0: % pitchDataInput(3) = []; d@0: % pitchDataInput(1) = []; d@0: d@0: % data = readInCSV('Dataset.csv') d@0: % d@0: % songDataSet = {'How long has this been going on?', 'Wh'; d@0: % 'But don`t you remember?', 'YN'; d@0: % 'Is there life on Mars?', 'YN'; d@0: % 'Can you feel the love tonight?' 'YN'; d@0: % 'What have I done?', 'Wh'; d@0: % 'Are we human or are we dancers?', 'Echo'; d@0: % 'How can anybody possibly know how I feel?', 'Wh'; d@0: % 'D`you know what I mean?', 'YN'; d@0: % 'Do you remember?', 'YN'; d@0: % 'Do you remember the first time?', 'YN'; d@0: % 'Who want to live forever?', 'Wh'; d@0: % 'Is this the real life?', 'YN'; d@0: % 'Is this just fantasy?', 'YN'}; d@0: d@0: % songDataSet = readDataSet; d@0: songTypeArray = {'Wh', 'YN', 'All'}; d@0: intPatternArray = {'rf', 'f', 'rise-hold','all'}; d@0: % songType = songTypeArray{songTypeIndex} d@0: validQuestion = [1:52]; d@0: d@0: % for i = pitchDataInput; d@0: % if(strcmp(songDataSet{i,2},songTypeArray{songTypeIndex}) || songTypeIndex == 3) d@0: % if(strcmp(songDataSet{i,3},intPatternArray{intPattern})) d@0: % validQuestion = cat(2,validQuestion,i); d@0: % elseif(intPattern == 4 && (~strcmp(songDataSet{i,3},'x'))) d@0: % validQuestion = cat(2,validQuestion,i); d@0: % elseif(intPattern == 3 && ~(strcmp(songDataSet{i,3},'x') ||... d@0: % strcmp(songDataSet{i,3},intPatternArray{1}) ||... d@0: % strcmp(songDataSet{i,3},intPatternArray{2}))) d@0: % validQuestion = cat(2,validQuestion,i); d@0: % end d@0: % end d@0: % end d@0: d@0: d@0: % (songDataSet{:,2} == songType) d@0: d@0: if(globalPlot) d@0: figure; hold on; d@0: end d@0: d@0: zerosPlot = 0:0.01:1; d@0: d@0: d@0: totalF = zeros(1,length(zerosPlot)); d@0: d@0: % plotCol = ['y','m','c','r','g','b','k','y','m','c','r','g','b','k','y','m','c','r','g','b','k','y','m','c','r','g','b','k']; d@0: plotCol = ['y','m','c','r','g','b','k']; d@0: colIndex = 1; d@0: for i = validQuestion d@0: i d@0: songTrack = csvread(strcat('T',num2str(i),'/01.csv')); d@0: songTrack = songTrack(:,1:2); d@0: % songTrack = songTrack(ceil(end/2):end,:) d@0: songTrack(:,1) = songTrack(:,1) - min(songTrack(:,1)); d@0: songTrack(:,1) = songTrack(:,1) / max(songTrack(:,1)); d@0: if(0) d@0: songTrack(:,2) = songTrack(:,2) - min(songTrack(:,2)); d@0: songTrack(:,2) = songTrack(:,2) / max(songTrack(:,2)); d@0: end d@0: songTrack(:,2) = smooth(songTrack(:,2),50); d@0: % songTrack = songTrack(songTrack(:,1)<0.95,:); d@0: % songTrack(:,2) = songTrack(:,2) / min(songTrack(:,2)); d@0: % songTrack(:,2) = songTrack(:,2) / max(songTrack(:,2)); d@0: d@0: %totalF = totalF + interp1(songTrack(:,1),songTrack(:,2),zerosPlot); d@0: d@0: songTrack(songTrack(:,2) == 0,:) = []; d@0: if(~globalPlot) d@0: plot(songTrack(:,1),songTrack(:,2),plotCol(mod(colIndex,7)+1)); d@0: axis([0,1,50,500]); d@0: xlabel('Normalised Time'); d@0: ylabel('Frequency (Hz)'); d@0: plotTitle = strcat('Song: ',songDataSet{i,1} ,' Question Type: ',songDataSet{i,2}, ' with ', intPatternArray{intPattern}, ' Terminal Intonation'); d@0: title(plotTitle); d@0: saveAsName = strcat('plots/plot',num2str(i)); d@0: saveas(gcf,saveAsName,'pdf'); d@0: else d@0: plot(songTrack(:,1),songTrack(:,2),plotCol(mod(colIndex,7)+1)); d@0: end d@0: d@0: d@0: % plot(songTrack(:,1),smooth(songTrack(:,2),size(songTrack,1)/20),plotCol(colIndex)); d@0: colIndex = colIndex +1; d@0: end d@0: d@0: totalF = totalF / length(validQuestion); d@0: d@0: if(globalPlot) d@0: xlabel('Normalised Time'); d@0: ylabel('Normalised Frequency'); d@0: plotTitle =strcat(songTypeArray{songTypeIndex},' Questions Data Plot with: ', intPatternArray{intPattern}, ' Terminal Intonation'); d@0: title(plotTitle); d@0: % legend(songDataSet{pitchDataInput,1}); d@0: saveAsTitle = strcat('plots/',songTypeArray{songTypeIndex},'QuestionsPlot', intPatternArray{intPattern}, 'Intonation'); d@0: saveas(gcf,saveAsTitle,'pdf'); d@0: hold off; d@0: end d@0: d@0: if(1) d@0: plot(zerosPlot, totalF); d@0: % axis([0,1,50,500]); d@0: xlabel('Normalised Time'); d@0: ylabel('Frequency (Hz)'); d@0: plotTitle = strcat(songTypeArray{songTypeIndex},' Questions Data Plot with: ', intPatternArray{intPattern}, ' Terminal Intonation Mean Results'); d@0: title(plotTitle); d@0: % legend(songDataSet{pitchDataInput,1}); d@0: saveAsTitle = strcat('plots/',songTypeArray{songTypeIndex},'QuestionsPlot', intPatternArray{intPattern}, 'IntonationMean'); d@0: saveas(gcf,saveAsTitle,'pdf'); d@0: hold off; d@0: end d@0: d@0: d@0: d@0: end