Mercurial > hg > simscene-py
comparison nonExposed/generateScene.m @ 34:39399de892ef
better handling of displays with pleasantness colors
author | Mathieu Lagrange <mathieu.lagrange@cnrs.fr> |
---|---|
date | Fri, 09 Jun 2017 16:37:50 +0200 |
parents | 3c29a652e441 |
children |
comparison
equal
deleted
inserted
replaced
33:d0ceb549f734 | 34:39399de892ef |
---|---|
169 tracks = tracks*norm/max(abs(sum(tracks,1))); | 169 tracks = tracks*norm/max(abs(sum(tracks,1))); |
170 end | 170 end |
171 audiowrite([outputPath 'sound/' outputFileName '_channel_split' '.wav'],tracks',sr); | 171 audiowrite([outputPath 'sound/' outputFileName '_channel_split' '.wav'],tracks',sr); |
172 case 2 | 172 case 2 |
173 if norm %Normalize to [-norm,norm] | 173 if norm %Normalize to [-norm,norm] |
174 tracks = tracks*norm/max(abs(sum(tracks,1))); | 174 tracks = tracks*norm/(1.05*max(abs(sum(tracks,1)))); |
175 end | 175 end |
176 for jj=1:size(tracks,1) | 176 for jj=1:size(tracks,1) |
177 audiowrite([outputPath 'sound/' outputFileName '_channel_' num2str(jj) '_class_' sceneObjects(jj).classLabel '.wav'],tracks(jj,:),sr); | 177 audiowrite([outputPath 'sound/' outputFileName '_channel_' num2str(jj) '_class_' sceneObjects(jj).classLabel '.wav'],tracks(jj,:),sr); |
178 end | 178 end |
179 end | 179 end |
180 | 180 |
181 | 181 |
182 if figuresOption | 182 if figuresOption |
183 settingFigure.cmap = generateColormap(sceneObjects); | 183 settingFigure.cmap = pleasantnessColormap(sceneObjects); |
184 if any(~sum(settingFigure.cmap, 2)) | |
185 fprintf(2, 'Unable to get some of the pleasantness tags, revert to randomized colors'); | |
186 settingFigure.cmap = randomColormap(sceneObjects); | |
187 end | |
184 settingFigure.width=29.7; % cm | 188 settingFigure.width=29.7; % cm |
185 settingFigure.height=21; % cm | 189 settingFigure.height=21; % cm |
186 settingFigure.FontSize=16; | 190 settingFigure.FontSize=16; |
187 settingFigure.sr=sr; | 191 settingFigure.sr=sr; |
188 settingFigure.sceneDuration=score.sceneDuration; | 192 settingFigure.sceneDuration=score.sceneDuration; |
189 | 193 |
194 nbBg = 0; | |
195 for k=1:length(sceneObjects) | |
196 if sceneObjects(k).isBackground | |
197 nbBg = nbBg+1; | |
198 bgo(nbBg, :) = resample(abs(tracks(k, :)), 1, 44100); | |
199 end | |
200 end | |
201 | |
202 | |
203 | |
204 [~, bgOrder] = sort(mean(bgo, 2)./median(bgo, 2)); | |
205 [~, eventOrder] = sort(sum(tracks(nbBg+1:end,:)==0, 2)); | |
206 trackOrder = [bgOrder; eventOrder+nbBg]; | |
207 tracks = tracks(trackOrder, :); | |
208 sceneObjects = sceneObjects(trackOrder); | |
209 settingFigure.cmap = settingFigure.cmap(trackOrder, :); | |
210 | |
190 coloredSpectrumVisualization(tracks,1,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-spectrum.png']); | 211 coloredSpectrumVisualization(tracks,1,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-spectrum.png']); |
191 timeDomainVisualization(tracks,2,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-timeDomain.png']); | 212 timeDomainVisualization(tracks,2,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-timeDomain.png']); |
192 pianoRollVisualization(sceneObjects,sceneSchedule,score,3,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-pianoRoll.png']) | 213 pianoRollVisualization(sceneObjects,sceneSchedule,score,3,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-pianoRoll.png']) |
193 end | 214 end |
194 end |