GithubHelp home page GithubHelp logo

road2018 / pb_chime5 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fgnt/pb_chime5

0.0 1.0 0.0 619 KB

Speech enhancement system for the CHiME-5 dinner party scenario

License: MIT License

Python 99.33% Makefile 0.29% Shell 0.39%

pb_chime5's Introduction

pb_chime5: Front-End Processing for the CHiME-5 Dinner Party Scenario [pdf]

This repository includes all components of the CHiME-5 front-end presented by Paderborn University on the CHiME-5 workshop [PB2018CHiME5]. Using the baseline backend provided by the challenge organizers on the data enhanced with this multi-array front-end using the default parameters which differ slightly from the original paper a WER of 60.89 % was achieved on the development set. In combination with an acoustic model presented by the RWTH Aachen [Kitza2018] this multi-array front-end achieved the third best results during the challenge with 54.56 % on the development and 55.30 % on the evaluation set.

A later cooperation with Hitachi [Kanda2019] led to WER of 39.94 % on the development and 41.64 % on the evaluation set, using the multi-array front-end presented in this repository.

The best single system WERs with this enhancement are 41.6 % on the development and 43.2 % on the evaluation set reported in [Zorila2019].

The front-end consists out of WPE, a spacial mixture model that uses time annotations (GSS), beamforming and masking:

(System Overview)

The core code is located in the file pb_chime5/core.py. An example script to run the enhancement is in pb_chime5/scripts/run.py and can be executed with python -m pb_chime5.scripts.run with session_id=dev wpe=True wpe_tabs=2.

Challenge website: http://spandh.dcs.shef.ac.uk/chime_challenge/

Workshop website: http://spandh.dcs.shef.ac.uk/chime_workshop/

If you are using this code please cite the following paper (pdf, poster):

@inproceedings{PB2018CHiME5,
  author    = {Boeddeker, Christoph and Heitkaemper, Jens and Schmalenstroeer, Joerg and Drude, Lukas and Heymann, Jahn and Haeb-Umbach, Reinhold},
  title     = {{Front-End Processing for the CHiME-5 Dinner Party Scenario}},
  year      = {2018},
  booktitle = {CHiME5 Workshop},
}

Related work:

The RWTH/UPB System Combination for the CHiME 2018 Workshop (pdf)

@inproceedings{Kitza2018,
  author    = {Kitza, Markus and Michel, Wilfried and Boeddeker, Christoph and Heitkaemper, Jens and Menne, Tobias and Schl{\"u}ter, Ralf and Ney, Hermann and Schmalenstroeer, Joerg and Drude, Lukas and Heymann, Jahn and others},
  title     = {The RWTH/UPB system combination for the CHiME 2018 workshop},
  year      = {2018}
  booktitle = {CHiME-5 Workshop},
}

Guided Source Separation Meets a Strong ASR Backend: Hitachi/Paderborn University Joint Investigation for Dinner Party ASR (pdf, slides)

@Article{Kanda2019,
  author    = {Kanda, Naoyuki and Boeddeker, Christoph and Heitkaemper, Jens and Fujita, Yusuke and Horiguchi, Shota and Nagamatsu, Kenji and Haeb-Umbach, Reinhold},
  title     = {{Guided Source Separation Meets a Strong ASR Backend: Hitachi/Paderborn University Joint Investigation for Dinner Party ASR}},
  year      = {2019},
  booktitle = {Interspeech},
}

An Investigation into the Effectiveness of Enhancement in ASR Training and Test for CHiME-5 Dinner Party Transcription (pdf)

@inproceedings{Zorila2019,
  title     = {An Investigation into the Effectiveness of Enhancement in ASR Training and Test for CHiME-5 Dinner Party Transcription},
  author    = {Zoril\u{a}, C\u{a}t\u{a}lin and Boeddeker, Christoph and Doddipatla, Rama and Haeb-Umbach, Reinhold},
  year={2019},
  booktitle = {2019 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU)},
}

Installation

Does not work with Windows.

Clone the repo with submodules

$ git clone https://github.com/fgnt/pb_chime5.git
$ cd pb_chime5
$ # Download submodule dependencies  # https://stackoverflow.com/a/3796947/5766934
$ git submodule init  
$ git submodule update

Use the environmental variable CHIME5_DIR to direct the repository to your chime5 data:

$ export CHIME5_DIR=/path/to/chime5/data/CHiME5

Install this package and pb_bss

$ pip install --user -e pb_bss/
$ pip install --user -e .

Create the database description file

$ make cache/chime5.json

It is assumed that the folder sacred in this git is the simulation folder. If you want to change the simulation dir, add a symlink to the folder where you want to store the simulation results: ln -s /path/to/sim/dir sacred

Start a testrun with

$ python -m pb_chime5.scripts.run test_run with session_id=dev

Start a simulation with 9 mpi workers (1 scheduler and 8 actual worker)

$ mpiexec -np 9 python -m pb_chime5.scripts.run with session_id=dev

You can replace mpiexec -np 9 with your HPC command to start a MPI program. It scalles up very well and is tested with 600 distributed cores.

FAQ

Q: I ran mpiexec -np 9 python -m pb_chime5.scripts.run with session_id=dev wpe=True wpe_tabs=2 and it generated 9 folders and the estimated duration is around 100 h. Is this right?

A: It is likely that your mpi4py installation does not work. Execute the following command and check if the output is correct:

$ mpiexec -np 3 python -c 'from mpi4py import MPI; print("My worker rank:", MPI.COMM_WORLD.rank, "Total workers:", MPI.COMM_WORLD.size)'
My worker rank: 2 Total workers: 3
My worker rank: 0 Total workers: 3
My worker rank: 1 Total workers: 3

Q: I want to use my own source activity detector. Can you give me a hint where to start?

At the end of pb_chime5/activity_alignment.py is some code how to generate finetuned time annotations from kaldi worn alignments. You have to change the worn_ali_path to worn alignments from kaldi and it will generate files (cache/word_non_sil_alignment/S??.pkl) for finetuned oracle time annotations. Using them for enhancement you have to change the activity_type to path and activity_path to the path of the finetuned time annotations e.g. python -m pb_chime5.scripts.run with activity_type=path activity_path=cache/word_non_sil_alignment.

pb_chime5's People

Contributors

boeddeker avatar jensheit avatar lukasdrude avatar michael-kuhlmann avatar danielhkl avatar tglarner avatar janekebb avatar thequilo avatar raphex24 avatar oliverwalter avatar sw005320 avatar vimalmanohar avatar haeb avatar tobinick-upb avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.