All Projects → fgnt → Nara_wpe

fgnt / Nara_wpe

Licence: mit
Different implementations of "Weighted Prediction Error" for speech dereverberation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Nara wpe

Surfboard
Novoic's audio feature extraction library
Stars: ✭ 318 (+20%)
Mutual labels:  audio, audio-processing, signal-processing
Sincnet
SincNet is a neural architecture for efficiently processing raw audio samples.
Stars: ✭ 764 (+188.3%)
Mutual labels:  audio, audio-processing, signal-processing
Edsp
A cross-platform DSP library written in C++ 11/14. This library harnesses the power of C++ templates to implement a complete set of DSP algorithms.
Stars: ✭ 116 (-56.23%)
Mutual labels:  audio, audio-processing, signal-processing
Emotion Classification From Audio Files
Understanding emotions from audio files using neural networks and multiple datasets.
Stars: ✭ 189 (-28.68%)
Mutual labels:  audio, audio-processing
Img Encode
Encode an image to sound and view it as a spectrogram - turn your images into music
Stars: ✭ 157 (-40.75%)
Mutual labels:  audio, audio-processing
Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+728.3%)
Mutual labels:  audio, audio-processing
Noise reduction
Speech noise reduction which was generated using existing post-production techniques implemented in Python
Stars: ✭ 130 (-50.94%)
Mutual labels:  audio, audio-processing
FluX
A convenient way of processing digital signals in F#
Stars: ✭ 17 (-93.58%)
Mutual labels:  signal-processing, audio-processing
Mwengine
Audio engine and DSP for Android, written in C++ providing low latency performance in a musical context, supporting both OpenSL and AAudio.
Stars: ✭ 190 (-28.3%)
Mutual labels:  audio, audio-processing
DDCToolbox
Create and edit DDC headset correction files
Stars: ✭ 70 (-73.58%)
Mutual labels:  signal-processing, audio-processing
RS-MET
Codebase for RS-MET products (Robin Schmidt's Music Engineering Tools)
Stars: ✭ 32 (-87.92%)
Mutual labels:  signal-processing, audio-processing
Dtln
Tensorflow 2.x implementation of the DTLN real time speech denoising model. With TF-lite, ONNX and real-time audio processing support.
Stars: ✭ 147 (-44.53%)
Mutual labels:  audio, audio-processing
Prism Media
Easily transcode media using Node.js 🎶
Stars: ✭ 136 (-48.68%)
Mutual labels:  audio, audio-processing
Scaper
A library for soundscape synthesis and augmentation
Stars: ✭ 186 (-29.81%)
Mutual labels:  audio, audio-processing
Avdemo
Demo projects for iOS Audio & Video development.
Stars: ✭ 136 (-48.68%)
Mutual labels:  audio, audio-processing
Otto
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
Stars: ✭ 2,390 (+801.89%)
Mutual labels:  audio, audio-processing
python-soxr
Fast and high quality sample-rate conversion library for Python
Stars: ✭ 25 (-90.57%)
Mutual labels:  signal-processing, audio-processing
Python-Adaptive-Signal-Processing-Handbook
Python adaptive signal processing tutorials
Stars: ✭ 80 (-69.81%)
Mutual labels:  signal-processing, audio-processing
Audio cat dog classification
Classification of WAV files from cats and dogs
Stars: ✭ 16 (-93.96%)
Mutual labels:  signal-processing, audio-processing
Dawdreamer
Digital Audio Workstation with Python; VST instruments/effects, parameter automation, and native processors
Stars: ✭ 119 (-55.09%)
Mutual labels:  audio, audio-processing

======== 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 2.7, 3.5 and 3.6.
  • 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].