gregoirelafay@21: function [] = coloredSpectrumVisualization(tracks,figNum,settingFigure,figuresOption,fileName,sr) gregoirelafay@21: gregoirelafay@21: wStep=1024; gregoirelafay@21: wSize=wStep*2; gregoirelafay@21: maxFreqBin=400; gregoirelafay@21: gregoirelafay@21: % Producing a colored spectrum visualization mathieu@34: gregoirelafay@21: for i=1:size(tracks,1) gregoirelafay@21: spec = log(1+abs(spectrogram(tracks(i,:), hanning(wSize), wStep, wSize))); gregoirelafay@21: spec = min(1, spec ./ max(spec(:))); gregoirelafay@21: spec = spec(1:maxFreqBin,:); gregoirelafay@21: spec = flipud(spec); mathieu@34: % black background mathieu@34: % for colorComp=1:3 mathieu@34: % if (i==1) mathieu@34: % img(:,:,colorComp) = settingFigure.cmap(i,colorComp)*spec; mathieu@34: % else mathieu@34: % img(:,:,colorComp) = img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec; mathieu@34: % end mathieu@34: % end mathieu@34: %white background mathieu@34: if i==1 mathieu@34: img = ones(size(spec, 1), size(spec, 2), 3)*.4; mathieu@34: end mathieu@34: for colorComp=1:3 mathieu@34: img(:,:,colorComp) = (1-spec).*img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec; gregoirelafay@21: end gregoirelafay@21: end gregoirelafay@21: gregoirelafay@21: gregoirelafay@21: gregoirelafay@21: gregoirelafay@21: img = img/max(img(:)); gregoirelafay@21: gregoirelafay@21: switch figuresOption gregoirelafay@21: case 1 gregoirelafay@21: f=figure('Visible', 'off'); gregoirelafay@21: case 2 gregoirelafay@21: f=figure(figNum); gregoirelafay@21: end gregoirelafay@21: gregoirelafay@21: gregoirelafay@21: clf; gregoirelafay@21: imagesc(img); gregoirelafay@21: xlim([0 size(img,2)]) gregoirelafay@21: ylim([0 maxFreqBin]) gregoirelafay@21: xtick=0:round(settingFigure.sr/wStep*20):size(img,2); % every 20 sec gregoirelafay@21: ytick=0:50:maxFreqBin; % every 500 Hz gregoirelafay@21: set(gca,'YTick',0:50:maxFreqBin,'YTicklabel', fliplr(round(ytick*settingFigure.sr/wSize)),'xtick',xtick,'xTicklabel',round(xtick*wStep/settingFigure.sr)); gregoirelafay@21: xlabel('time (sec)') gregoirelafay@21: ylabel('Frequency (Hz)') gregoirelafay@21: gregoirelafay@21: set(findall(f,'-property','FontSize'),'FontSize',settingFigure.FontSize) gregoirelafay@21: set(findall(f,'-property','FontName'),'FontName','Arial') gregoirelafay@21: mathieu@34: if figuresOption == 1 mathieu@34: set(f,'PaperUnits','centimeters') mathieu@34: set(f,'PaperPositionMode','manual') mathieu@34: set(f,'papersize',[settingFigure.width,settingFigure.height]) mathieu@34: set(f,'paperposition',[0,0,settingFigure.width,settingFigure.height]) mathieu@34: mathieu@34: print(f,fileName,'-dpng') gregoirelafay@21: end gregoirelafay@21: