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
|
gregoirelafay@21
|
8 for i=1:size(tracks,1)
|
gregoirelafay@21
|
9 spec = log(1+abs(spectrogram(tracks(i,:), hanning(wSize), wStep, wSize)));
|
gregoirelafay@21
|
10 spec = min(1, spec ./ max(spec(:)));
|
gregoirelafay@21
|
11 spec = spec(1:maxFreqBin,:);
|
gregoirelafay@21
|
12 spec = flipud(spec);
|
gregoirelafay@21
|
13 for colorComp=1:3
|
gregoirelafay@21
|
14 if (i==1)
|
gregoirelafay@21
|
15 img(:,:,colorComp) = settingFigure.cmap(i,colorComp)*spec;
|
gregoirelafay@21
|
16 else
|
gregoirelafay@21
|
17 img(:,:,colorComp) = img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec;
|
gregoirelafay@21
|
18 end
|
gregoirelafay@21
|
19 end
|
gregoirelafay@21
|
20 end
|
gregoirelafay@21
|
21
|
gregoirelafay@21
|
22
|
gregoirelafay@21
|
23
|
gregoirelafay@21
|
24
|
gregoirelafay@21
|
25 img = img/max(img(:));
|
gregoirelafay@21
|
26
|
gregoirelafay@21
|
27 switch figuresOption
|
gregoirelafay@21
|
28 case 1
|
gregoirelafay@21
|
29 f=figure('Visible', 'off');
|
gregoirelafay@21
|
30 case 2
|
gregoirelafay@21
|
31 f=figure(figNum);
|
gregoirelafay@21
|
32 end
|
gregoirelafay@21
|
33
|
gregoirelafay@21
|
34
|
gregoirelafay@21
|
35 clf;
|
gregoirelafay@21
|
36 imagesc(img);
|
gregoirelafay@21
|
37 xlim([0 size(img,2)])
|
gregoirelafay@21
|
38 ylim([0 maxFreqBin])
|
gregoirelafay@21
|
39 xtick=0:round(settingFigure.sr/wStep*20):size(img,2); % every 20 sec
|
gregoirelafay@21
|
40 ytick=0:50:maxFreqBin; % every 500 Hz
|
gregoirelafay@21
|
41 set(gca,'YTick',0:50:maxFreqBin,'YTicklabel', fliplr(round(ytick*settingFigure.sr/wSize)),'xtick',xtick,'xTicklabel',round(xtick*wStep/settingFigure.sr));
|
gregoirelafay@21
|
42 xlabel('time (sec)')
|
gregoirelafay@21
|
43 ylabel('Frequency (Hz)')
|
gregoirelafay@21
|
44
|
gregoirelafay@21
|
45 set(f,'PaperUnits','centimeters')
|
gregoirelafay@21
|
46 set(f,'PaperPositionMode','manual')
|
gregoirelafay@21
|
47 set(f,'papersize',[settingFigure.width,settingFigure.height])
|
gregoirelafay@21
|
48 set(f,'paperposition',[0,0,settingFigure.width,settingFigure.height])
|
gregoirelafay@21
|
49 set(findall(f,'-property','FontSize'),'FontSize',settingFigure.FontSize)
|
gregoirelafay@21
|
50 set(findall(f,'-property','FontName'),'FontName','Arial')
|
gregoirelafay@21
|
51
|
gregoirelafay@21
|
52 print(f,fileName,'-dpng')
|
gregoirelafay@21
|
53
|
gregoirelafay@21
|
54 end
|
gregoirelafay@21
|
55
|