wolffd@0: function varargout = mirhcdf(orig,varargin) wolffd@0: % df = mirhcdf(x) calculates the Harmonic Change Detection Function wolffd@0: % related to x. wolffd@0: % wolffd@0: % C. A. Harte and M. B. Sandler, Detecting harmonic change in musical wolffd@0: % audio, in Proceedings of Audio and Music Computing for Multimedia wolffd@0: % Workshop, Santa Barbara, CA, 2006. wolffd@0: wolffd@0: specif.defaultframelength = .743; wolffd@0: specif.defaultframehop = .1; wolffd@0: varargout = mirfunction(@mirhcdf,orig,varargin,nargout,specif,@init,@main); wolffd@0: wolffd@0: wolffd@0: function [df type] = init(orig,option) wolffd@0: if isamir(orig,'mirscalar') wolffd@0: df = orig; wolffd@0: else wolffd@0: if isframed(orig) wolffd@0: tc = mirtonalcentroid(orig); wolffd@0: else wolffd@0: tc = mirtonalcentroid(orig,'Frame'); wolffd@0: end wolffd@0: df = mirflux(tc); wolffd@0: end wolffd@0: type = 'mirscalar'; wolffd@0: wolffd@0: wolffd@0: function df = main(df,option,postoption)