GithubHelp home page GithubHelp logo

road2018 / percepnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jzi040941/percepnet

0.0 1.0 0.0 32.56 MB

(Work In Progress) Unofficial implementation of PercepNet: A Perceptually-Motivated Approach for Low-Complexity, Real-Time Enhancement of Fullband Speech

License: BSD 3-Clause "New" or "Revised" License

Python 30.80% C++ 37.32% C 24.00% Jupyter Notebook 5.68% Shell 1.54% CMake 0.65%

percepnet's Introduction

PercepNet

Unofficial implementation of PercepNet: A Perceptually-Motivated Approach for Low-Complexity, Real-Time Enhancement of Fullband Speech described in https://arxiv.org/abs/2008.04259

https://www.researchgate.net/publication/343568932_A_Perceptually-Motivated_Approach_for_Low-Complexity_Real-Time_Enhancement_of_Fullband_Speech

Todo

  • pitch estimation
  • Comb filter
  • ERBBand c++ implementation
  • Feature(r,g,pitch,corr) Generator(c++) for pytorch
  • DNNModel pytorch
  • DNNModel c++ implementation
  • Pretrained model
  • Postfiltering

Requirements

  • CMake
  • Sox
  • Python>=3.6
  • Pytorch

Build & Training

This repository is tested on Ubuntu 20.04(WSL2)

  1. setup CMake build environments
sudo apt-get install cmake
  1. make binary directory & build
mkdir bin && cd bin
cmake ..
make -j
cd ..
  1. feature generation for training with sampleData
bin/src/percepNet sampledata/speech/speech.pcm sampledata/noise/noise20db.raw 4000 test.output
  1. Convert output binary to h5
python3 utils/bin2h5.py test.output training.h5
  1. Training
python3 rnn_train.py
  1. Dump weight from pytorch to c++ header
python3 dump_percepnet.py model.pt
  1. Inference
cd bin
cmake ..
make -j1
cd ..
bin/src/percepNet_run test_input.pcm percepnet_output.pcm

SampleData

clean speech - VCTK 48k wav https://datashare.is.ed.ac.uk/handle/10283/2791 (clean_train_set)

noise data - DEMAND 48k wav https://zenodo.org/record/1227121#__sid=js0 (*.48k.zip)

Acknowledgements

@jasdasdf, @sTarAnna, @cookcodes, @xyx361100238, @zhangyutf, @TeaPoly, @rameshkunasi, @OscarLiau, @YangangCao, Jaeyoung Yang

IIP Lab. Sogang Univ

Reference

https://github.com/wil-j-wil/py_bank

https://github.com/dgaspari/pyrapt

https://github.com/xiph/rnnoise

https://github.com/mozilla/LPCNet

percepnet's People

Contributors

cookcodes avatar jzi040941 avatar teapoly avatar

Watchers

 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.