Giter Club home page Giter Club logo

rnnoise's Introduction

RNNoise is a noise suppression library based on a recurrent neural network

Quick Demo application

While it is meant to be used as a library, a simple command-line tool is provided as an example.

build librnnoise & rnnoise_demo with CMake

# mkdir build
# cd build
# cmake ..
# make

It operates on wav and mp3 files, which can be used as:

# ./rnnoise_demo input.wav
# ./rnnoise_demo input.mp3

the output filename is "input_out.wav" or:

specify the output filename

# ./rnnoise_demo input.wav output.wav
# ./rnnoise_demo input.mp3 output.wav

Training Process

Audio feature extract

Build audio feature extraction tool

# cd src
# ./train_compile.sh

Use generated "denoise_training" to get the audio feature array from speech & noise audio clip

# ./denoise_training
usage: ./denoise_training <speech> <noise> <sample count> <output denoised>
# ./denoise_training speech.wav noise.wav 50000 feature.dat
matrix size: 50000 x 87

RNN model traning

Pick feature array to "training" dir and go through the training process

# cd training
# mv ../src/feature.dat .
# python bin2hdf5.py --bin_file feature.dat --matrix_shape 50000x87
# python rnn_train.py
# python dump_rnn.py

Training process will generate the RNN model weight code file (default is rnn_data.c) and layer definition header file (default is rnn_data.h). They can be used to refresh the "src/rnn_data.c", "src/rnn_data.h" and rebuild the rnnoise lib & demo app.

References and Resources:

Donating

If you found this project useful, consider buying me a coffee

Buy Me A Coffee

rnnoise's People

Contributors

jmvalin avatar david8862 avatar cpuimage avatar janx2 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.