diff --git a/lib/+artoa/+controller/generateSoundSourceColors.m b/lib/+artoa/+controller/generateSoundSourceColors.m
new file mode 100644
index 0000000000000000000000000000000000000000..aca7e3bb4bab4420993f675b55bd54da8647a8d5
--- /dev/null
+++ b/lib/+artoa/+controller/generateSoundSourceColors.m
@@ -0,0 +1,14 @@
+function [] = generateSoundSourceColors()
+%GENERATESOUNDSOURCECOLORS Generates unique identifier value for a sound source.
+%   Generates a 1D vector with values between 0 and 1. This vector is used
+%   to identify sound sources by color in the timeOfArrival plot.
+
+global artoaWorkspace artoaDataInput;
+
+soundsourceNames = fieldnames(artoaDataInput.soundsources);
+
+artoaWorkspace.soundSourceColorId = ...
+    [1:length(soundsourceNames)] / length(soundsourceNames);
+
+end
+
diff --git a/lib/+artoa/+controller/loadSoundSourceFile.m b/lib/+artoa/+controller/loadSoundSourceFile.m
index f2913171c24308cc8d9c10f7d9c261061456ecef..c71ee04e090448b5caf4c12a898d68e76086fc30 100644
--- a/lib/+artoa/+controller/loadSoundSourceFile.m
+++ b/lib/+artoa/+controller/loadSoundSourceFile.m
@@ -19,6 +19,7 @@ end
 artoaDataInput.soundsources = artoa.load.soundsources(filepath);
 
 %% Update workspace
+artoa.controller.generateSoundSourceColors();
 %artoa.controller.copyRfbToWorkspace();
 
 %% Update menu buttons