Mercurial > hg > simscene-py
view nonExposed/coloredSpectrumVisualization.m @ 44:b7b1672b3c3b
Reading and writing of files now is done by soundfile since there seems to be a bug with writing .wav files with librosa (mplayer would play them as rubbish). Added soundfile as a requirement.
author | Emmanouil Theofanis Chourdakis <e.t.chourdakis@qmul.ac.uk> |
---|---|
date | Mon, 09 Oct 2017 11:55:03 +0100 |
parents | 39399de892ef |
children |
line wrap: on
line source
function [] = coloredSpectrumVisualization(tracks,figNum,settingFigure,figuresOption,fileName,sr) wStep=1024; wSize=wStep*2; maxFreqBin=400; % Producing a colored spectrum visualization for i=1:size(tracks,1) spec = log(1+abs(spectrogram(tracks(i,:), hanning(wSize), wStep, wSize))); spec = min(1, spec ./ max(spec(:))); spec = spec(1:maxFreqBin,:); spec = flipud(spec); % black background % for colorComp=1:3 % if (i==1) % img(:,:,colorComp) = settingFigure.cmap(i,colorComp)*spec; % else % img(:,:,colorComp) = img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec; % end % end %white background if i==1 img = ones(size(spec, 1), size(spec, 2), 3)*.4; end for colorComp=1:3 img(:,:,colorComp) = (1-spec).*img(:,:,colorComp)+settingFigure.cmap(i,colorComp)*spec; end end img = img/max(img(:)); switch figuresOption case 1 f=figure('Visible', 'off'); case 2 f=figure(figNum); end clf; imagesc(img); xlim([0 size(img,2)]) ylim([0 maxFreqBin]) xtick=0:round(settingFigure.sr/wStep*20):size(img,2); % every 20 sec ytick=0:50:maxFreqBin; % every 500 Hz set(gca,'YTick',0:50:maxFreqBin,'YTicklabel', fliplr(round(ytick*settingFigure.sr/wSize)),'xtick',xtick,'xTicklabel',round(xtick*wStep/settingFigure.sr)); xlabel('time (sec)') ylabel('Frequency (Hz)') set(findall(f,'-property','FontSize'),'FontSize',settingFigure.FontSize) set(findall(f,'-property','FontName'),'FontName','Arial') if figuresOption == 1 set(f,'PaperUnits','centimeters') set(f,'PaperPositionMode','manual') set(f,'papersize',[settingFigure.width,settingFigure.height]) set(f,'paperposition',[0,0,settingFigure.width,settingFigure.height]) print(f,fileName,'-dpng') end