annotate _beattracker/getbcfs2.m @ 9:4ea6619cb3f5 tip

removed log files
author matthiasm
date Fri, 11 Apr 2014 15:55:11 +0100
parents b5b38998ef3b
children
rev   line source
matthiasm@8 1 function [bcf,frame,beats] = getbcfs2(fname,beats);
matthiasm@8 2
matthiasm@8 3
matthiasm@8 4
matthiasm@8 5 if nargin<2
matthiasm@8 6
matthiasm@8 7 [x fs] = wavread(fname);
matthiasm@8 8 x = mean(x,2);
matthiasm@8 9 if fs~=44100
matthiasm@8 10 x = resample(x,44100,fs);
matthiasm@8 11 end
matthiasm@8 12 p = bt_parms;
matthiasm@8 13
matthiasm@8 14 df = get_dfs(x(1:4:end),bt_parms(0.01161*4));
matthiasm@8 15 [beats,timesig] = newtt_mm(df{1},p);
matthiasm@8 16 beats = beatadjust(beats,df{1});
matthiasm@8 17 end
matthiasm@8 18
matthiasm@8 19
matthiasm@8 20
matthiasm@8 21 beats = beats(:)';
matthiasm@8 22
matthiasm@8 23
matthiasm@8 24 siz = wavread(fname,'size');
matthiasm@8 25 [x fs] = wavread(fname);
matthiasm@8 26 x = mean(x,2);
matthiasm@8 27 % if siz(2)>1
matthiasm@8 28 % x = mean(x')';
matthiasm@8 29 % end
matthiasm@8 30
matthiasm@8 31 if fs ~= 44100
matthiasm@8 32 x = resample(x,44100,fs);
matthiasm@8 33 end
matthiasm@8 34
matthiasm@8 35 beats = round(beats);
matthiasm@8 36 beats(beats>length(x)) = [];
matthiasm@8 37 beats = sort(beats);
matthiasm@8 38 %beats = beats - 4096;
matthiasm@8 39 %beats(beats<1) = 1;
matthiasm@8 40
matthiasm@8 41 %
matthiasm@8 42 % spark = sparsekernel(110, 880, 36, 44100/16, 0.054);
matthiasm@8 43 % spark(1025:end,:) = [];
matthiasm@8 44 spark = 1;
matthiasm@8 45
matthiasm@8 46 for k=1:length(beats)-1
matthiasm@8 47 % [spec(k,:),mfcc(k,:), cq(k,:),hpcp(k,:),chroma(k,:)] = chromaframe(x(beats(k):beats(k+1)),spark);
matthiasm@8 48 [spec(k,:)] = chromaframe(x(beats(k):beats(k+1)),spark);
matthiasm@8 49
matthiasm@8 50 end
matthiasm@8 51
matthiasm@8 52
matthiasm@8 53
matthiasm@8 54 for k=1:size(spec,1)-1,
matthiasm@8 55
matthiasm@8 56 % bcf.spec(k) = dobeatkl(spec(k,:),spec(k+1,:));
matthiasm@8 57 % bcf.cq(k) = dobeatkl(cq(k,:).^2,cq(k+1,:).^2);
matthiasm@8 58 % bcf.hpcp(k) = dobeatkl(hpcp(k,:).^2,hpcp(k+1,:).^2);
matthiasm@8 59 % bcf.chroma(k) = dobeatkl(chroma(k,:).^2,chroma(k+1,:).^2);
matthiasm@8 60 % bcf.mfcc(k) = dobeatkl(mfcc(k,:).^2,mfcc(k+1,:).^2);
matthiasm@8 61 bcf.spec(k) = dojsdiv2(spec(k,:),spec(k+1,:));
matthiasm@8 62 % bcf.cq(k) = dojsdiv2(cq(k,:),cq(k+1,:));
matthiasm@8 63 % bcf.hpcp(k) = dojsdiv2(hpcp(k,:),hpcp(k+1,:));
matthiasm@8 64 % bcf.chroma(k) = dojsdiv2(chroma(k,:),chroma(k+1,:));
matthiasm@8 65 % bcf.mfcc(k) = dojsdiv2(mfcc(k,:),mfcc(k+1,:));
matthiasm@8 66
matthiasm@8 67 end
matthiasm@8 68
matthiasm@8 69
matthiasm@8 70 % bcf.spec=adapt_thresh(bcf.spec,2,1);
matthiasm@8 71
matthiasm@8 72 frame.spec = spec;
matthiasm@8 73
matthiasm@8 74 % % my added bit
matthiasm@8 75 % temp = 0*spec;
matthiasm@8 76 % for i=1:length(temp)-1
matthiasm@8 77 % temp(i)=spec(i)+0.2/spec(i+1);
matthiasm@8 78 % end
matthiasm@8 79 % frame.spec = temp;
matthiasm@8 80
matthiasm@8 81
matthiasm@8 82
matthiasm@8 83 % frame.cq = cq;
matthiasm@8 84 % frame.hpcp = hpcp;
matthiasm@8 85 % frame.chroma = chroma;
matthiasm@8 86 % frame.mfcc = mfcc;
matthiasm@8 87
matthiasm@8 88 % for i=1:222, [c,n] = meterTracker(wavread(files(i+2).name),44100); kc{i} = round(44100*c.measures); kn{i} = round(44100*n.measures); if~mod(i,10),i,end; clear c; clear n; end