Mercurial > hg > mauch-mirex-2010
view _beattracker/getmeasures4.m @ 9:4ea6619cb3f5 tip
removed log files
author | matthiasm |
---|---|
date | Fri, 11 Apr 2014 15:55:11 +0100 |
parents | b5b38998ef3b |
children |
line wrap: on
line source
function out = getmeasures4(fname,ts); if nargin<2 % optional argument to hand label the timesignature ts = 0; end sz = wavread(fname,'size'); [x fs] = wavread(fname); x = mean(x,2); if fs~=11025, x = resample(x,11025,fs); end x = x + randn(length(x),1) * 0.0000001; df = get_dfs(x,bt_parms(0.01161*4)); disp 'onset detection function' [beats,localscore,timesig] = newtt_hmm_dp(df{1}); disp 'beats' % [bcf,frame] = getbcfs2(fname,beats); % if~timesig, timesig = 4; end % % if ts % measures = bcfm(bcf.spec,beats,ts); % else % measures = bcfm(bcf.spec,beats,timesig); % end reduced_fs = 86.12; % x = resample(x,reduced_fs,11025); % x = abs(x); winlength = round(reduced_fs/10/2)*2; win = gausswin(winlength); earlybeats = [0 mean([beats(2:end);beats(1:end-1)])]; % for iBeat = 1:length(beats) % beatindex = max(round(beats(iBeat)/(44100/reduced_fs)),winlength/2+1); % earlybeatindex = max(round(earlybeats(iBeat)/(44100/reduced_fs)),winlength/2+1); % % beatstrength = sum(x(beatindex-winlength/2+(1:winlength)) .* win); % beatstrength = sum(localscore(beatindex-winlength/2+(1:winlength))' .* win); % % earlybeatstrength = sum(x(earlybeatindex-winlength/2+(1:winlength)) % % .* win); % earlybeatstrength = sum(localscore(earlybeatindex-winlength/2+(1:winlength))' .* win); % if earlybeatstrength > 1.5 * beatstrength % beats(iBeat) = earlybeats(iBeat); % end % end out.beats = beats/44100; % out.measures = measures/44100; % out.timesig = timesig; % out.df = df{1};