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