This is a copy of FASST toolbox modified to build with QT5 on Mac OS X
This software is released under the Q Public License Version 1.0. Please find a copy of the license at http://opensource.org/licenses/QPL-1.0.
FASST has the following dependencies:
- CMake to build
- Qt for the XML I/Os and the future GUI
- libsndfile for the WAV file I/Os
- Eigen for the linear algebra and the FFT
- (optional) numpy for python scripts
This guide assumes that you use Apple's developer tools and the brew package manager (which is trivial to install and simplifies a lot of things for developers on OS X).
Install all the dependencies with the following commands:
brew install cmake qt libsndfile eigen python
pip install numpy
mkdir build
cd build
cmake ..
make
Example scripts will be located in the build/examples directory.
The typical workflow is to use some scripts to initialize the source model, write it to an XML file and call FASST binaries.
The first example script is provided in Python and MATLAB. It separates three musical sources from an instantaneous mixture.
python example.py
To run the MATLAB example, simply cd
to the example directory and type example
The second example script is provided in MATLAB. It performs source separation on noisy speech data from the first track of the 2nd CHiME challenge (http://spandh.dcs.shef.ac.uk/chime_challenge/). To run this script, you will need:
- The development and/or the test dataset downloadable at http://spandh.dcs.shef.ac.uk/chime_challenge/chime2_task1.html
- The following archive containing additional annotation files and models: tar and zip
In addition, you need to edit the script to define the directories where the data and the models are.
The script takes 3 arguments:
- The dataset ('devel' or 'test')
- The SNR level ('m6dB', 'm3dB', '0dB', '3dB', '6dB', '9dB')
- The filename (something like 's1_bgaa9a.wav')
As a prerequisite, you need to be familiar with the FASST source model. If not, you can refer to this paper where it is fully described.
You have to be aware that some features that are present in the MATLAB version of FASST are still not implemented, here is a quick list:
- ERB transform
- GMM and HMM spectral models
- Partially-adaptative spectral parameters
- Only one additive noise model
FASST is decomposed in 3 different executables. Here are their descriptions and usages:
Usage: comp-rx input-wav-file input-xml-file output-bin-file
Usage: model-estimation input-xml-file input-bin-file output-xml-file
Usage: source-estimation input-wav-file input-xml-file output-wav-dir