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