annotate nonExposed/coloredSpectrumVisualization.m @ 51:ebf92ed7d680 tip master

Added -fd (--full-duration) argument.
author Emmanouil Theofanis Chourdakis <e.t.chourdakis@qmul.ac.uk>
date Sun, 30 Sep 2018 13:21:49 +0100
parents 39399de892ef
children
rev   line source
gregoirelafay@21 1 function [] = coloredSpectrumVisualization(tracks,figNum,settingFigure,figuresOption,fileName,sr)
gregoirelafay@21 2
gregoirelafay@21 3 wStep=1024;
gregoirelafay@21 4 wSize=wStep*2;
gregoirelafay@21 5 maxFreqBin=400;
gregoirelafay@21 6
gregoirelafay@21 7 % Producing a colored spectrum visualization
mathieu@34 8
gregoirelafay@21 9 for i=1:size(tracks,1)
gregoirelafay@21 10 spec = log(1+abs(spectrogram(tracks(i,:), hanning(wSize), wStep, wSize)));
gregoirelafay@21 11 spec = min(1, spec ./ max(spec(:)));
gregoirelafay@21 12 spec = spec(1:maxFreqBin,:);
gregoirelafay@21 13 spec = flipud(spec);
mathieu@34 14 % black background
mathieu@34 15 % for colorComp=1:3
mathieu@34 16 % if (i==1)
mathieu@34 17 % img(:,:,colorComp) = settingFigure.cmap(i,colorComp)*spec;
mathieu@34 18 % else
mathieu@34 19 % img(:,:,colorComp) = img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec;
mathieu@34 20 % end
mathieu@34 21 % end
mathieu@34 22 %white background
mathieu@34 23 if i==1
mathieu@34 24 img = ones(size(spec, 1), size(spec, 2), 3)*.4;
mathieu@34 25 end
mathieu@34 26 for colorComp=1:3
mathieu@34 27 img(:,:,colorComp) = (1-spec).*img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec;
gregoirelafay@21 28 end
gregoirelafay@21 29 end
gregoirelafay@21 30
gregoirelafay@21 31
gregoirelafay@21 32
gregoirelafay@21 33
gregoirelafay@21 34 img = img/max(img(:));
gregoirelafay@21 35
gregoirelafay@21 36 switch figuresOption
gregoirelafay@21 37 case 1
gregoirelafay@21 38 f=figure('Visible', 'off');
gregoirelafay@21 39 case 2
gregoirelafay@21 40 f=figure(figNum);
gregoirelafay@21 41 end
gregoirelafay@21 42
gregoirelafay@21 43
gregoirelafay@21 44 clf;
gregoirelafay@21 45 imagesc(img);
gregoirelafay@21 46 xlim([0 size(img,2)])
gregoirelafay@21 47 ylim([0 maxFreqBin])
gregoirelafay@21 48 xtick=0:round(settingFigure.sr/wStep*20):size(img,2); % every 20 sec
gregoirelafay@21 49 ytick=0:50:maxFreqBin; % every 500 Hz
gregoirelafay@21 50 set(gca,'YTick',0:50:maxFreqBin,'YTicklabel', fliplr(round(ytick*settingFigure.sr/wSize)),'xtick',xtick,'xTicklabel',round(xtick*wStep/settingFigure.sr));
gregoirelafay@21 51 xlabel('time (sec)')
gregoirelafay@21 52 ylabel('Frequency (Hz)')
gregoirelafay@21 53
gregoirelafay@21 54 set(findall(f,'-property','FontSize'),'FontSize',settingFigure.FontSize)
gregoirelafay@21 55 set(findall(f,'-property','FontName'),'FontName','Arial')
gregoirelafay@21 56
mathieu@34 57 if figuresOption == 1
mathieu@34 58 set(f,'PaperUnits','centimeters')
mathieu@34 59 set(f,'PaperPositionMode','manual')
mathieu@34 60 set(f,'papersize',[settingFigure.width,settingFigure.height])
mathieu@34 61 set(f,'paperposition',[0,0,settingFigure.width,settingFigure.height])
mathieu@34 62
mathieu@34 63 print(f,fileName,'-dpng')
gregoirelafay@21 64 end
gregoirelafay@21 65