function [Chroma,Times] = load_chroma(Track)
% [Chroma,Times] = load_chroma(Track)
%     Read in features for data items defined by a track ID string Track.
%     Chroma returns the 12xN matrix of chroma features, one per beat.
%     Times returns the start times of each beat.
% 2010-04-07 Dan Ellis [email protected] after loadftrs_mirex.m

% To use this:
% 
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10 > mv data data.local
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10 > mkdir -p data/chroma
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10 > cd data/chrma
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10/data/chroma > ln -s /u/dpwe/projects/chords08/beatles/beatchrmftrs beatles
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10/data/chroma > cd ..
%  dpwe-MacBook-Pro:~/docs/classes/e4896-2013-01/practicals/prac10/data > ln -s ../data.local/labels .
%
% .. and replace load_chroma.m with this function
% Then accuracy on beatles test goes from 75.5% to 78.8%
%
% or now:
%  > rm data
%  > rm load_chroma.m
%  > ln -s data100400 data
%  > ln -s load_chroma_100_400.m load_chroma.m
% then to switch back
%  > rm data
%  > rm load_chroma.m
%  > ln -s data.local data
%  > ln -s load_chroma_orig.m load_chroma.m


% Common filename prefix
%fn = fullfile('data','chroma', Track);
fn = fullfile('data','chroma', [Track,'-400']);
Data = load(fn);

% load in low-band chroma
fn2 = fullfile('data','chroma', [Track,'-100']);
Data2 = load(fn2);

Times = Data.bts;

Chroma = [Data.F;Data2.F];

% Normalize chroma to have maximum value 1 in each column
Chroma = Chroma.^.25;
MaxVals = max(Chroma);
Chroma = Chroma.*repmat(1./MaxVals, size(Chroma,1), 1);