Yaafe can be easily install with conda. To install this package with conda run:
conda install -c https://conda.anaconda.org/yaafe yaafe
Yaafe can also be install through Docker.
Get the official Yaafe image from Yaafe repository on Docker Hub:
docker pull yaafe/yaafe docker tag yaafe yaafe/yaafe
or build it from the sources directory:
docker build --tag=yaafe .
Following both of the method above, you then have a docker image tagged as yaafe. The yaafe command is the entrypoint for that docker image so you can run 'yaafe' from the command line through docker run yaafe. For example:
docker run -it yaafe --help docker run -it yaafe --volume=$(pwd):/wd --workdir=/wd -c resources/featureplan -r 16000 --resample resources/yaafe_check.wav
On Linux, it can be usefull to create an alias for it:
alias yaafe='docker run -it --rm=true --volume=$(pwd):/wd --workdir=/wd yaafe'
You could then simply run:
yaafe --help yaafe -l
et voilà !
If you need to set the docker user as the current user on the host, you could try to run docker with the -u $(id -u):$(id -g) option
docker run -it --rm=true --volume=$(pwd):/wd --workdir=/wd -u $(id -u):$(id -g) yaafe -c resources/featureplan -o h5 -r 16000 --resample resources/yaafe_check.wav
Last but not least, the entry-point for the yaafe docker image is smart :
every command that start with a dash - will be pass as options to the yaafe command inside the docker container
every command that does not start with a dash will be treated as a regular command. For example:
docker run -it yaafe /bin/bash
will give you access to a bash terminal inside the docker. And
docker run -it yaafe yaafe-engine --help
will launch the yaafe-engine batch processing tool.
Yaafe source code should compile on linux and MacOsX platform, and uses CMake as compilation tool. Yaafe requires third-party libraries to enable specific features. Some of these libraries may already be available on your system.
The argtable library is required.
Depending on optional features you want to use, other librairies may be used:
To use the yaafe script you need Python >= 2.5, and the numpy package.
Once previous libraries are installed (some may have been locally installed in <lib-path>), you can compile with the following steps:
git submodule init # to prepare Eigen code under the externals directory git submodule update mkdir build cd build ccmake -DCMAKE_PREFIX_PATH=<lib-path> -DCMAKE_INSTALL_PREFIX=<install-path> .. make make install
To easily use Yaafe, you should set the following environment vars:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DEST_DIR/lib
On MacOSX replace LD_LIBRARY_PATH by DYLD_FALLBACK_LIBRARY_PATH
If you use Matlab, you can set your MATLABPATH var:
export MATLABPATH=$MATLABPATH:$DEST_DIR/matlab
Documentation is also available online: http://yaafe.sourceforge.net/
To build documentation, you need Sphinx. Before building documentation, you should set your environment correctly so that sphinx builds documentation with automatic features documentation.
To build documentation, just run make doc in the build directory. Documentation is built in doc/html.
YAAFE is released under the version 3 of the GNU Lesser General Public License. Read COPYING and COPYING.LESSER for more details. The user should also read DISCLAIMER before linking with optional libraries which have different license policy.
To get help with YAAFE, use the mailing-list yaafe-users@lists.sourceforge.net (registration at https://lists.sourceforge.net/lists/listinfo/yaafe-users ).
Yaafe was first developed at Telecom Paristech / AAO Team. It uses several great open-source projects like Eigen, Smarc, libsndfile, mpg123, HDF5.
If you want to cite Yaafe in a publication, please see CITATION.