diff toolboxes/MIRtoolbox1.3.2/MIRToolbox/mirfluctuation.m @ 0:e9a9cd732c1e tip

first hg version after svn
author wolffd
date Tue, 10 Feb 2015 15:05:51 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/toolboxes/MIRtoolbox1.3.2/MIRToolbox/mirfluctuation.m	Tue Feb 10 15:05:51 2015 +0000
@@ -0,0 +1,46 @@
+function varargout = mirfluctuation(orig,varargin)
+%   f = mirfluctuation(x) calculates the fluctuation strength, indicating the
+%       rhythmic periodicities along the different channels.
+%   Optional arguments:
+%       mirfluctuation(...,'MinRes',mr) specifies the minimal frequency
+%           resolution of the resulting spectral decomposition, in Hz.
+%               Default: mr = .01 Hz
+%       mirfluctuation(...,'Summary') returns the summary of the fluctuation,
+%           i.e., the summation along the critical bands.
+%
+% E. Pampalk, A. Rauber, D. Merkl, "Content-based Organization and 
+% Visualization of Music Archives", 
+
+        sum.key = 'Summary';
+        sum.type = 'Boolean';
+        sum.default = 0;
+    option.sum = sum;
+
+        mr.key = 'MinRes';
+        mr.type = 'Integer';
+        mr.default = .01;
+    option.mr = mr;
+
+specif.option = option;
+     
+varargout = mirfunction(@mirfluctuation,orig,varargin,nargout,specif,@init,@main);
+
+
+function [f type] = init(x,option)
+if iscell(x)
+    x = x{1};
+end
+if isamir(x,'miraudio') && not(isframed(x))
+    x = mirframe(x,.023,.5);
+end
+m = mirspectrum(x,'Power','Terhardt','Bark','dB','Mask');
+f = mirspectrum(m,'AlongBands','Max',10,'Window',0,...
+                  'Resonance','Fluctuation','MinRes',option.mr);
+if option.sum
+    f = mirsummary(f);
+end
+type = 'mirspectrum';
+
+
+function f = main(f,option,postoption)
+f = set(f,'Title','Fluctuation');
\ No newline at end of file