nara-wpe


Namenara-wpe JSON
Version 0.0.9 PyPI version JSON
download
home_pagehttps://github.com/fgnt/nara_wpe
SummaryWeighted Prediction Error for speech dereverberation
upload_time2022-12-22 16:45:10
maintainer
docs_urlNone
authorDepartment of Communications Engineering, Paderborn University
requires_python
licenseMIT
keywords speech
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ========
nara_wpe
========

.. image:: https://readthedocs.org/projects/nara-wpe/badge/?version=latest
    :target: http://nara-wpe.readthedocs.io/en/latest/
    :alt: Documentation Status
    
.. image:: https://travis-ci.org/fgnt/nara_wpe.svg?branch=master
    :target: https://travis-ci.org/fgnt/nara_wpe
    :alt: Travis Status
    
.. image:: https://img.shields.io/pypi/v/nara-wpe.svg
    :target: https://pypi.org/project/nara-wpe/
    :alt: PyPI

.. image:: https://img.shields.io/pypi/dm/nara-wpe.svg
    :target: https://pypi.org/project/nara-wpe/
    :alt: PyPI

.. image:: https://img.shields.io/badge/license-MIT-blue.svg
    :target: https://raw.githubusercontent.com/fgnt/nara_wpe/master/LICENSE
    :alt: MIT License


Weighted Prediction Error for speech dereverberation
====================================================

Background noise and signal reverberation due to reflections in an enclosure are the two main impairments in acoustic
signal processing and far-field speech recognition. This work addresses signal dereverberation techniques based on WPE for speech recognition and other far-field applications.
WPE is a compelling algorithm to blindly dereverberate acoustic signals based on long-term linear prediction.

The main algorithm is based on the following paper:
Yoshioka, Takuya, and Tomohiro Nakatani. "Generalization of multi-channel linear prediction methods for blind MIMO impulse response shortening." IEEE Transactions on Audio, Speech, and Language Processing 20.10 (2012): 2707-2720.


Content
=======

- Iterative offline WPE/ block-online WPE/ recursive frame-online WPE
- All algorithms implemented both in Numpy and in TensorFlow (works with version `1.12.0`).
- Continuously tested with Python 3.6, 3.7, 3.8 and 3.9.
- Automatically built documentation: `nara-wpe.readthedocs.io <https://nara-wpe.readthedocs.io/en/latest/>`_
- Modular design to facilitate changes for further research

Installation
============

Install it directly with Pip, if you just want to use it:

.. code-block:: bash

  pip install nara_wpe

If you want to make changes or want the most recent version: Clone the repository and install it as follows:

.. code-block:: bash

  git clone https://github.com/fgnt/nara_wpe.git
  cd nara_wpe
  pip install --editable .

Check the `example notebook <https://github.com/fgnt/nara_wpe/tree/master/examples>`_ for further details.
If you download the example notebook, you can listen to the input audio examples and to the dereverberated output too.


Citation
========

To cite this implementation, you can cite the following paper::

    @InProceedings{Drude2018NaraWPE,
      Title     = {{NARA-WPE}: A Python package for weighted prediction error dereverberation in {Numpy} and {Tensorflow} for online and offline processing},
      Author    = {Drude, Lukas and Heymann, Jahn and Boeddeker, Christoph and Haeb-Umbach, Reinhold},
      Booktitle = {13. ITG Fachtagung Sprachkommunikation (ITG 2018)},
      Year      = {2018},
      Month     = {Oct},
    }


To view the paper see
`IEEE Xplore <https://ieeexplore.ieee.org/document/8578026>`__ (`PDF <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8578026>`__)
or for a preview see `Paderborn University RIS <https://ris.uni-paderborn.de/publication/11873>`__ (`PDF <https://groups.uni-paderborn.de/nt/pubs/2018/ITG_2018_Drude_Paper.pdf>`__).



Comparision with the NTT WPE implementation
===========================================

The fairly recent John Hopkins University paper (Manohar, Vimal: `Acoustic Modeling for Overlapping Speech Recognition: JHU CHiME-5 Challenge System <https://ieeexplore.ieee.org/abstract/document/8682556>`_, ICASSP 2019) reporting on their CHiME 5 challenge results dedicate an entire table to the comparison of the Nara-WPE implementation and the NTT WPE implementation.
Their result is, that the Nara-WPE implementation is as least as good as the NTT WPE implementation in all their reported conditions.


Development history
====================

Since 2017-09-05 a TensorFlow implementation has been added to `nara_wpe`. It has been tested with a few test cases against the Numpy implementation.

The first version of the Numpy implementation was written in June 2017 while Lukas Drude and Kateřina Žmolíková resided in Nara, Japan. The aim was to have a publicly available implementation of Takuya Yoshioka's 2012 paper.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/fgnt/nara_wpe",
    "name": "nara-wpe",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "speech",
    "author": "Department of Communications Engineering, Paderborn University",
    "author_email": "sek@nt.upb.de",
    "download_url": "https://files.pythonhosted.org/packages/57/1a/167020679cdc66c93a132cd2c1f7370529a33614c37a14f936375c18d0f2/nara_wpe-0.0.9.tar.gz",
    "platform": null,
    "description": "========\nnara_wpe\n========\n\n.. image:: https://readthedocs.org/projects/nara-wpe/badge/?version=latest\n    :target: http://nara-wpe.readthedocs.io/en/latest/\n    :alt: Documentation Status\n    \n.. image:: https://travis-ci.org/fgnt/nara_wpe.svg?branch=master\n    :target: https://travis-ci.org/fgnt/nara_wpe\n    :alt: Travis Status\n    \n.. image:: https://img.shields.io/pypi/v/nara-wpe.svg\n    :target: https://pypi.org/project/nara-wpe/\n    :alt: PyPI\n\n.. image:: https://img.shields.io/pypi/dm/nara-wpe.svg\n    :target: https://pypi.org/project/nara-wpe/\n    :alt: PyPI\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n    :target: https://raw.githubusercontent.com/fgnt/nara_wpe/master/LICENSE\n    :alt: MIT License\n\n\nWeighted Prediction Error for speech dereverberation\n====================================================\n\nBackground noise and signal reverberation due to reflections in an enclosure are the two main impairments in acoustic\nsignal processing and far-field speech recognition. This work addresses signal dereverberation techniques based on WPE for speech recognition and other far-field applications.\nWPE is a compelling algorithm to blindly dereverberate acoustic signals based on long-term linear prediction.\n\nThe main algorithm is based on the following paper:\nYoshioka, Takuya, and Tomohiro Nakatani. \"Generalization of multi-channel linear prediction methods for blind MIMO impulse response shortening.\" IEEE Transactions on Audio, Speech, and Language Processing 20.10 (2012): 2707-2720.\n\n\nContent\n=======\n\n- Iterative offline WPE/ block-online WPE/ recursive frame-online WPE\n- All algorithms implemented both in Numpy and in TensorFlow (works with version `1.12.0`).\n- Continuously tested with Python 3.6, 3.7, 3.8 and 3.9.\n- Automatically built documentation: `nara-wpe.readthedocs.io <https://nara-wpe.readthedocs.io/en/latest/>`_\n- Modular design to facilitate changes for further research\n\nInstallation\n============\n\nInstall it directly with Pip, if you just want to use it:\n\n.. code-block:: bash\n\n  pip install nara_wpe\n\nIf you want to make changes or want the most recent version: Clone the repository and install it as follows:\n\n.. code-block:: bash\n\n  git clone https://github.com/fgnt/nara_wpe.git\n  cd nara_wpe\n  pip install --editable .\n\nCheck the `example notebook <https://github.com/fgnt/nara_wpe/tree/master/examples>`_ for further details.\nIf you download the example notebook, you can listen to the input audio examples and to the dereverberated output too.\n\n\nCitation\n========\n\nTo cite this implementation, you can cite the following paper::\n\n    @InProceedings{Drude2018NaraWPE,\n      Title     = {{NARA-WPE}: A Python package for weighted prediction error dereverberation in {Numpy} and {Tensorflow} for online and offline processing},\n      Author    = {Drude, Lukas and Heymann, Jahn and Boeddeker, Christoph and Haeb-Umbach, Reinhold},\n      Booktitle = {13. ITG Fachtagung Sprachkommunikation (ITG 2018)},\n      Year      = {2018},\n      Month     = {Oct},\n    }\n\n\nTo view the paper see\n`IEEE Xplore <https://ieeexplore.ieee.org/document/8578026>`__ (`PDF <https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8578026>`__)\nor for a preview see `Paderborn University RIS <https://ris.uni-paderborn.de/publication/11873>`__ (`PDF <https://groups.uni-paderborn.de/nt/pubs/2018/ITG_2018_Drude_Paper.pdf>`__).\n\n\n\nComparision with the NTT WPE implementation\n===========================================\n\nThe fairly recent John Hopkins University paper (Manohar, Vimal: `Acoustic Modeling for Overlapping Speech Recognition: JHU CHiME-5 Challenge System <https://ieeexplore.ieee.org/abstract/document/8682556>`_, ICASSP 2019) reporting on their CHiME 5 challenge results dedicate an entire table to the comparison of the Nara-WPE implementation and the NTT WPE implementation.\nTheir result is, that the Nara-WPE implementation is as least as good as the NTT WPE implementation in all their reported conditions.\n\n\nDevelopment history\n====================\n\nSince 2017-09-05 a TensorFlow implementation has been added to `nara_wpe`. It has been tested with a few test cases against the Numpy implementation.\n\nThe first version of the Numpy implementation was written in June 2017 while Lukas Drude and Kate\u0159ina \u017dmol\u00edkov\u00e1 resided in Nara, Japan. The aim was to have a publicly available implementation of Takuya Yoshioka's 2012 paper.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Weighted Prediction Error for speech dereverberation",
    "version": "0.0.9",
    "split_keywords": [
        "speech"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "2b4ccd241515a740df9e13669558a8ae",
                "sha256": "3207bc4668224d6abdfe80feaaa53ceb9f432ca247a1e67b2f47dad2213d13c5"
            },
            "downloads": -1,
            "filename": "nara_wpe-0.0.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2b4ccd241515a740df9e13669558a8ae",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 33545,
            "upload_time": "2022-12-22T16:45:08",
            "upload_time_iso_8601": "2022-12-22T16:45:08.221559Z",
            "url": "https://files.pythonhosted.org/packages/e0/11/195e4ad1a878560729adbf6da914e1721aa22d0b8b5245499f75967b3e2a/nara_wpe-0.0.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "d186ca7792601f174fdc43c2b52c20b6",
                "sha256": "407d340fdfc27b35f9c933f086e0e23be7b3d139b541c66acbfa31c2e7511b32"
            },
            "downloads": -1,
            "filename": "nara_wpe-0.0.9.tar.gz",
            "has_sig": false,
            "md5_digest": "d186ca7792601f174fdc43c2b52c20b6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 34486,
            "upload_time": "2022-12-22T16:45:10",
            "upload_time_iso_8601": "2022-12-22T16:45:10.680794Z",
            "url": "https://files.pythonhosted.org/packages/57/1a/167020679cdc66c93a132cd2c1f7370529a33614c37a14f936375c18d0f2/nara_wpe-0.0.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-12-22 16:45:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "fgnt",
    "github_project": "nara_wpe",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": true,
    "lcname": "nara-wpe"
}
        
Elapsed time: 0.02517s