diff 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
line wrap: on
line diff
--- a/nonExposed/generateScene.m	Mon May 22 10:46:10 2017 +0200
+++ b/nonExposed/generateScene.m	Fri Jun 09 16:37:50 2017 +0200
@@ -171,7 +171,7 @@
         audiowrite([outputPath 'sound/' outputFileName '_channel_split' '.wav'],tracks',sr);
     case 2
         if norm %Normalize to [-norm,norm]
-            tracks = tracks*norm/max(abs(sum(tracks,1)));
+            tracks = tracks*norm/(1.05*max(abs(sum(tracks,1))));
         end
         for jj=1:size(tracks,1)
             audiowrite([outputPath 'sound/' outputFileName '_channel_' num2str(jj) '_class_' sceneObjects(jj).classLabel '.wav'],tracks(jj,:),sr);
@@ -180,15 +180,35 @@
 
 
 if figuresOption
-    settingFigure.cmap = generateColormap(sceneObjects);
+    settingFigure.cmap = pleasantnessColormap(sceneObjects);
+    if any(~sum(settingFigure.cmap, 2))
+        fprintf(2, 'Unable to get some of the pleasantness tags, revert to randomized colors');
+        settingFigure.cmap = randomColormap(sceneObjects);       
+    end
     settingFigure.width=29.7; % cm
     settingFigure.height=21; % cm
     settingFigure.FontSize=16;
     settingFigure.sr=sr;
     settingFigure.sceneDuration=score.sceneDuration;
     
+    nbBg = 0;
+    for k=1:length(sceneObjects)
+        if sceneObjects(k).isBackground
+            nbBg = nbBg+1;
+            bgo(nbBg, :) = resample(abs(tracks(k, :)), 1, 44100);
+        end
+    end
+    
+    
+    
+    [~, bgOrder] = sort(mean(bgo, 2)./median(bgo, 2));
+    [~, eventOrder] = sort(sum(tracks(nbBg+1:end,:)==0, 2));
+    trackOrder = [bgOrder; eventOrder+nbBg];
+    tracks = tracks(trackOrder, :);
+    sceneObjects = sceneObjects(trackOrder);
+     settingFigure.cmap =  settingFigure.cmap(trackOrder, :);
+     
     coloredSpectrumVisualization(tracks,1,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-spectrum.png']);
     timeDomainVisualization(tracks,2,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-timeDomain.png']);
     pianoRollVisualization(sceneObjects,sceneSchedule,score,3,settingFigure,figuresOption,[outputPath 'annotation/' outputFileName,'-pianoRoll.png'])
 end
-end