GithubHelp home page GithubHelp logo

tonytonyfly / rnnaec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shichaog/rnnaec

0.0 0.0 0.0 484 KB

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

Makefile 0.49% Shell 0.36% M4 1.93% C 93.33% C++ 2.09% Python 1.79%

rnnaec's Introduction

My book

天猫购买链接

京东购买链接

RNNAec is a echo suppression library based on a recurrent neural network. I refered from RNNnoise Open Source Project.

To compile, just type: % ./autogen.sh % ./configure % make

Optionally: % make install

While it is meant to be used as a library, a simple command-line tool is provided as an example. It operates on RAW 16-bit (machine endian) mono PCM files sampled at 16 kHz. It can be used as:

./examples/rnnaec_demo <denoised && aeced output>

The output is also a 16-bit raw PCM file.

To Training for your own model, see next steps: %cd src && ./compile && cd - %./src/deecho_training dataset/rnn_far.pcm dataset/rnn_near.pcm dataset/aec_noise_far.pcm dataset/aec_noise_near.pcm 10000000 out.f32

%python ./training/bin2hdf5.py out.f32 XXXXX 138 training.h5

%python ./training/rnn_train.py training.h5

%python training/dump_rnn.py final_weights.hdf5 ./src/rnn_data.c rnn_data.h orig

%make clean & make %./examples/rnnaec_demo out.pcm

Next to research:

  1. Use this RNNAec as a NLP(Non-Linear Processing) module, LP(Linear Processing) module can use (speex or webrtc).
  2. NLP-RNNAec used to improve double-talk performance. Model based method LP(signal process) are more general for various devices and environment.
  3. Training dataset can add real captured, instead of just use clean speech and noise data(As above training example)
  4. This RNNAec can have denoise effect, Network layer may change as needed.
  5. Band may change as need.(I think should change)
  6. Pitch filter(I think use full band can replace this module, but computational complexity also rise)

If you like this repo, Please click star!!!

rnnaec's People

Contributors

shichaog 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.