[go: up one dir, main page]

Menu

Tree [91f3b1] dev /
 History

HTTPS access


File Date Author Commit
 cmake-modules 2014-03-27 Paul Brossier Paul Brossier [b821a9] CMakeLists.txt: use local Eigen3 if available
 conda.recipe 2016-02-17 Thomas Fillon Thomas Fillon [fb3575] Conda: Remove glibc requirement
 doc 2014-07-14 Thomas Fillon Thomas Fillon [d5062c] Make install options default to ON for FFTW3, M...
 examples 2014-03-28 mckelvin mckelvin [d174f4] compatible with old extensions
 externals 2014-07-08 Thomas Fillon Thomas Fillon [b6b605] Add eigen directory in external
 matlab 2014-01-05 mckelvin mckelvin [22896a] cmake: WITH_MATLAB_MEX: build matlab mex and in...
 resources 2011-11-07 Benoit Mathieu Benoit Mathieu [8654f6] initial import, published version 0.63
 src_cpp 2016-02-16 Thomas Fillon Thomas Fillon [aca467] Fix yaafecoreH5.cpp after changes in HDF5 libra...
 src_python 2016-02-13 Thomas Fillon Thomas Fillon [e868e6] Install: make Yaafe python script executable fo...
 .binstar.yml 2016-02-17 Thomas Fillon Thomas Fillon [0b7ee2] Conda: Remove external channels
 .dockerignore 2016-02-11 Thomas Fillon Thomas Fillon [202d46] Add .dockerignore
 .gitignore 2014-03-27 Paul Brossier Paul Brossier [877e28] .gitignore: re-add doc/build
 .gitmodules 2014-01-24 mckelvin mckelvin [f6b5f9] DataFlow : support stringify,loads; fix memleaks
 .travis.yml 2014-07-08 Thomas Fillon Thomas Fillon [4a7a9e] feature(travis): conditional install on externa...
 CITATION.rst 2014-04-01 Thomas Fillon Thomas Fillon [3eec4d] Update markup in CITATION.rst
 CMakeLists.txt 2014-07-15 Thomas Fillon Thomas Fillon [f677f8] minor change in CMakeLists.txt
 COPYING 2011-11-07 Benoit Mathieu Benoit Mathieu [8654f6] initial import, published version 0.63
 COPYING.LESSER 2011-11-07 Benoit Mathieu Benoit Mathieu [8654f6] initial import, published version 0.63
 DISCLAIMER 2011-11-07 Benoit Mathieu Benoit Mathieu [8654f6] initial import, published version 0.63
 Dockerfile 2016-02-25 Thomas Fillon Thomas Fillon [45940c] Fix Dockerfile
 INSTALL_WINDOWS 2014-03-19 Georg Holzmann Georg Holzmann [760d13] windows compilation instructions
 README.rst 2016-02-25 Thomas Fillon Thomas Fillon [91f3b1] Update readme with Docker and Conda installatio...
 docker-entrypoint.sh 2016-02-12 Thomas Fillon Thomas Fillon [fe8783] Update Dockerfile setup: add entrypoint
 install.sh 2014-07-14 Thomas Fillon Thomas Fillon [a6d185] fix(install.sh): fix typo
 requirements.txt 2013-12-29 mckelvin mckelvin [996a74] tuning .travis.yml
 yaafe-config.cmake 2011-11-07 Benoit Mathieu Benoit Mathieu [8654f6] initial import, published version 0.63

Read Me

Yaafe

Yet Another Audio Feature Extractor

Install

Conda

<object data="https://anaconda.org/yaafe/yaafe/badges/installer/conda.svg" type="image/svg+xml">conda</object>

Yaafe can be easily install with conda. To install this package with conda run:

conda install -c https://conda.anaconda.org/yaafe yaafe

Docker

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.

From sources

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:

  • libsndfile: enable reading WAV files format (highly recommanded)
  • libmpg123: enable reading MP3 audio files
  • HDF5 >= 1.8: enable H5 output format
  • liblapack: enable some audio features (LSF)
  • FFTW3: use FFTW instead of Eigen for FFT computations (pay attention to licensing issues when linking with the GPL FFTW3 library).

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
Several options can control Yaafe compilation. More details can be found at:
http://yaafe.sourceforge.net/manual/install.html
Environment

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

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.

License

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.

Support

To get help with YAAFE, use the mailing-list yaafe-users@lists.sourceforge.net (registration at https://lists.sourceforge.net/lists/listinfo/yaafe-users ).

Credits

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.