function Chroma = labels_to_chroma(Labels)
% Chroma = labels_to_chroma(Labels)
% Generate a "canonical" chroma feature sequence based on
% labels. Assume Labels(i) is 0..24, with 0 = no chord,
% 1 = Cmajor, 2 = C#major ... 13 = Cminor .. 24 = Bminor.
% Corresponding columns of Chroma are simple triad for those
% chords.
% 2010-04-07 Dan Ellis dpwe@ee.columbia.edu
nlab = length(Labels);
nchr = 12;
Chroma = zeros(nchr,nlab);
for i = 1:nlab
lab = Labels(i);
if lab > 12
% minor chord
Chroma(1+mod(lab-13+[0 3 7],12),i) = 1;
elseif lab > 0
% major chord
Chroma(1+mod(lab-1+[0 4 7],12),i) = 1;
end
end