Mercurial > hg > mauch-mirex-2010
diff _misc/featureextraction/.svn/text-base/beatchroma.m.svn-base @ 8:b5b38998ef3b
added all that other stuff
author | matthiasm |
---|---|
date | Fri, 11 Apr 2014 15:54:25 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/_misc/featureextraction/.svn/text-base/beatchroma.m.svn-base Fri Apr 11 15:54:25 2014 +0100 @@ -0,0 +1,25 @@ +function bc = beatchroma(chromag, beats, frame_t) + +% assigning beats to frames +nBeat = length(beats); +nFrame = size(chromag, 2); +beatassign = zeros(1,nFrame); +iBeat = 1; + +for iFrame = 1:nFrame + if frame_t(iFrame) > beats(iBeat) && frame_t(iFrame) < beats(end) + iBeat = iBeat + 1; + end + beatassign(iFrame) = iBeat; +end +% averaging over frames belonging to one beat +fprintf(1,'__ preprocessing chromagram... ___________________________________________\n'); +bc = zeros(nBeat,12); +chromag(:,isnan(sum(chromag))) = 1; + +for iBeat = 1:nBeat + bc(iBeat,:) = median(chromag(:,beatassign == iBeat),2); + if ~any(isnan(bc(iBeat,:))) + bc(iBeat,:) = bc(iBeat,:)/max(bc(iBeat,:)); + end +end \ No newline at end of file