Mercurial > hg > massef
changeset 16:90887c0061d4
Merge branch 'develop’. Various updates to documentation, including new MASSEF.doc() method for launching the html documentation.
author | Christopher Hummersone <c.hummersone@surrey.ac.uk> |
---|---|
date | Tue, 07 Mar 2017 12:23:29 +0000 |
parents | 53ace3ec800c (current diff) bdd77fe783e4 (diff) |
children | de809787c021 |
files | |
diffstat | 11 files changed, 142 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/MASSEF.m Fri Mar 03 10:37:21 2017 +0000 +++ b/MASSEF.m Tue Mar 07 12:23:29 2017 +0000 @@ -31,10 +31,9 @@ % Type % % MASSEF.start -% doc +% MASSEF.doc % -% and click 'Multichannel audio source separation evaluation framework -% (MASSEF)' under 'Supplemental Software' for more information. +% for more information. % % MASSEF can be used to evaluate and compare separation algorithms, % provided that the algorithms conform to the required format. Consult @@ -77,6 +76,7 @@ % and separators. % save - Save the framework's data and results. % Static methods: +% doc - Display the framework documentation. % start - Start the framework. % install - Download and install MASSEF dependencies. % @@ -199,11 +199,9 @@ % separation algorithm instances contained in SEPARATORS should % conform to the required format. Type % - % doc + % MASSEF.doc % - % and click 'Multichannel audio source separation evaluation - % framework (MASSEF)' under 'Supplemental Software' for more - % information. + % for more information. % % The EXECUTE method performs evaluations of the algorithm % according to the data returned by the algorithm, and the @@ -537,6 +535,15 @@ methods (Static) + function doc + %DOC Display the framework documentation. + try + web(fullfile(MASSEF.dir, 'help_html', 'help_Index.html'), '-helpbrowser') + catch + web(fullfile(MASSEF.dir, 'help_html', 'help_Index.html')) + end + end + function start %START Start the framework. %
--- a/README.md Fri Mar 03 10:37:21 2017 +0000 +++ b/README.md Tue Mar 07 12:23:29 2017 +0000 @@ -48,11 +48,9 @@ Experiments are conducted with the MASSEF class. For more information about the various framework options, type ``` -doc +MASSEF.doc ``` -and click 'Multichannel audio source separation evaluation framework (MASSEF)' under 'Supplemental Software' for more information. - More information on implementing separation algorithms can be found in the help documentation. ## Cite Me
--- a/help_html/helptoc.xml Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/helptoc.xml Tue Mar 07 12:23:29 2017 +0000 @@ -5,6 +5,7 @@ <tocitem target="help_MASSEF.html">MASSEF <tocitem target="help_MASSEF_evaluate.html">MASSEF.evaluate</tocitem> <tocitem target="help_MASSEF_execute.html">MASSEF.execute</tocitem> + <tocitem target="help_MASSEF_doc.html">MASSEF.doc</tocitem> <tocitem target="help_MASSEF_install.html">MASSEF.install</tocitem> <tocitem target="help_MASSEF_save.html">MASSEF.save</tocitem> <tocitem target="help_MASSEF_start.html">MASSEF.start</tocitem>
--- a/help_html/source/help_Example.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/help_Example.m Tue Mar 07 12:23:29 2017 +0000 @@ -58,6 +58,10 @@ p = messl_massef(fs); +%% +% |messl_massef| is a wrapper class for the <https://github.com/mim/messl +% messl> algorithm. The class implementation is shown below. + %% Choose MASSEF options % Specify the parameters of the MASSEF object: @@ -78,6 +82,14 @@ resultsTable = massef.results.data; +%% MESSL wrapper implementation +% <matlab:edit(fullfile(MASSEF.dir,'help_html','source','messl_massef.m')) +% Open in the MATLAB editor>. +% +% <include>messl_massef.m</include> +% +% See <help_Separators.html Separation Algorithms> for more information. + %% See also % <help_MASSEF.html MASSEF>, <help_MASSEFresults.html MASSEFresults>. %
--- a/help_html/source/help_Index.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/help_Index.m Tue Mar 07 12:23:29 2017 +0000 @@ -12,8 +12,9 @@ % evaluate the ideal masks for the purposes of comparison. % % Sources may have any number of channels; the framework evaluates each -% channel. The use of iosr.bss.mixture objects facilitate the evaluation of -% spatialised mixtures (e.g. binaural). +% channel. The use of <matlab:doc('iosr.bss.mixture') |iosr.bss.mixture|> +% objects facilitate the evaluation of spatialised mixtures (e.g. +% binaural). % % The framework comprises two main classes: % @@ -40,7 +41,8 @@ % % The framework can be run in two ways: % -% # by providing |iosr.bss.mixture| objects and separation algorithms, or +% # by providing <matlab:doc('iosr.bss.mixture') |iosr.bss.mixture|> +% objects and separation algorithms, or % # by providing estimate and true source wav files. % % If 1), the framework operates as described above. In addition, the
--- a/help_html/source/help_MASSEF.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/help_MASSEF.m Tue Mar 07 12:23:29 2017 +0000 @@ -27,6 +27,10 @@ % considered at any one time. The default is 128.</td> % </tr> % <tr> +% <td><tt>creationDate</tt></td> +% <td>Date the object was created (read-only).</td> +% </tr> +% <tr> % <td><tt>dir</tt></td> % <td>The MASSEF installation directory (read-only).</td> % </tr> @@ -59,6 +63,10 @@ % href="help_MASSEF_execute.html">MASSEF.execute</a> finishes. % The default is <tt>'Results/results.mat'</tt>.</td> % </tr> +% <tr> +% <td><tt>saveDate</tt></td> +% <td>Date the object was last saved (read-only).</td> +% </tr> % </table> % </html> % @@ -80,6 +88,10 @@ % <td><a href="help_MASSEF_execute.html">execute</a></td> % <td>Run the framework using the input mixtures and separators.</td> % </tr> +% <tr> +% <td><a href="help_MASSEF_save.html">save</a></td> +% <td>Save the framework's data and results.</td> +% </tr> % </table> % </html> % @@ -87,6 +99,9 @@ % % <html> % <table> +% <tr> +% <td><a href="help_MASSEF_doc.html">doc</a></td> +% <td>Display the framework documentation.</td> % </tr> % <tr> % <td><a href="help_MASSEF_install.html">install</a></td> @@ -95,6 +110,7 @@ % <tr> % <td><a href="help_MASSEF_start.html">start</a></td> % <td>Start the framework.</td> +% </tr> % </table> % </html> %
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/help_html/source/help_MASSEF_doc.m Tue Mar 07 12:23:29 2017 +0000 @@ -0,0 +1,14 @@ +%% MASSEF.doc +% Display the framework documentation. +% +%% Syntax +% +% MASSEF.doc +% +% |MASSEF.doc| opens the framework's documentation in the MATLAB browser. +% +% <html> +% <hr> +% <p>Copyright © 2016 <a href="http://www.surrey.ac.uk">University of Surrey</a><br> +% <a href="http://iosr.uk">Institute of Sound Recording, University of Surrey, UK</a></p> +% </html>
--- a/help_html/source/help_MASSEF_execute.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/help_MASSEF_execute.m Tue Mar 07 12:23:29 2017 +0000 @@ -8,12 +8,12 @@ % % |massef.execute(mixtures,separators)| runs the multichannel audio source % separation evaluation framework (MASSEF) using the <help_MASSEF.html -% MASSEF> instance |massef|, the array of |iosr.bss.mixture| objects -% |mixtures| and the array (or cell array) of instances of separation -% algorithms contained in |separators|. Separation is performed for all -% combinations of separators and mixtures. The separation algorithm -% instances contained in |separators| should conform to the -% <help_Separators.html required format>. +% MASSEF> instance |massef|, the array of <matlab:doc('iosr.bss.mixture') +% |iosr.bss.mixture|> objects |mixtures| and the array (or cell array) of +% instances of separation algorithms contained in |separators|. Separation +% is performed for all combinations of separators and mixtures. The +% separation algorithm instances contained in |separators| should conform +% to the <help_Separators.html required format>. % % The |execute| method performs evaluations of the algorithm according to % the data returned by the algorithm, and the options provided to @@ -43,7 +43,7 @@ % The |execute| method also calculates and evaluates the ideal binary and % ratio masks using the signal-related metrics utilised for the algorithm % evaluation. The masks are calculated using the settings that are local to -% each |iosr.bss.mixture| object. +% each <matlab:doc('iosr.bss.mixture') |iosr.bss.mixture|> object. % % Lastly, the framework captures the estimated azimuth and elevation of the % targets and interferer(s), if they are returned.
--- a/help_html/source/help_Separators.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/help_Separators.m Tue Mar 07 12:23:29 2017 +0000 @@ -48,7 +48,8 @@ % % The |MASSEFseparator| class is provided for use as a base class for % separation algorithms. The |separate()| method is abstract and hence must -% be implemented in the derived class. +% be implemented in the derived class. See the <help_Example.html Example> +% page for an example of the use of |MASSEFseparator|. % %% See also % <help_MASSEF.html MASSEF>, <help_MASSEF_execute.html MASSEF.execute>.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/help_html/source/messl_massef.m Tue Mar 07 12:23:29 2017 +0000 @@ -0,0 +1,69 @@ +classdef messl_massef < MASSEFseparator +%MESSL_MASSEF Wrapper class for the MESSL algorithm. +% +% A wrapper class for the MESSL algorithm (https://github.com/mim/messl). +% +% MESSL_MASSEF properties: +% label - A label for the instance of the algorithm (shown in +% the results file). +% estTag - Tags for the estimated outputs. +% fs - The sampling frequency that the separator will run +% at. +% +% MESSL_MASSEF methods: +% messl_massef - Create an instance of the algorithm. +% separate - Run the separation algorithm on the time-domain +% mixture. +% +% See also MASSEF. + +% Copyright 2016 University of Surrey. + + properties % Public properties + fs % Sampling frequency + end + + methods + + function obj = messl_massef(fs) % constructor + %MESSL_MASSEF Create an instance of the separation algorithm + % + % OBJ = MESSL_MASSEF(FS) creates an instance of the MESSL + % algorithm at the sampling frequency FS. + + % this code creates an instance of the object + obj.label = 'MESSL'; + obj.estTag = {'Fancier usage'}; + obj.fs = fs; + + % check dependency is compiled + iosr.general.checkMexCompiled('logProbGmm.cpp'); + + end + + % separation + function [signal,mask,est_azis,est_eles] = separate(obj,mixture) + %SEPARATE separate the mixture + % + % SIGNAL = OBJ.SEPARATE(MIXTURE) separates the time-domain + % mixture signal MIXTURE and produces the estimated output + % SIGNAL. + + lr = mixture'; + tau = tauGrid(0.15, obj.fs, 31); + + m = messl(lr, tau, 2, 'vis', 1, 'ildPriorPrec', 3, ... + 'GarbageSrc', 1, 'sr', 16000, 'vis', 0); + + m2 = prob2mask(m); + signal = reconstruct(m2, lr, 1); + + mask = []; + est_azis = []; + est_eles = []; + + end + + end + +end
--- a/help_html/source/publishHelp.m Fri Mar 03 10:37:21 2017 +0000 +++ b/help_html/source/publishHelp.m Tue Mar 07 12:23:29 2017 +0000 @@ -11,6 +11,7 @@ publish('help_MASSEF.m',options); publish('help_MASSEF_evaluate.m',options); publish('help_MASSEF_execute.m',options); +publish('help_MASSEF_doc.m',options); publish('help_MASSEF_install.m',options); publish('help_MASSEF_save.m',options); publish('help_MASSEF_start.m',options);