{"id":13629785,"url":"https://github.com/Yaafe/Yaafe","last_synced_at":"2025-04-17T09:36:33.510Z","repository":{"id":49268016,"uuid":"11000404","full_name":"Yaafe/Yaafe","owner":"Yaafe","description":"Audio features extraction","archived":false,"fork":false,"pushed_at":"2021-06-21T07:33:00.000Z","size":1704,"stargazers_count":244,"open_issues_count":17,"forks_count":43,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-08T20:46:26.243Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yaafe.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.rst","codeowners":null,"security":null,"support":null}},"created_at":"2013-06-27T15:21:16.000Z","updated_at":"2024-11-07T11:25:50.000Z","dependencies_parsed_at":"2022-09-05T04:00:45.063Z","dependency_job_id":null,"html_url":"https://github.com/Yaafe/Yaafe","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yaafe%2FYaafe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yaafe%2FYaafe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yaafe%2FYaafe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yaafe%2FYaafe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yaafe","download_url":"https://codeload.github.com/Yaafe/Yaafe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249331996,"owners_count":21252674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T22:01:19.215Z","updated_at":"2025-04-17T09:36:33.076Z","avatar_url":"https://github.com/Yaafe.png","language":"C++","readme":"=======\n Yaafe\n=======\n\nYet Another Audio Feature Extractor\n+++++++++++++++++++++++++++++++++++\n\n\nBuild status\n============\n- Branch **master** : |travis_master|\n- Branch **dev** : |travis_dev|\n- Anaconda : |anaconda_build|\n\n.. |travis_master| image:: https://travis-ci.org/Yaafe/Yaafe.svg?branch=master\n    :target: https://travis-ci.org/Yaafe/Yaafe\n\n.. |travis_dev| image:: https://travis-ci.org/Yaafe/Yaafe.svg?branch=dev\n    :target: https://travis-ci.orgYaafe/Yaafe\n\n.. |anaconda_build| image:: https://anaconda.org/yaafe/yaafe/badges/installer/conda.svg\n   :target: https://anaconda.org/yaafe/yaafe/builds\n\n\nInstall\n=======\n\nConda\n-----\n\n.. |conda| image:: https://anaconda.org/yaafe/yaafe/badges/installer/conda.svg\n   :target: https://anaconda.org/conda-forge/yaafe\n\n|conda|\n\nYaafe can be easily install with `conda \u003chttp://conda.pydata.org\u003e`_. To install this package with conda run::\n\n  conda install -c conda-forge yaafe\n\n\nDocker\n------\n\n.. |docker| image:: https://badge.imagelayers.io/yaafe/yaafe:latest.svg\n   :target: https://imagelayers.io/?images=yaafe/yaafe:latest\n\n|docker|\n\nYaafe can also be install through `Docker \u003chttps://www.docker.com/\u003e`_.\n\nGet the official *Yaafe* image from `Yaafe repository on Docker Hub \u003chttps://hub.docker.com/r/yaafe/yaafe/\u003e`_::\n\n  docker pull yaafe/yaafe\n  docker tag yaafe yaafe/yaafe\n\nor build it from the sources directory::\n\n    docker build --tag=yaafe .\n\nFollowing both of the method above, you then have a docker image tagged as *yaafe*.\nThe ``yaafe`` command is the entrypoint for that docker image so you can run 'yaafe' from the command line through `docker run yaafe`. For example::\n\n    docker run -it yaafe --help\n    docker run -it yaafe --volume=$(pwd):/wd  --workdir=/wd -c resources/featureplan -r 16000 --resample resources/yaafe_check.wav\n\nOn Linux, it can be usefull to create an ``alias`` for it::\n\n  alias yaafe='docker run -it --rm=true --volume=$(pwd):/wd  --workdir=/wd yaafe'\n\nYou could then simply run::\n\n  yaafe --help\n  yaafe -l\n\net voilà !\n\nIf 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 ::\n\n    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\n\nLast but not least, the entry-point for the *yaafe* docker image is smart :\n\n- every command that start with a dash ``-`` will be pass as options to the ``yaafe`` command inside the docker container\n- every command that does not start with a dash will be treated as a regular command. For example::\n\n    docker run -it yaafe /bin/bash\n\nwill give you access to a bash terminal inside the docker. And ::\n\n    docker run -it yaafe yaafe-engine --help\n\nwill launch the  ``yaafe-engine` batch processing tool.\n\n\n\nFrom sources\n------------\n\n*Yaafe* source code should compile on *linux* and *MacOsX* platform, and uses CMake as compilation tool.\nYaafe requires third-party libraries to enable specific features. Some of these libraries may already be available on your system.\n\nThe `argtable \u003chttp://argtable.sourceforge.net/\u003e`_ library is required.\n\nThe `eigen \u003chttp://eigen.tuxfamily.org/\u003e`_  library is also required. You could either installed it through your regular packages manager (e.g. `libeigen3-dev \u003chttps://packages.debian.org/search?keywords=libeigen3-dev\u003e`__ on Debian) and then pass the ``-DWITH_EIGEN_LIBRARY=ON`` option flag to ``ccmake``. \nOr you can use the source code provided through the git submodule included in the Yaafe git repository and which you can get with the ``git submodule update --init`` command. *If you used ``git clone --recursive`` to clone Yaafe, you don't need this.*\n\n\nDepending on optional features you want to use, other librairies may be used:\n\n* `libsndfile \u003chttp://www.mega-nerd.com/libsndfile/\u003e`_: enable reading WAV files format (highly recommanded)\n* `libmpg123 \u003chttp://www.mpg123.de/api/\u003e`_: enable reading MP3 audio files\n* `HDF5 \u003chttp://www.hdfgroup.org/HDF5/\u003e`_ \u003e= 1.8: enable H5 output format\n* `liblapack \u003chttp://www.netlib.org/lapack/\u003e`_: enable some audio features (LSF)\n* `FFTW3 \u003chttp://www.fftw.org/\u003e`_: use FFTW instead of Eigen for FFT computations (pay attention to licensing issues when linking with the GPL FFTW3 library).\n\nTo use the *yaafe* script you need Python \u003e= 2.5, and the numpy package.\n\nOnce previous libraries are installed (some may have been locally installed in \u003clib-path\u003e),\nyou can compile with the following steps: ::\n\n mkdir build\n cd build\n ccmake -DCMAKE_PREFIX_PATH=\u003clib-path\u003e -DCMAKE_INSTALL_PREFIX=\u003cinstall-path\u003e ..\n make\n make install\n\nIf you use an external eigen library (and not the one provided by git submodule), don't forget to add the  flag: ::\n\n ccmake -DCMAKE_PREFIX_PATH=\u003clib-path\u003e -DCMAKE_INSTALL_PREFIX=\u003cinstall-path\u003e -DWITH_EIGEN_LIBRARY=ON ..\n\n\nSeveral options can control Yaafe compilation. More details can be found at:\n\thttp://yaafe.sourceforge.net/manual/install.html\n\n\nEnvironment\n~~~~~~~~~~~\n\nTo easily use Yaafe, you should set the following environment vars::\n\n export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DEST_DIR/lib\n\nOn MacOSX replace ``LD_LIBRARY_PATH`` by ``DYLD_FALLBACK_LIBRARY_PATH``\n\nThe output of ``make install`` should give you the INSTALL_DIR path (defaults to ``/usr/local``). The python files are installed in ``/usr/local/lib/python2.7/site-packages``, which is *not* by default in the python path on MacOSX.\nThe consequence is the error ``ERROR: cannot load yaafe packages:  No module named yaafelib``.\nThere are 3 ways to solve this problem :\n\n* The simplest way is to add the line ``sys.path.append(\"/usr/local/lib/python2.7/site-packages\")`` in ``/usr/local/bin/yaafe`` after ``from optparse import OptionParser``, but it won't let you use the yaafelib unless you add this line (and import sys) before each import of yaafelib.\n\n* You can use ``export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH`` or add it to your ~/.bash_profile, but this will affect other versions of python.\n* You can move the files to a site-package folder that is in your PYTHONPATH:\n\t* if you use Python 2: ``mv /usr/local/lib/python2.7/site-packages/yaafefeatures.py /usr/local/lib/python2.7/site-packages/yaafelib `python -c 'import sys, re ; print next(i for i in sys.path if re.match(\".*site-packages$\", i))'``\n\t* if you use Python 3: ``mv /usr/local/lib/python2.7/site-packages/yaafefeatures.py /usr/local/lib/python2.7/site-packages/yaafelib `python3 -c 'import sys, re ; print(next(i for i in sys.path if re.match(\".*site-packages$\", i)))'``\n\nIf you use Matlab, you can set your MATLABPATH var::\n\n export MATLABPATH=$MATLABPATH:$DEST_DIR/matlab\n\n\nDocumentation\n=============\n\nDocumentation is also available online: http://yaafe.github.io/Yaafe/ (mirror:  http://yaafe.sourceforge.net/)\n\nTo build documentation, you need Sphinx.\nBefore building documentation, you should set your environment correctly so that sphinx builds documentation\nwith automatic features documentation.\n\nTo build documentation, just run ``make doc_python`` in the ``build`` directory. Documentation is built in ``doc/doc_python/html``.\n\nLicense\n=======\n\nYAAFE is released under the version 3 of the GNU Lesser General Public License. Read COPYING and COPYING.LESSER for\nmore details. The user should also read DISCLAIMER before linking with optional libraries which have different license policy.\n\nSupport\n=======\n\nTo get help with YAAFE, use the mailing-list yaafe-users@lists.sourceforge.net (registration\nat https://lists.sourceforge.net/lists/listinfo/yaafe-users ).\n\n\nCredits\n=======\n\nYaafe was first developed at `Telecom Paristech / AAO Team \u003chttp://www.tsi.telecom-paristech.fr/aao/en/\u003e`_. It uses several great open-source projects like `Eigen \u003chttp://eigen.tuxfamily.org/\u003e`_, `Smarc \u003chttp://audio-smarc.sourceforge.net/\u003e`_, `libsndfile \u003chttp://www.mega-nerd.com/libsndfile/\u003e`_, `mpg123 \u003chttp://www.mpg123.de/\u003e`_, `HDF5 \u003chttp://www.hdfgroup.org/HDF5/\u003e`_.\n\nIf you want to cite Yaafe in a publication, please see `CITATION \u003cCITATION.rst\u003e`_.\n","funding_links":[],"categories":["Computer Audition","C++","Audio Related Packages"],"sub_categories":["NLP","Others"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYaafe%2FYaafe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FYaafe%2FYaafe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FYaafe%2FYaafe/lists"}