annotate help_html/source/help_Separators.m @ 38:c7d11a428a0d tip master

Merge branch 'develop' * develop: Updated copyright year.
author Christopher Hummersone <c.hummersone@surrey.ac.uk>
date Tue, 16 May 2017 12:15:34 +0100
parents 8f36d7072f2f
children
rev   line source
c@0 1 %% Separation Algorithms
c@0 2 %
c@0 3 % Separation algorithms passed to the <help_MASSEF_execute.html
c@0 4 % MASSEF.execute> method have a small number of requirements. Specifically,
c@0 5 % the algorithm should be implemented as a class, with some required
c@0 6 % methods and properties, detailed below.
c@0 7 %
c@0 8 %% Required Methods
c@0 9 %
c@0 10 % There is only one required method for the separation algorithm:
c@0 11 % |separate|. The algorithm may have any number of additional methods,
c@0 12 % which may accept and return any number of arguments.
c@0 13 %
c@0 14 % The |separate| method should have the following signature:
c@0 15 %
c@0 16 % [signals,masks,est_azis,est_eles] = obj.separate(mixture)
c@0 17 %
c@0 18 % where |obj| is the separation algorithm object, |signals| are the
c@0 19 % estimated signals, |masks| are time-frequency masks, |est_azis| are the
c@0 20 % estimated azimuths, |est_eles| are the estimated elevations, and
c@0 21 % |mixture| is the time-domain mixture signal.
c@0 22 %
c@0 23 % Time-domain signals may contain any number of channels, stored in the
c@0 24 % columns of their matrices. In addition, |signals| may have a third
c@0 25 % dimension, used to carry different estimations. Multiple estimations
c@0 26 % facilitate, for example, outputs due to binary and ratio masks. The masks
c@0 27 % in |masks| should have dimensions |[N F C E]| where |N| is the number of
c@0 28 % frames, |F| is the number of frequency bins/channels, |C| is the number
c@0 29 % of audio channels, and |E| is the number of estimations. |est_azis| and
c@0 30 % |est_eles| may be a vector, with an element for each source; the first
c@0 31 % element is the target source, subsequent elements are interferers.
c@0 32 %
c@0 33 % Although all outputs must be provided by the method, outputs that are not
c@0 34 % estimated may be specified as an empty array.
c@0 35 %
c@0 36 %% Required Properties
c@0 37 %
c@0 38 % There are two required properties for the separation algorithm:
c@0 39 %
c@0 40 % * |label|&mdash;a label for the instance of the algorithm (char array);
c@0 41 % and
c@0 42 % * |estTag|&mdash;tags for the estimated outputs (cell array of strings).
c@0 43 %
c@0 44 % These properties are both reported in the results. The algorithm may have
c@0 45 % any number of additional properties.
c@0 46 %
c@0 47 %% MASSEFseparator base class
c@0 48 %
c@0 49 % The |MASSEFseparator| class is provided for use as a base class for
c@0 50 % separation algorithms. The |separate()| method is abstract and hence must
c@11 51 % be implemented in the derived class. See the <help_Example.html Example>
c@11 52 % page for an example of the use of |MASSEFseparator|.
c@0 53 %
c@0 54 %% See also
c@0 55 % <help_MASSEF.html MASSEF>, <help_MASSEF_execute.html MASSEF.execute>.
c@0 56 %
c@0 57 % <html>
c@0 58 % <hr>
c@37 59 % <p>Copyright &copy; 2017 <a href="http://www.surrey.ac.uk">University of Surrey</a><br>
c@0 60 % <a href="http://iosr.uk">Institute of Sound Recording, University of Surrey, UK</a></p>
c@0 61 % </html>